开启第二归档路径(可选)
alter system set log_archive_dest_2=’location=/archive_2OPTIONAL’ scope=spfile;
alter system archive log start tolog_archive_dest_2; 查看第二归档日志是否生效(重启数据库)
show parameter archive;
查看当前数据库forcelogging的状态
select force_logging from v$database; 开启forcelogging
alter database force logging; 1.3创建goldengate管理用户,并赋予相关权限
创建管理用户的表空间
create tablespace tbs_ggmgr datafiel ‘/u01/app/oracle/goldengate/ggmgr.dbf’size 50M autoextend on; 创建goldengate管理用户
create user ggmgr identified by oracledefault tablespace tbs_ggmgr temporary tablespace TEMP quota unlimited ontbs_ggmgr; 赋予ggmgr相关权限(想简单的话,可以赋予DBA权限)
grant CONNECT,RESOURCE to ggmgr;
grant CREATE SESSION,ALTER SESSION toggmgr;
grant SELECT ANY DICTIONARY,SELECT ANYTABLE to ggmgr;
grant CREATE TABLE,ALTER ANY TABLE to ggmgr;
1.4创建测试用户和表
create user test identified by test;
conn test/test;
create table test(
stuid number(8),
stuname varchar2(20),
stupasswd varchar2(20)
);
insert into test values(1,’test1’,’test1);
insert into test values(2,’test2’,’test2’);
commit; 2goldengate安装及参数设置 2.1设置goldengate运行所需的环境变量
编辑oracle的home目录下.bash_profile文件
vi .bash_profile
添加如下内容
exportLD_LIBRARY_PATH=$ORACLE_BASE/goldengate:$ORACLE_HOME/lib 2.2创建goldengate安装目录
通常将goldengate安装在ORACLE_BASE目录下
mkdir –p /u01/app/oracle/goldengate/ 2.3解压并初始化goldengate
将goldengate压缩文件解压到goldengate得安装目录
tar vxf ggs_Linux_x64_ora11g_64bit_v11_1_1_0_0_078.tar
执行./ggsci进入GGSCI
创建目录结构
create subdirs --只在第一次启动执行 2.4 添加trandata
在GGSCI中
dbloign userid ggmgr,password oracle
对要进行复制的表添加表级supplemental logging
add trandata test.*
查看
info trandata test.* 2.5添加并配置mgr进程
edit param mgr
添加如下内容
port 7809
purgeoldextracts ./dirdat/*,usecheckpoints, minkeepfiles 20 2.6添加并配置extract进程
添加一个extract进程
add extract exts100,tranlog,begin now
给extract进程指定trail文件
add exttrail ./dirdat/s1,extract exts100,megabytes 100
配置extract的参数
edit param exts100
添加如下内容(开启第二归档的情况下)
extract exts100
userid ggmgr,password oracle
tranlogoptions archivedlogonly
tranlogoptions altarchivelogdest instanceorcl /archive_2
tranlogoptions altarchivedlogformat%t_%s_%r.dbf
gettruncates
reportcount every 30 minutes,rate
discardfile./dirrpt/exts100.dsc,APPEND,MEGABYTES 100
exttail ./dirdat/s1
table TEST.TEST;
四.镜像端数据库的初始化 1.从源端数据库导出相关的数据和表结构(需要相关权限,可以使用有DBA权限的用户)
exp username/password file=test_1203013.dmpowner=test triggers=n indexes=n log=test_120313.log; 2.将导出的数据文件传到镜像端
可以使用ftp 3.在镜像端创建和源端对应的用户和表空间,要保持表空间的名字一致
create user test identified by test; 4.在镜像端导入数据文件(需要相关权限,可以使用有DBA权限的用户)
imp username/password file=test_120313.dmpfromuser=test touser=test log=test_120313.log;
查看数据是否导入成功 五.镜像端数据库实施 1数据库准备
创建管理用户的表空间
create tablespace tbs_ggmgr datafiel ‘/u01/app/oracle/goldengate/ggmgr.dbf’size 50M autoextend on; 创建goldengate管理用户
create user ggmgr identified by oracledefault tablespace tbs_ggmgr temporary tablespace TEMP quota unlimited ontbs_ggmgr; 赋予ggmgr相关权限(想简单的话,可以赋予DBA权限)
grant CONNECT,RESOURCE to ggmgr;
grant CREATE SESSION,ALTER SESSION toggmgr;
grant SELECT ANY DICTIONARY,SELECT ANYTABLE to ggmgr;
grant CREATE TABLE to ggmgr; 2goldengate安装及参数设置
查看进程状态
info all 六.测试 1.在源端数据库插入数据
insert into test values(3,’test3,’test3’);
commit; 2.生成归档日志
alter system switch logfile; 3.查看镜像端数据库
select * from test;