Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

999

积分

1

好友

942

主题
1#
发表于 2013-9-19 22:18:41 | 查看: 4769| 回复: 3
1 ORACLE数据复制方案环境要求
1.1 操作系统环境要求
1.1.1 磁盘要求
Ø  数据库为集群方式。要安装OracleGoldenGate 二进制文件和其他文件到共享阵列。
Ø  数据库为主备HA方式。要安装OracleGoldenGate 二进制文件和其他文件到共享阵列。
Ø  复制软件本身的大小为200MB左右。
Ø  为OracleGoldenGate trails分配足够的磁盘空间,一般与GoldenGate分配到同一文件系统。
Ø  这些trails文件占用的磁盘空间依赖于处理的数据量大小,根据Trail文件的保存期限进行设置。说明如下:

Trail文件可以位于OracleGoldenGate安装的本地驱动器上,它们也可以位于NAS或者SAN设备上。对于存储在源端的那些trails文件,应该有足够的空间处理网络连接失败时的数据累积。在典型配置下,第二个extract进程(datapump)通过网络从本地trail发送数据,当网络连接中断,发送将失败。然而,读事务日志并且写到本地trail的主extract进程将继续。这个extract进程不应该因失败而停止,因此应该有足够的磁盘空间来容纳数据累积。

Ø  在目标端的安装位置与空间建议与源端相同。

估算trail需要的空间的方法

1.    估算网络不可用的最长时间。

2.    估算商业应用程序每小时生成多少事务日志。

3.    使用下面的公式计算需要的磁盘空间

[每小时的日志量] x [宕机小时数] x .4 = trail需要的磁盘空间
这个等式使用百分之四十是因为OracleGoldenGate大约只需要一个事务日志中百分之四十的数据。
注意:这个公式只是一个保守的估算,应该在配置好OracleGoldenGate后,做测试来决定trail文件需要的准确空间。
1.1.2 TCPIP的配置要求
Ø  配置系统使用TCP/IP服务,包括DNS.
Ø  配置运行OracleGoldenGate进程的所有系统的主机名或者IP地址,以及OracleGoldenGate将要连接的系统的主机名或者IP地址。建议使用主机名。
Ø  OracleGoldenGate使用下列TCP/IP 端口:
Manager process 和otherOracle GoldenGate processes通讯端口.
端口范围:默认端口范围是从7840开始或者可以自定义256个其它端口.
具体TCP/IP端口的分配参见国网下发的具体文档。
1.1.3 操作系统用户及权限要求
Ø  在unix上安装OracleGoldenGate ,用户必须有读写Oracle GoldenGate安装目标的权限。
Ø  在windows上安装OracleGoldenGate ,用户必须以Administrator 登录系统。
Ø  OracleGoldenGate 进程需要一个有权限读、写和删除OracleGoldenGate目录下的文件和子目录的操作系统用户。此外,Manager进程用户需要有权限控制OracleGoldenGate进程。
Ø  推荐这些操作系统用户给OracleGoldenGate专用。

1.2 对ORACLE数据库环境的要求
1.2.1 对数据/对象和操作的支持支持的数据类型
Numeric data types
NUMBER
BINARY FLOAT
BINARY DOUBLE
Character data types
CHAR
VARCHAR2
LONG
NCHAR
NVARCHAR2
Multi-byte character types
NCHAR and NVARCHAR2 multi-byte character data types
Multi-byte data stored in CHAR and VARCHAR2 columns
Binary data types
RAW
LONG RAW
Date and timestamp data types
DATE
TIMESTAMP
Large object data types
CLOB
NCLOB
BLOB

XML data types
XMLTypeOracle 9i及以上)

Userdefined types (objects)
GoldenGate 支持UDT(userdefined types)类型,要求源和目标必须有相同的结构,Schema可以不同。

