»ùÓÚ 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; /* ×Ö¶ÎÀ
Ïà¹ØÎĵµ£º
ת×Ô£ºhttp://hong9270503.blog.163.com/blog/static/1272923200916112245844/
ѧϰoracle,×îºÃÊ×ÏÈÁ˽âOracleµÄ¿ò¼Ü¡£ÕâÑù¶ÔOracleÓÐÒ»¸öÕûÌåµÄÈÏʶ£¬ÓиßÎݽ¨ê²µÄ×÷Óá£
1¡¢ÎïÀí½á¹¹£¨ÓÉ
¿ØÖÆÎļþ¡¢Êý¾ÝÎļþ¡¢ÖØ×öÈÕÖ¾Îļþ¡¢²ÎÊýÎļþ¡¢¹éµµÎļþ¡¢¿ÚÁîÎļþ×é³É£©
¡¡¡¡
Ò»¸öÊý¾Ý¿âÖеÄÊý¾Ý´æ´¢ÔÚ´ÅÅÌÉÏÎïÀíÎļþ£¬ ......
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 ......
TO_DATE¸ñʽ(ÒÔʱ¼ä:2007-11-02 13:45:25ΪÀý)
Year:
yy two digits Á½Î»Äê &n ......
½üÆÚ£¬ÔÚ¸ø¿Í»§×öÒ»¸öDemoÒ³ÃæÊ±£¬ÐèÒªÓÃJAVA¶ÁÈ¡OracleÖеÄblobͼƬ×ֶβ¢ÏÔʾ£¬Ôڴ˹ý³ÌÖУ¬Óöµ½Ò»Ð©ÎÊÌ⣬ÀýÈ磺Á¬½ÓOracleÊý¾Ý¿â¶ÁÈ¡blob×Ö¶ÎÊý¾Ý£¬¶ÔͼƬbyteÊý¾Ý½øÐÐËõ·ÅµÈ£»Ìش˼Ǽ£¬¸ø×Ô¼º±¸Íü£¬¸ø´ó¼Ò²Î¿¼¡£
Õû¸öÁ÷³Ì·ÖΪËIJ½£¬Á¬½ÓoracleÊý¾Ý¿â -> ¶ÁÈ¡blobͼƬ×Ö¶Î -> ¶ÔͼƬ½øÐÐËõ·Å ->°ÑͼƬչʾÔÚ ......
º¬Òå½âÊÍ£º
ÎÊ£ºÊ²Ã´ÊÇNULL£¿
´ð£ºÔÚÎÒÃDz»ÖªµÀ¾ßÌåÓÐʲôÊý¾ÝµÄʱºò£¬Ò²¼´Î´Öª£¬¿ÉÒÔÓÃNULL£¬ÎÒÃdzÆËüΪ¿Õ£¬ORACLEÖУ¬º¬ÓпÕÖµµÄ±íÁ㤶ÈΪÁã¡£
ORACLEÔÊÐíÈκÎÒ»ÖÖÊý¾ÝÀàÐ͵Ä×Ö¶ÎΪ¿Õ£¬³ýÁËÒÔÏÂÁ½ÖÖÇé¿ö£º
1¡¢Ö÷¼ü×ֶΣ¨primary key£©£¬
2¡¢¶¨ÒåʱÒѾ¼ÓÁËNOT NULLÏÞÖÆÌõ¼þµÄ×Ö¶Î
˵Ã÷£º
1¡¢µÈ¼ÛÓÚûÓÐÈκ ......