»ùÓÚ OCI ʵÏÖµÄ oracle ×î¸ßЧdump³ÌÐò
»ùÓÚOCI ʵÏÖµÄ ×î¸ßЧdump³ÌÐò£¬ ±ÈOTL ÒÔ¼°ÆäËûµÄ½Ó¿Ú¶¼¿ìºÜ¶à
ÄÜÖ´ÐÐÈκÎsql , ×Ô¶¯Ê¶±ð×Ö¶ÎÃûºÍ×Ö¶ÎÀàÐÍ£¬½øÐÐÊä³öÊä³ö
/*
* oracle_dump.cpp
*
* Created on: 2010-2-1
* Author: clm971910@gmail.com
*
* ѹËõ
* 4216351 dump done
* ÍêÕû 106 Ãë
* д·Ö¸ô·û 8Ãë
* ѹËõд´ÅÅÌ 34Ãë
* ¶ÁÊý¾Ý 9Ãë
* Êý¾Ý¿â²éѯ 54Ãë
*/
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <getopt.h>
#include <oci.h>
#include <oratypes.h>
#include <ocidfn.h>
#ifdef __STDC__
#include <ociapr.h>
#else
#include <ocikpr.h>
#endif
#include <ocidem.h>
#include "tbZip.h"
using namespace std;
/* =================== macro =====================*/
#define MAX_SELECT_COL_SIZE 1000 /* sqlÖÐ×î´óµÄÁÐÊý */
#define MAX_COLNAME_LEN 54 /* ÁÐÃû×î´ó³¤¶È */
#define MAX_SQL_LINE_SIZE 1024 /* sqlµÄ×î´ó³¤¶È */
#define MBYTE 1024 * 1024 /* 1M µÄ×Ö½ÚÊý */
#define DEFAULT_FETCH_SIZE 1000 /* ÿ´ÎÈ¡µÄ¼Ç¼Êý */
#define MAX_COLDATA_LEN 16 * 1024 /* ÁÐÊý¾ÝµÄ×î´ó³¤¶È */
/*=====================define all struct=======================*/
/* OCI »·¾³ */
typedef struct OCI_ENV
{
OCIEnv *oci_env; /* »·¾³¾ä±ú */
OCISvcCtx *oci_svc; /* ·þÎñÆ÷»·¾³¾ä±ú */
OCIServer *oci_srv; /* ·þÎñÆ÷¾ä±ú */
OCIError *oci_err; /* ´íÎó¾ä±ú */
OCIStmt *oci_stmt; /* Óï¾ä¾ä±ú */
OCISession *oci_session; /* »á»°¾ä±ú */
} OCI_ENV;
/* ÁÐÔªÐÅÏ¢ */
typedef struct COL_META
{
ub2 colType; /* ×Ö¶ÎÀ
Ïà¹ØÎĵµ£º
Õý³£À´Ëµ£¬ÔÚÍê³ÉSelectÓï¾ä¡¢create indexµÈһЩʹÓÃTEMP±í¿Õ¼äµÄÅÅÐò²Ù×÷ºó£¬OracleÊÇ»á×Ô¶¯ÊͷŵôÁÙʱ¶ÎaµÄ¡£µ«ÓÐЩÓкîÎÒÃÇÔò»áÓöµ½ÁÙʱ¶ÎûÓб»ÊÍ·Å£¬TEMP±í¿Õ¼ä¼¸ºõÂúµÄ×´¿ö£¬ÉõÖÁÊÇÎÒÃÇÖØÆôÁËÊý¾Ý¿âÈÔûÓнâ¾öÎÊÌâ¡£Õâ¸öÎÊÌâÔÚÂÛ̳ÖÐÒ²³£±»ÍøÓÑÎʵ½£¬ÏÂÃæÎÒ×ܽáһϣ¬¸ø³ö¼¸ÖÖ´¦Àí·½·¨¡£
......
oracle ÔöÁ¿±¸·Ý½Å±¾
¡¡¡¡OS :RHEL AS 4 oracle 10g
¡¡¡¡0±¸·Ý½Å±¾
¡¡¡¡#!/bin/bash
¡¡¡¡# incremental level 0 backup script
¡¡¡¡source /home/oracle/.bash_profile
¡¡¡¡current_day=`date +%Y%m%d`
¡¡¡¡mkdir /home/oracle/RMANBACKUP/$current_day
¡¡¡¡rman target / <<EOF
¡¡¡¡run
¡¡¡¡{
¡¡¡¡CONFIG ......
ʹÓÃÒ»ÏÂSQL
select *
from T_0303003
order by stock_holder
½øÐÐѡȡÊý¾Ýʱ£¨stock_holderΪ´æ·ÅÖÐÎĵÄ×ֶΣ©£¬½á¹û·¢ÏÖÁ½¿â·µ»ØµÄ¼Ç¼˳Ðò²»Ò»Ö¡£×ÁÄ¥Ö®ºóÓ¦¸ÃΪ×Ö·û¼¯ÎÊÌ⣬һ¸ö¿â×Ö·û¼¯ÎªÏµÍ³Ä¬ÈÏ×Ö·û¼¯£¬ÁíÒ»¸ö¿âΪUTF-8×Ö·û¼¯¡£²éÕÒ×ÊÁϺó·¢ÏÖ£¬¶ÔÓÚÖÐÎÄ×ֶεÄÅÅÐò£¬Ó¦¸ÃÊ¹Ó ......
ºÜ¾ÃûÓÐÓõ½OracleÁË£¬Ç°Ð©ÈÕ×Óµ¥Î»½ÓÁËÒ»¸öOracleÊý¾Ý¿âµÄÏîÄ¿£¬×ÔÈ»ÐèÒª¸´Ï°Ò»Ï£¬ÏÖ½«¸´Ï°¹ý³ÌÖеÄһЩҪµã¼Ç¼ÏÂÀ´£¬ÒÔ±¸²éÔÄ¡£
Ò»¡¢ ±íÁÐÊý¾ÝÀàÐÍ
1¡¢×Ö·û
1) VARCHAR2(n)£¬nÊDZØÐëµÄ£¬ÓÃÓÚ´æ´¢×Ϊ4000¸ö×Ö·ûµÄ×Ö·û´®¡£µ«ËüÊǿɱäµÄ£¬Ö»Ê¹Ó ......