Other supported data types
ROWID
VARRAY
INTERVAL DAY INTERVAL YEAR,要求目标必须大于等于源
不支持的数据类型
Ø  ORDDICOM
Ø  ANYDATA
Ø  ANYDATASET
Ø  ANYTYPE
Ø  BFILE
Ø  MLSLABEL
Ø  TIMEZONE_ABBR
Ø  TIMEZONE_REGION
Ø  URITYPE
Ø  UROWID
支持的对象和操作
  对象
  
  是否支持
  
  说明
  
  Clusters
  
  支持
  
   
  
  Functions
  
  支持
  
   
  
  Indexes
  
  支持
  
   
  
  Packages
  
  支持
  
   
  
  Procedure
  
  支持
  
   
  
  Tables
  
  支持
  
  包括字段,约束
  
  Tablespaces
  
  支持
  
   
  
  Roles
  
  支持
  
   
  
  Sequences
  
  支持
  
   
  
  Synonyms
  
  支持
  
   
  
  Triggers
  
  支持
  
   
  
  Types
  
  支持
  
   
  
  Views
  
  支持
  
   
  
  materialized  views
  
  支持
  
   
  
  Users
  
  支持
  
   
  
数据类型排查脚本
该脚本用于排查现有源数据库中是否用到GoldenGate不支持的数据类型。
                              


下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
2#
发表于 2013-9-19 22:19:30
1.2.2 数据库配置Ø  源数据库必须开启归档模式。
Ø  OracleGoldenGate需要读取数据库的在线和归档日志,需要保留一定时间以内的数据库系统产生的日志,这个时间间隔不要少于数据复制可能落后生产库操作的最长时间。
Ø  对于OracleRAC环境,必须保证GoldenGate能够访问到每个节点存放的归档日志文件。
1.2.3 数据库用户Ø  需要创建一个数据库用户来管理OracleGoldenGate(例如:ggs)。需要连接到一个数据库上的所有Oracle GoldenGate进程可以使用同一用户:
n  Extract(源数据库)   
n  Replicat(目标数据库)
n  DEFGEN(源数据库或目标数据库)
Ø  为了保护数据的安全与精确地监控OracleGoldenGate 进程,不允许其他用户、应用系统,或者进程以OracleGoldenGate数据库用户登录或操作。
Ø  分配系统管理员权限(DBA)给运行Extract的数据库用户。
GRANTDBA TO GGS;

Ø  要运行Replicat至少授予数据库用户如下权限:
n  CONNECT到目标数据库
n  SELECT系统视图目录
n  在目标数据库表可以SELECT,INSERT, UPDATE, 和 DELETE
建议赋予DBA的权限。

2 系统环境现状检查与调整
2.1操作系统现状检查与调整

  
分类 
  
  
项目
  
  
目标
  
  
现状检查
  
  
系统调整步骤
  
  
备注
  
  
操作系统
  
  
磁盘要求
  
  
3.1.1磁盘需求
  
  
1.  主备方式
  
2.  已经分配了磁盘空间
  
  
不需要
  
  
 
  
  
TCPIP网络配置
  
  
3.1.2 TCPIP的配置要求
  
  
1.  满足配置要求
  
  
不需要
  
  
 
  
  
用户和权限
  
  
3.1.3操作系统用户及权限要求
  
  
1.  ORACLE实例用户已经存在
  
2.  还未建立OGG安装目录
  
  
1.  使用数据库实例用户,不需要另外定义新用户
  
2.  由数据库管理员创建GGS软件安装目录:/ggsfs
  
mkdir /ggsfs;
  
修改目录的属主和属组为数据库实例用户及所在的组oracle:dba
  
3.  说明:请确认已按照安装准备要求将OGG所在的文件系统放置在阵列上,可以提高性能和高可用性。
  
  
 
  




2.2ORACLE数据库检查与调整



  
分类 
  
  
项目
  
  
目标
  
  
现状检查
  
  
系统调整步骤
  
  
备注
  
  
数据库准备
  
  
检查源库是否存在不支持的对象
  
  
发现不支持的对象
  
  
1.  检查源数据库
  
参见3.2.1排查脚本
  
  
没有发现不支持的对象。如果发现有不支持的对象,应从OGG参数文件中将该对象删除。
  
  
 
  
  
