Oracle to postgresql

Oracle to postgresql

源端操作系统配置

配置操作系统用户

useradd ogg
usermod ogg -g dba -G oinstall,asmadmin,asmoper,asmdba

配置操作系统环境变量

su - ogg
cat >> ~/.bash_profile << EOF
export ORACLE_SID=citdb
export ORACLE_UNQNAME=citdb
export OGG_HOME=/u01/app/ogg
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1
export PATH=\$ORACLE_HOME/bin:\$OGG_HOME:\$PATH
export TNS_ADMIN=\$ORCLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:
export CVUQDISK_GRP=dba
export DISPLAY=192.168.10.101:0.0
 
EOF
source ~/.bash_profile

创建安装目录

mkdir -p /app/ogg/oggsc
chown -R ogg:ogg /app/ogg/
mkdir -p /u01/app/ogg
chown -R ogg:ogg /u01/app/ogg

设定密码

passwd ogg

安装依赖包

yum install unzip  xdpyinfo -y

Oracle 数据库配置

数据库准备

配置tns

cat >> $ORACLE_HOME/network/admin  << EOF
CITDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 11g)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb)
    )
  )
EOF
cat >> $ORACLE_HOME/network/admin  << EOF
CITDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 11g)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb)
    )
  )
EOF

启用数据库最小附加日志


SELECT supplemental_log_data_min, force_logging FROM v$database;
-- 增加附加日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
-- 切换日志
ALTER DATABASE FORCE LOGGING;
SELECT supplemental_log_data_min, force_logging FROM v$database;
-- 切换日志
ALTER SYSTEM SWITCH LOGFILE;

开启归档


shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

开启强制loging

alter database force logging;

数据库用户准备

create tablespace ggadmin;
create user ggadmin identified by ggadmin default tablespace ggadmin;


BEGIN  
dbms_goldengate_auth.grant_admin_privilege 
(  grantee => 'GGADMIN',  privilege_type => 'CAPTURE',  grant_select_privileges => TRUE,  do_grants => TRUE); 
END;
/


grant  CREATE SESSION,CONNECT,RESOURCE,ALTER ANY TABLE,ALTER SYSTEM,CREATE TABLE,SELECT ANY DICTIONARY to GGADMIN;


create tablespace ggadmin;
create user c##ggadmin identified by ggadmin default tablespace ggadmin;


ALTER USER C##GGADMIN set container_data=all container=current;

BEGIN  
dbms_goldengate_auth.grant_admin_privilege 
(  grantee => 'C##GGADMIN',  privilege_type => 'CAPTURE',  grant_select_privileges => TRUE,  do_grants => TRUE,  container => 'ALL'  ); 
END;
/

grant  CREATE SESSION,CONNECT,RESOURCE,ALTER ANY TABLE,ALTER SYSTEM,CREATE TABLE,SELECT ANY DICTIONARY to C##GGADMIN;

打开复制参数

alter system set ENABLE_GOLDENGATE_REPLICATION=true;

安装OGG 软件

  1. 把下载好的ogg 安装包解压到特定目录.
  2. Change directories to the new Oracle GoldenGate directory.
  3. 进入目录到新的OGG 目录
  4. 运行
GGSCI
./runInstaller -silent -nowait -responseFile   /app/ogg/soft/fbo_ggs_Linux_x64_shiphome/Disk1/response/oggcore.rsp

绝对路径.
5. 创建子目录

CREATE SUBDIRS

6 . 退出GGSCI

EXIT

目标端操作系统配置

Oracle 端 安装OGG

postgresql 端 安装 postgres