Oracle 10.2.0.5或11.2.0.2或更新的库版本抽取进程配置写法:
EDIT PARAMS EGGTEST1
EXTRACT EGGTEST1
USERID ggs, PASSWORD ggs
EXTTRAIL /ggs/dirdat/st
TRANLOGOPTIONS DBLOGREADER
-- 该配置就是较新的库版本的ASM实例环境配置方法
-- 参数 DBLOGREADER 指通过数据库读取日志和归档
TABLE scott.*;
Oracle 10.2.0.4或11.2.0.1或更早的库版本抽取进程配置方法:
1° 配置ASM实例用户:
# 配置ASM实例的tnsnames:
cat >>$ORACLE_HOME/network/admin/tnsnames.ora<<EOF
ASM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = $(hostname -i))(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = +ASM)
(SID_NAME = +ASM1)
)
)
EOF
# 或:
cat >>$ORACLE_HOME/network/admin/tnsnames.ora<<EOF
ASM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = BEQ)
(PROGRAM = $ORACLE_HOME/bin/oracle)
(ARGV0 = oracle+ASM1)
(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
(ENVS = 'ORACLE_HOME=$ORACLE_HOME/asm,ORACLE_SID=+ASM1'))
(CONNECT_DATA =
(SERVICE_NAME = +ASM)(INSTANCE_NAME = +ASM1)))
EOF
# 测试:
sqlplus sys/oracle@ASM as sysdba
show parameter name;
exit
2° 抽取进程配置文件写法:
EDIT PARAMS EGGTEST1
EXTRACT EGGTEST1
USERID ggs, PASSWORD ggs
EXTTRAIL /ggs/dirdat/st
TRANLOGOPTIONS ASMUSER SYS@ASM, ASMPASSWORD oracle
-- 该配置就是在老版本库中配置ASM用户的方法
TABLE scott.*;
简单总结:
对于较新的Oracle10g和11g版本(10.2.0.5和11.2.0.4之后的版本)
OGG通过连接数据库实例来从ASM盘组中读取归档
相较于原来直接访问ASM实例来读取归档的方式更高效
如果库版本是10.2.0.4以及11.2.0.1或更早版本
需要为抽取进程配置一个具有sysdba权限的ASM实例用户
用于抽取进程登录到ASM实例,读取redo或归档
可以直接在抽取进程配置文件中指定ASM用户名和明文密码
但是最好使用加密工具对密码进行加密,然后在配置文件中使用密文
尽管在较新的Oracle版本中不需要为抽取进程配置专门ASM用户
但是推荐配置该ASM用户,当库不可用的时候也可以通过该ASM用户持续抽取归档:
TRANLOGOPTIONS DBLOGREADER
-- TRANLOGOPTIONS ASMUSER SYS@ASM, PASSWORD *****
在抽取进程配置文件中以注释的方式配置ASM用户
当库不可用但是还有归档需要从ASM实例抽取的时候,打开注释重启抽取进程
[TOC]