检查数据库日志参数
  
 
  
  
 确保日志处于归档状态
  
  
1.    连接到ORACLE数据库:
  
2.    SQL> SELECT LOG_MODE FROM V$DATABASE;
  
  
如果没有开启归档模式,按照如下步骤开启归档模式。
  
1.  SQL> SHUTDOWN  IMMEDIATE
  
2.    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST='/U01/archive';
  
3.    SQL> STARTUP MOUNT;
  
4.    SQL> ALTER DATABASE ARCHIVELOG;
  
5.    SQL> ALTER DATABASE OPEN;
  
6.  SQL> ARCHIVE LOG  LIST;
  
  
 
  
  
归档日志路径
  
  
 确认归档日志的路径
  
  
检查归档路径,对于RAC环境必须保证可以访问到每个节点的归档文件。
  

  
 
  
  
检查日志保留策略
  
  
 确保在系统上保留一定时间段内的归档日志
  
  
当前日志的备份策略需要保留一定时间以内的数据库系统产生的日志,这个时间间隔不要少于数据复制可能落后生产库操作的最长时间。
  
  
满足。
  
如果不满足。需要进行调整。
  
  
 
  
  
确认源表的DATA_CAPTURE状态
  
  
确保源表必要的数据可以被同步工具捕获
  
  
确认源数据库是否开启附加日志
  
SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM  V$DATABASE;
  
  
如果没有开启,按照如下步骤开启附加日志。
  
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
  
SQL> SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM  V$DATABASE;
  
  
 
  
  
数据表准备
  
  
去掉目标表的约束
  
  
去掉triggercascade  delete/update约束
  
  
在目标数据库初始化之后,未开启OGG复制进程之前,执行此步骤。
  
  
     
  
     
  
  
 
  




  
 
  

回复 只看该作者 道具 举报

3#
发表于 2013-9-19 22:19:55


3 数据复制方案的部署
3.1 网省端软件安装
1、使用Oracle用户(如非此用户,请自行取代,下同)通过ftp上传GGS软件并解压缩:

             tarzxvf *.gz

             或者分两步解压:

             gunzip*.gz 或 gzip –d*.gz

             tarxvf *.gz

2、创建子目录,上传参数文件
在数据库服务器上创建文件系统:/ggsfs(小写),大小10G(营销系统除外), GoldenGate安装目录统一为:/ggsfs(小写)
     队列文件存放在本地,存放目录为/ggsfs/dirdat
a)    在/ggsfs目录下运行GGS命令行控制界面:
                     ./ggsci
b)   在GGS命令行界面下创建子目录:
                     GGSCI>create subdirs

c)    通过ftp上传参数文件mgr,ext*, dpe*到dirprm文件夹中。

3.2 容灾中心端软件安装
1、使用Oracle用户(如非此用户,请自行取代,下同)通过ftp上传GGS软件并解压缩:

             tarzxvf *.gz

             或者分两步解压:

             gunzip*.gz 或 gzip –d*.gz

             tarxvf *.gz

2、创建子目录,上传参数文件
在数据库服务器上创建文件系统:/ggsfs(小写),大小10G(营销系统除外), GoldenGate安装目录统一为:/ggsfs(小写)
a)    在/ggsfs目录下运行GGS命令行控制界面:
              ./ggsci
b)    在GGS命令行界面下创建子目录:
              GGSCI>create subdirs

c)    通过ftp上传参数文件mgr,rep*到dirprm文件夹中。

3.3 网省端数据链路的配置和启动
1、在源数据库创建GoldenGate用户
sqlplus / as sysdba
sql>create user ggs identified byxxx default tablespace xx(表空间名)temporarytablespace xx(表空间名);
sql>grant dba to ggs;
2、GOLDENGATE进程的配置
a) 配置mgr进程
GGSCI>edit param mgr
GGSCI>start mgr
Manager started.
b) 为需要抽取数据的schema增加trandata
GGSCI>dblogin userid ggs, password xxx
GGSCI>add trandata schema.*
c) 配置源端extract进程
GGSCI>edit param dpeXX
--下面的命令在进行数据库备份之前执行
GGSCI>add ext extXX, tranlog, begin now
         EXTRACT added.
GGSCI>add exttrail /ggsfs/dirdat/XX,ext extXX, megabytes 50
         EXTTRAILadded.
d) 配置源端datapump进程
GGSCI>edit param dpeXX
GGSCI>add ext dpeXX, exttrailsource /ggsfs/dirdat/XX
         EXTRACT added.
GGSCI>add rmttrail /ggsfs/dirdat/XX,ext dpeXX, megabytes 50
         RMTTRAILadded.
3、启动源端进程
a) 启动源端抓取进程:
     GGSCI>starter *
b) 查看源端进程状态:
     GGSCI>infoer *
     RUNNING
     RUNNING
注:若目标端mgr进程未启动,则该步骤无法启动dpe*进程,需等目标端mgr进程启动后再启动。
3.4 容灾中心数据链路的配置和启动
1、在目标数据库创建GoldenGate用户
以管理员用户登录oracle数据库
sqlplus / as sysdba
sql>create user ggs identified byxxx default tablespace xx(表空间名)temporarytablespace xx(表空间名);
sql>grant dba to ggs;
2、配置MGR进程
GGSCI>edit param mgr
GGSCI>start mgr
Manager started.
3、配置检查点
GGSCI>EDIT PARAMS ./GLOBALS
文件名:GLOBALS,内容如下:
CHECKPOINTTABLE ggs.ggschkpt
GGSCI> EXIT
Shell> ggsci
GGSCI> DBLOGIN USERID ggs, PASSWORD xxx
GGSCI> ADD CHECKPOINTTABLE
4、配置目标端复制进程
GGSCI>edit param repXX
GGSCI>add rep repXX, exttrail /ggsfs/dirdat/XX
REPLICAT added.
--下面的命令在进行数据库完全恢复之后执行
GGSCI>start  repXX
REPLICAT REP* starting
5、查看目标端进程状态
     GGSCI>infoer *
     RUNNING

3.5 Oracle RMAN初始化步骤
在数据初始化的过程中,不需要源数据库停机。

注意:
一定要保证所有交易是在extract启动之后开始的再启动备份!
否则,可能某些交易开始早于Extract启动,其数据变化无法捕捉。可以通过查看(g)V$TRANSACTION中的最小的START_TIME,与extract启动时间做对比。如果比extract启动时间时间早就需要再等一段时间,否则就可以开始备份了。

0、清除过期的归档日志
$rman target /
RMAN>
run {
crosscheck backupset;
delete expired backup;
}

1、源端和目标端安装OGG软件,并启动manager
2、源端配置OGG的Extract及DataPump
3、源端启动Extract进程以及DataPump进程
4、使用oracle用户登录,执行rman备份
$rman target /
RMAN>
run {
crosscheck backupset;
delete expired backup;
crosscheck archivelog all;
backup incremental level 0 filesperset 1 format'/u01/oracle/rmanbk/hpdb_full_%s%t%p.dbf' database;
sql 'alter system archive log current';
}

RMAN>
run {
backup format '/u01/oracle/rmanbk/hp_archiveloghp_%s%t%p.dbf'archivelog all delete input;
}
=================================

RMAN>
backup format '/u01/oracle/rmanbk/hpdb_ctlfile_%s%t%p.dbf'current controlfile;
LIST BACKUP OF CONTROLFILE;
List of Backup Sets
=================================

BS Key  Type LVSize       Device Type Elapsed TimeCompletion Time
------- ---- -- ---------- ----------- ---------------------------
72      Incr 0  11M       DISK        00:00:34     01-DEC-10      
        BP Key:72   Status: AVAILABLE   Tag: TAG20101201T185001
        Piece Name:/u01/oracle/rmanbk/hpdb_full_727366278761.dbf
  ControlfileIncluded: Ckp SCN: 218216       Ckp time:01-DEC-10

BS Key  Type LVSize       Device Type Elapsed TimeCompletion Time
------- ---- -- ---------- ----------- ---------------------------
75      Full    11M       DISK        00:00:03     01-DEC-10      
        BP Key:75   Status: AVAILABLE   Tag: TAG20101201T185358
        Piece Name:/u01/oracle/rmanbk/hpdb_ctlfile_757366280381.dbf
  ControlfileIncluded: Ckp SCN: 218562       Ckp time:01-DEC-10

在源机执行
SQL>select * from v$log;
SQL>set line 200

    GROUP#    THREAD# SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- ------------------- ------------- ---------
         1          1         23 104857600          1 NO  CURRENT                 218512 01-DEC-10
         2          1         22 104857600          1 YES ACTIVE                  218422 01-DEC-10
         3          2         17 104857600          1 NO  CURRENT                 218503 01-DEC-10
         4          2         16 104857600          1 YES INACTIVE                218412 01-DEC-10 (*)
获取不活动的归档日志的最后一个SCN号,如果有多个INACTIVE的组,取最大的FIRST_CHANGE#,这里取218412
记录该SCN号

将备份文件,FTP到目标机
========================================
hpux2:/u01/oracle$ ftp 192.168.1.27
Connected to 192.168.1.27.
220 hpux_dr FTP server (Revision 4.0 Version wuftpd-2.6.1Wed Jun 18 07:11:14 GMT 2008) ready.
Name (192.168.1.27:oracle): oracle
331 Password required for oracle.
Password:
230 User oracle logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /u01/oracle/rmanbk
250 CWD command successful.
ftp> lcd /u01/oracle/rmanbk
Local directory now /u01/oracle/rmanbk
ftp> bin
200 Type set to I.
ftp> prompt
Interactive mode off.
ftp> mput hp*

===============================================

回复 只看该作者 道具 举报

4#
发表于 2013-9-19 22:20:16


5、使用oracle用户登录目标机执行恢复
在目标机建立相同的目录结构,并正确设置:ORACLE_BASE,ORACLE_HOME,ORACLE_SID环境变量。
拷贝源机init{ORACLE_SID}.ora文件到目标机
cp $ORACLE_HOME/dbs/initorcl.ora  目标机对应目录
生成口令文件或者copy$ORACLE_HOME/dbs/PWD{ORACLE_SID}

6、启动数据库到nomount状态
sqlplus '/ as sysdba'
SQL>startup nomount

7、启动RMAN恢复控制文件
rman target /
RMAN>restore controlfile from'/u01/oracle/rmanbk/hpdb_ctlfile_757366280381.dbf';

8、将数据库更改为mount状态
sqlplus '/ as sysdba'
SQL>alter database mount;

9、启动RMAN恢复数据库

rman target /
RMAN>restore database;

RMAN> list backup;
查找最小的SCN号,推荐使用上面记录的SCN号,例如:218412
RMAN>
run
{
   set archivelogdestination to '/u01/arch';
   SET UNTIL SCN218412;   
   RECOVER DATABASE;
   --SHUTDOWNIMMEDIATE;
}
9-1、(备选)如果源端为RAC,目标端为单机,需将目标机改为单机模式
删除多余的redolog group
SQL> select THREAD#, STATUS, ENABLEDfrom v$thread;
   THREAD# STATUS ENABLED
---------- ------ --------
         1 OPEN  PUBLIC
         2 CLOSEDPRIVATE
SQL> select group# from v$log whereTHREAD#=2;

    GROUP#
----------
         4
         5
         6

SQL> alter database disable thread 2;

Database altered.

SQL> alter database drop logfile group 4;
alter database drop logfile group 4
*
ERROR at line 1:
ORA-00350: log 4 of instance racdb2 (thread2) needs to be archived
ORA-00312: online log 4 thread 2:'/u01/oracle/oradata/ractest/log/redo04.log'

SQL> alter database clear unarchivedlogfile group 4;

Database altered.

SQL> alter database drop logfile group 4;

Database altered.

SQL> alter database drop logfile group 5;

Database altered.

SQL> alter database drop logfile group 6;

Database altered.

SQL> select THREAD#, STATUS, ENABLED fromv$thread;

   THREAD# STATUS ENABLED
---------- ------ --------
         1 OPEN  PUBLIC

删除多余UNDO表空间
SQL> show parameter undo;
NAME                               TYPE        VALUE
----------------------------------------------- ------------------------------
undo_management                  string      AUTO
undo_retention                      integer     900
undo_tablespace                     string     UNDOTBS1


SQL> select tablespace_name fromdba_tablespaces where contents='UNDO';
TABLESPACE_NAME
------------------------------
UNDOTBS1
UNDOTBS2
SQL> drop tablespace UNDOTBS2 includingcontents and datafiles;
Tablespace dropped.
如果源数据库为Oracle9i,因为RMAN时不备份TEMP表空间,需重新创建TEMP表空间
SQL> create temporary tablespace TEMP  tempfile'/u01/temp.dbf' size 500M;
Tablespace created.
SQL> alter databasedefault temporary tablespace TEMP;
Database altered.


10、目标端打开数据库
alter database open resetlogs;

11、将目标数据库的触发器及约束禁止掉
脚本参见4.2节中“去掉目标表的约束”

12、目标端启动Replicat进程
start replicat,aftercsn218412
3.6 Oracle EXPDP/IMPDP初始化步骤
在数据初始化的过程中,不需要源数据库停机。
1、源端和目标端安装OGG软件,并启动manager
2、源端配置OGG的Extract及DataPump
3、源端启动Extract进程以及DataPump进程
4、创建directory用于执行数据泵操作
--directory path for store dump file
CREATE OR REPLACE DIRECTORY DATA_PUMPAS 'E:\OGG\data';
grant read ,write on DIRECTORYDATA_PUMP to ggs ;
--users to execute expdp
grant read ,write on DIRECTORYDATA_PUMP to sglaw ;
5、源端获取数据库当前的SCN
SQL> selectdbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 3079975
注意:
一定要保证所有交易是在extract启动之后开始的,再选这个SCN
否则,可能某些交易开始早于Extract启动,其数据变化无法捕捉。可以通过查看(g)V$TRANSACTION中的最小的START_TIME,与extract启动时间做对比。如果比extract启动时间时间早就需要再等一段时间,否则就可以开始备份了。

6、源端数据导出
在源端OS系统中执行数据导出,导出用户名、dmp文件名自行修改,导出完成后ftp至目标端datapump目录
expdp sglaw/sglawdirectory=DATA_PUMP dumpfile=<dp_sglaw.dmp> flashback_scn=<scn>
--以下在目标端执行
7、创建directory用于执行数据泵操作,同时给ggs以及导入用户赋权
--directory pathfor store dump file
CREATE OR REPLACEDIRECTORY DATA_PUMP AS '/ggsfs/data';
grant read ,writeon DIRECTORY DATA_PUMP to ggs ;
grant read ,writeon DIRECTORY DATA_PUMP to <sglaw>;
8、目标端导入数据
--- 以下操作在OS中执行,具体用户名与导入dmp文件名视具体情况而定
impdp sglaw/sglawDUMPFILE=DATA_PUMP:DP_SGLAW.DMP
9、将目标数据库的触发器及约束禁止掉
脚本参见4.2节中“去掉目标表的约束”
10、目标端启动复制进程
GGSCI > start repa3,aftercsn 3079975

3.7 检查各个进程的状态和报告

GGSCI > view ggsevt
GGSCI > info er *
GGSCI > status er *

GGSCI > view report extXX
GGSCI > view report dpeXX
GGSCI > view report repXX


3.8设置进程自动重启及HA切换
针对网络中断、数据库停机等异常情况,可在GOLDENGATETDM软件的mgr进程       参数文件中设置自动重启参数,在无需人工干预的情况下重启抽取及复制进程。
     mgr参数文件如下:
     port7809
     --autostarter *
     autorestarter *, waitminutes 3, retries 15

在HA环境下,需要在HA脚本中添加启动GoldenGate的命令:
sh start_mgr.sh
脚本start_mgr.sh的内容:
cd /ggsfs/dirpcs
rm -f *
cd /ggsfs
./ggsci << EOF

startmgr

EXIT
EOF
详细内容参见附件
4 GoldenGate参数文件样例
4.1 源端参数文件
4.1.1 manager参数文件文件名:mgr.prm,内容如下:
PORT 7839
DYNAMICPORTLIST 7840-7914
AUTOSTART ER *
AUTORESTART ER *, WAITMINUTES 2, RETRIES 5
PURGEOLDEXTRACTS /ggsfs/dirdat/*, USECHECKPOINTS, minkeepdays 7
4.1.2 extract参数文件文件名:exee.prm,内容如下:
EXTRACT exee
SETENV (ORACLE_SID ="<SID>")
SETENV(ORACLE_HOME=/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG ="AMERICAN_AMERICA.ZHS16GBK")
--如果使用tnsname,可以不设置上面的ORACLE_SID环境变量
USERID ggs@gg,PASSWORD xxx
WARNLONGTRANS 2h, CHECKINTERVAL 3m
--如果是RAC环境,需要增加下面一行
--TRANLOGOPTIONS altarchivelogdest primaryinstance src1 /arch1, altarchivelogdest instance src2 /arch2
FETCHOPTIONS NOUSESNAPSHOT
grouptransops 20000
exttrail ./dirdat/ee, megabytes 500
discardfile ./dirrpt/ee.dsc,append,megabytes 50
dynamicresolution
--抽取哪些表,依次增加到下面
table TEST.CZ2;   
4.1.3 datapump参数文件文件名:dpee.prm,内容如下:
EXTRACT dpee
SETENV (ORACLE_SID ="<SID>")
SETENV(ORACLE_HOME=/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG ="AMERICAN_AMERICA.ZHS16GBK")
RMTHOST 192.168.1.7, MGRPORT 7839, compress
RMTTRAIL ./dirdat/ee
PASSTHRU
dynamicresolution
table TEST.CZ2;
4.1.4 生成TABLE LIST脚本--将该脚本输出结果添加到extract和datapump参数文件中即可
set pagesize 0
set feedback off
spool ext_table_list.txt
select 'TABLE '||owner||'.'||table_name||';' from dba_tables where owner='SGLAW'
spool off

4.2 容灾端参数文件
4.2.1 GLOBALS参数文件GGSCI>EDIT PARAMS ./GLOBALS
文件名:GLOBALS,内容如下:
CHECKPOINTTABLE ggs.ggschkpt
GGSCI> EXIT
Shell> ggsci
GGSCI> DBLOGIN USERID ggs, PASSWORD xxx
GGSCI> ADD CHECKPOINTTABLE
4.2.2 manager参数文件文件名:mgr.prm,内容如下:
PORT 7839
DYNAMICPORTLIST 7840-7914
AUTOSTART ER *
AUTORESTART ER *, WAITMINUTES 2, RETRIES 5
PURGEOLDEXTRACTS /ggsfs/dirdat/*, USECHECKPOINTS, minkeepdays 7
4.2.3 replicat参数文件文件名:rpee.prm,内容如下:
REPLICAT rpee
SETENV (ORACLE_SID ="<SID>")
SETENV(ORACLE_HOME=/app/oracle/product/10.2.0/db_1)
SETENV (NLS_LANG ="AMERICAN_AMERICA.ZHS16GBK")
USERID ggs@gg, PASSWORD xxx
--handlecollisions
assumetargetdefs
allownoopupdates
discardfile ./dirrpt/ee.dsc,append,megabytes 500, purge
dynamicresolution

map TEST.CZ2, target TEST.CZ2;
4.2.4 生成MAP脚本-- 生成replicat table list,用于map源与目标表,将该脚本的输出添加到replicat参数文件即可
set pagesize 0
set feedback off
spool rep_table_list.txt
select trim('MAP'||owner||'.'||table_name||' , TARGET '||owner||'.'||table_name||';') fromdba_tables where owner=<'SGLAW'>

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-7 10:00 , Processed in 0.050568 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569