Linux下单机OGG同步oracle11g
- 格式:docx
- 大小:21.06 KB
- 文档页数:8
RAC(ASM)到单机OGG配置案例环境说明:源端DB:操作系统:AIX 7100-02-07-1524数据库:oracle_11.2.0.1.0 RACgoldengate:for_11g_ppc目标端DB:操作系统:windows 7数据库:oracle_11.2.0.1.0goldengate:for_11g_x86注意:本实验是模拟在不同平台同版本上面安装和配置OGG,并实现简单的DML复制,至于复杂的其他方面希望大家能自己多多实验。
作者:姓名:ZhangQYQQ:5056357配置步骤:1、检查源端和目标端正确的IP解析:源端:# cat /etc/hosts# 10.2.0.2 x25sample # x.25 name/address# 2000:1:1:1:209:6bff:feee:2b7f ipv6sample # ipv6 name/address 127.0.0.1 loopback localhost # loopback (lo0) name/address ::1 loopback localhost # IPv6 loopback (lo0)name/address172.16.16.101 zqdb192.169.79.11 zqdb172.16.16.165 oradg192.169.79.12 oradg172.16.16.166 gc1-scan.zqdb172.16.16.168 zqdb-vip172.16.16.169 oradg-vip目标端:C:\Windows\System32\drivers\etc\hosts无特殊配置2、设置LIBPATH,为了安装OGG所用的动态链接库。
如果没有配置这个路径的话,在安装OGG的过程中会报找不到动态链接库的错误,用户可以自己尝试一下。
源端:# su - oraclezqdb:/home/oracle>$vi .profile".profile" 25 lines, 756 charactersPATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.export PATHif [ -s "$MAIL" ] # This is at Shell startup. In normalthen echo "$MAILMSG" # operation, the Shell checksfi # periodically.OGG_HOME=/oracle/ogg/12.1.2ORACLE_BASE=/oracle/ora11gORACLE_HOME=/oracle/ora11g/product/11gORACLE_SID=ora11g1export ORACLE_BASE ORACLE_HOME ORACLE_SIDORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataNLS_LANG=AMERICAN_AMERICA.ZHS16GBKLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/libexport ORA_NLS33 NLS_LANG LD_LIBRARY_PATHPATH=$PATH:$ORACLE_HOME/bin:$OGG_HOMEexport PATHLIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/libexport LIBPATHexport DISPLAY=172.17.2.203:0.0export PS1="`hostname`":'$PWD>$'目标端:无特殊配置3、在源端创建专用的表空间、schema、并授权。
在Linux上安装oracle11g和was7全过程目录一、安装环境 (2)1.1.IP地址 (2)1.2.硬件配置 (2)1.3.文件系统划分 (2)1.4.软件介质 (2)二、安装Linux(RedHat Enterprise Linux 6.4)操作系统 (2)2.1.系统安装过程 (2)2.2.系统参数配置 (19)2.3. yum配置 (19)三、安装Oracle11.2.0.3 (20)3.1.添加oracle用户和组 (20)3.2.创建文件夹并授权 (20)3.3.内存参数设置 (20)3.4.oracle用户环境变量设置 (20)3.5.安装oracle依赖包 (21)3.6. 安装Oracle11.2.0.3软件 (21)四、安装Websphere7.0 (28)4.1.安装过程 (28)4.2.起停脚本 (36)一、安装环境1.1.IP地址1.2.硬件配置内存8G磁盘空间:73G×41.3.文件系统划分Swap 4G/boot 512M/ 200G在/下创建/websphere、/oracle目录1.4.软件介质安装软件、应用包全部放在/home下Linux安装盘(RedHat Enterprise Linux 6.4)Oracle11.2.0.3 for linux 64bitWebsphere7.0NDXmanager4.0二、安装Linux(RedHat Enterprise Linux 6.4)操作系统2.1.系统安装过程--重起后配置界面--重起后出现登录界面2.2.系统参数配置◆关闭防火墙[root@foawas ~]# chkconfig iptables off◆Hosts配置[root@foawas ~]# vi /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.41.130.46 foawas2.3. yum配置将安装光盘整个拷贝到/home/rhel6.4/\cp -R /media/RHEL_6.4 x86_64 Disc 1/* /home/rhel6.4/配置yum[root@foawas yum.repos.d]# vi /etc/yum.repos.d/rhel-source.repo[rhel-source]name=Red Hat Enterprise Linux $releasever - $basearch - Sourcebaseurl=file:///home/rhel6.4/enabled=1gpgcheck=1gpgkey=file:///home/rhel6.4/RPM-GPG-KEY-redhat-release三、安装Oracle11.2.0.33.1.添加oracle用户和组[root@foawas oracle]# groupadd oinstall[root@foawas oracle]# groupadd dba[root@foawas oracle]# useradd -g oinstall -G dba -m oracle[root@foawas oracle]# passwd oracle3.2.创建文件夹并授权[root@foawas oracle]# mkdir /oracle/app[root@foawas oracle]# mkdir /oracle/app/oracle[root@foawas oracle]# mkdir /oracle/app/oradata[root@foawas oracle]# mkdir /oracle/app/oracle/product[root@foawas oracle]# chown -R oracle:oinstall /oracle/app[root@foawas oracle]# ls -ldrwxr-xr-x. 4 oracle oinstall 4096 May 22 16:38 app3.3.内存参数设置[root@foawas ~]# vi /etc/security/limits.conforacle soft nproc 2047oracle hard nofile 65536oracle hard memlock 52428800oracle soft memlock 52428800[root@foawas ~]# vi /etc/sysctl.confkernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 6815744net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.wmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_max = 1048576fs.aio-max-nr = 1048576[root@foawas ~]# sysctl -p3.4.oracle用户环境变量设置[root@foawas /]# su - oracle[oracle@foawas ~]$ vi .bash_profileexport ORACLE_BASE=/oracle/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1export PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport NLS_LANG=AMERICAN_AMERICA.ZHS16GBKexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib:/usr/local/lib3.5.安装oracle依赖包[root@foawas ~]# yum install -y gcc[root@foawas home]# yum install -y libaio-devel[root@foawas home]# yum install -y gcc-c++[root@foawas home]# yum install -y elfutils-libelf-devel[root@foawas home]# yum install -y compat-libstdc++-33下载pdksh-5.2.14-30.x86_64.rpm包到/home目录[root@foawas home]# rpm -ivh /home/pdksh-5.2.14-30.x86_64.rpm3.6. 安装Oracle11.2.0.3软件用oracle用户登录到图形界面,打开terminal[oracle@foawas ~]$cd /home/database[oracle@foawas database]$ ./runInstaller执行脚本[root@ foawas ~]# sh /oracle/app/oraInventory/orainstRoot.shChanging permissions of /oracle/app/oraInventory.Adding read,write permissions for group.Removing read,write,execute permissions for world.Changing groupname of /oracle/app/oraInventory to oinstall.The execution of the script is complete.[root@ foawas ~]# sh /oracle/app/oracle/product/11.2.0/dbhome_1/root.sh Performing root user operation for Oracle 11gThe following environment variables are set as:ORACLE_OWNER=oracleORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1Enter the full pathname of the local bin directory: [/usr/local/bin]:Copying dbhome to /usr/local/bin ...Copying oraenv to /usr/local/bin ...Copying coraenv to /usr/local/bin ...Creating /etc/oratab file...Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.Finished product-specific root actions.验证安装是否完成[oracle@foawas ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 3 08:05:38 2014 Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to an idle instance.SQL>四、安装Websphere7.04.1.安装过程用root用户登录图形界面[root@foawas ~]# cd /home/was7/WAS/[root@foawas WAS]# ./install安装完成输出,安装验证4.2.起停脚本[root@foawas scripts]# vi was_start.sh#!/bin/shcd /websphere/AppServer/profiles/Dmgr01/bin ./startManager.shcd /websphere/AppServer/profiles/AppSrv01/bin ./startNode.sh./startServer.sh server1[root@foawas scripts]# vi was_stop.sh#!/bin/shcd /websphere/AppServer/profiles/AppSrv01/bin ./stopServer.sh server1./stopNode.shcd /websphere/AppServer/profiles/Dmgr01/bin./stopManager.sh。
Linux系统(X64)安装Oracle11g完整安装图⽂教程另附基本操作⼀、修改操作系统核⼼参数在Root⽤户下执⾏以下步骤:1)修改⽤户的SHELL的限制,修改/etc/security/limits.conf⽂件输⼊命令:vi /etc/security/limits.conf,按i键进⼊编辑模式,将下列内容加⼊该⽂件。
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536编辑完成后按Esc键,输⼊“:wq”存盘退出2)修改/etc/pam.d/login ⽂件,输⼊命令:vi /etc/pam.d/login,按i键进⼊编辑模式,将下列内容加⼊该⽂件。
session required /lib/security/pam_limits.sosession required pam_limits.so编辑完成后按Esc键,输⼊“:wq”存盘退出3)修改linux内核,修改/etc/sysctl.conf⽂件,输⼊命令: vi /etc/sysctl.conf ,按i键进⼊编辑模式,将下列内容加⼊该⽂件fs.file-max = 6815744fs.aio-max-nr = 1048576kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576编辑完成后按Esc键,输⼊“:wq”存盘退出4)要使 /etc/sysctl.conf 更改⽴即⽣效,执⾏以下命令。
第一章 Oracle11g (Linux )5.1 O racle11g 简介 5.1.1 Oracle11g 版本Oracle 11g 有多个版本可供选择: 标准版1、标准版和企业版。
所有这些版本都使用相同的通用代码库构建,这意味着企业的数据库管理软件可以轻松地从规模较小的单一处理器服务器扩展到多处理器服务器集群,而无需更改一行代码。
Oracle 数据库11g 企业版还有许多其他增强了性能、可伸缩性、可用性、安全性和可管理性的功能选项。
主要功能汇总简化版10g标准版1标准版企业版CPU 最大数量1 CPU2 Sockets 4 Sockets无限制RAM1GB操作系统允许的最大容量操作系统允许的最大容量操作系统允许的最大容量 数据库规模 4GB无限制无限制无限制 WindowsLinuxUnix支持 64 位5.2安装环境5.2.1硬件环境1.Linux(RedHat6_32bit服务版)操作系统主机一台,IP地址为172.16.165.2422.Linux系统安装Oracle系统要求:内存必须高于1G的物理内存交换区间一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小硬盘5G以上5.2.2软件环境Oracle11g服务器安装包,安装包本地位置为:\\172.16.165.144\工具软件\Oracle11g安装平台为RedHat6_32bit的Linux操作系统5.3安装步骤5.2.1卸载Oracle如果在系统中本身已经安装了Oracle数据库,则在安装之前需要先将其卸载完全方可进行重新安装。
下面为大家讲解Linux操作系统下的Oracle数据库的卸载。
1.使用SQL*PLUS停止数据库。
在桌面上右键选择“打开一个终端”[oracle@redhat 6 ~]$ sqlplus /nologSQL> connect / as sysdbaSQL> shutdown immediateSQL> exit2.停止Listener[oracle@redhat 6 ~]$ lsnrctl stop3.停止HTTP服务[root@redhat6 desktop]# service httpd stop4.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了)5.将安装目录删除[root@redhat6 desktop]# rm -rf /u01/app/oracle/6.将/usr/bin下的文件删除[root@redhat6 desktop]# rm /usr/local/bin/dbhome[root@redhat6 desktop]# rm /usr/local/bin/oraenv[root@redhat6 desktop]# rm /usr/local/bin/coraenv7.将/etc/oratab删除[root@redhat6 desktop]# rm /etc/oratab8.将/etc/oraInst.loc删除[root@redhat6 desktop]# rm /etc/oraInst.loc9.将oracle用户删除(若要重新安装,可以不删除)[root@redhat6 desktop]# userdel –r oracle10.将用户组删除(若要重新安装,可以不删除)[root@redhat6 desktop]# groupdel oinstall[root@redhat6 desktop]# groupdel dba11.将启动服务删除[root@redhat6 desktop]# chkconfig --del dbora到此为止,Oracle11g就从Linux系统中完全的卸载成功了。
Oracle 11g安装手册1、在linux的root用户下建立一个oracle用户//添加用户组及用户groupadd dbagroupadd oinstalluseradd oracle -g oinstall -G dbapasswd oracle//新建目录权限mkdir -p /u01chown -R oracle:dba /u01chmod -R 755 /u01安装时步骤8、9会指向此位置(建议:用户更改/opt/oracle11g)2、将Oracle11g安装文件复制到linux中的指定目录下(/home/oracle/tools)cp /光盘目录/linux.x64_11gR2_database_1of2 /home/oracle/tools3、执行目录中的runInstallsu - oracleLANG=zh_CN.gbk4、开始图像界面安装可能需要export DIAPLAY=:1.0xdpyinfo步骤1:将红框中的内容勾选去掉,点击下一步。
提示“未指定电子邮件地址”点击“是”步骤2:点选“创建和配置数据库”此选项也为默认选项,点击下一步。
步骤3:点击选中“服务器类”,点击“下一步”步骤4:点击选中“单实例数据库安装”,点击下一步。
步骤5:点击选中“高级安装”,点击“下一步”步骤6:选择需要的语言,点击“下一步”,此处客户确认是否需要增加其他语言步骤7:点击选中“企业版(4.29GB)”,点击“下一步”点击上图的“选择选项”,勾选需要的组件,此处全部勾选。
步骤8:此处为默认路径,u01的建立参考第1点orcale用户的建立,点击“下一步”步骤9:此处默认即可,点击“下一步”步骤10:点击选中“一般用途/事务处理”,点击“下一步”步骤11:此处默认,点击“下一步”vpmsdbs步骤12:此处可以设置内存、字符集、安全性、示例方案(可根据用户环境调整),点击“下一步”,内存分配建议至少50%步骤13:此处默认,点击“下一步”步骤14:此处默认处理,点击“下一步”步骤15:点击选中“不启用自动备份”,点击“下一步”步骤16:各帐号口令设定,此处统一使用相同口令,客户现场请在同客户确认口令设定规则步骤17:点击“下一步”步骤18:点击“修补并在此检查”,会产生修补文件,按照提示内容执行即可A、切换到root用户,此处为测试环境执行内容如上述步骤执行完成后依旧存在失败内容,请到linux光盘中寻找对应的rpm文件,复制到linux某一目录中,按下图命令执行步骤19:修补完成后,出现如下信息,点击“完成”步骤20:执行安装过程复制文件,创建实例过程完成后信息,点击“确定”完成后,如出现以下内容,请按照操作步骤,执行完成后,完成安装过程配置监听器1、执行su - oraclesh /u01/app/oracle/product/11.2.0/dbhome_1/bin/netca2、点击选中“监听程序配置”,点击“下一步”3、点击选中“添加”,点击“下一步”4、设定监听程序名,点击“下一步”5、选定协议所有协议,点击“下一步”6、设定标准端口号,点击“下一步”7、设定标准TCP/IP SSL端口号,点击“下一步”8、设置IPC键值,点击“下一步”9、提示是否配置另一个监听程序,点“是”,再点击“下一步”配置数据库1、执行sh /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbca2、点击“下一步”3、点选“创建数据库”,点击“下一步”4、点选“一般用途或事物处理”,点击“下一步”5、设定数据库名及SID,点击“下一步”6、配置管理选项,此处暂时用7、设定口令,点击“下一步”8、网络配置,点击“下一步”9、数据库文件所在位置,点击“下一步”,按照实际的文件规划位置10、恢复配置,点击“下一步”11、数据库内容,点击“下一步”12、初始化参数,点击“下一步”13、数据库存储,点击“下一步”14、创建选项,点击“完成”15、概要显示,点击“确定”16、创建进行17、创建完成,点击“退出”环境变量设置及启动1、设置环境变量在服务器上配置环境变量,编辑vi /etc/profile,在末尾加入以下配置export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1export PATH=.:$ORACLE_HOME/bin:$PATHexport ORACLE_SID=VPMSDBS (数据库SID)保存并退出vi /etc/oratab最后的N 改成Y(否则dbstart和dbshut命令无效)lsnrctl start (启动oracle监听)提示:The listener supports no servicesThe command completed successfully这样启动后远程连接会造成oracle ORA-12514:TNS:listener does not currently know of service requested in connect descriptor-----方案一-------------------------在listener.ora里面添加了一行SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = VENDB)(ORACLE_HOME = /opt/oracle11g/app/oracle/product/11.2.0/dbhome_1)(SID_NAME = VENDB)))-----方案二-------------------------linux上面:[oracle@localhost ~]$ netmgr在下图的Listeners->Database Services中配置要监听的SID及ORACLE_HOME,退出保存。
Linux安装Oracle 11g服务器(图文)应该是最完整的Oracle安装教程了,全程在测试服务器上完成,软件环境:Red Hat Enterprise Linux 6;Oracle 11g (11.1.0.6)1. 从Oracle网站下载linux_11gR1_database_1013.zip,在终端输入unzip linux_11gR1_database_1013.zip进行解压,解压后得到的database文件夹即是Oracle的安装文件。
2. 修改/etc/hosts,添加IP地址和域名的映射关系:#格式如下<IP-address> <fully-qualified-machine-name> <machine-name>#比如127.0.0.1 localhost.localdomain localhost10.16.37.104 ol5-11gr1.localdomain ol5-11gr13. 修改/etc/sysctl.conf,在文件中增加以下内容:kernel.shmall = 2097152kernel.shmmax = 2147483648 # Smallest of -> (Half the size of the physical memory) or (4GB - 1 byte)kernel.shmmni = 4096# semaphores: semmsl, semmns, semopm, semmnikernel.sem = 250 32000 100 128fs.file-max = 65536 # 512 * PROCESSESnet.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default=4194304net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=2621444. 在终端运行/sbin/sysctl -p,使内核参数立即生效。
linux下安装oracle11g64位最简客户端(转)安装环境Linux服务器:SuSe11 sp1 64位Oracle客户端:Oracle11gR2 64位(最简客户端)部署流程1.准备⼯作,⾸先在oracle官⽹下载最新的oracle11g_x86_64客户端下载完成后,完整包如下图所⽰:2.将其复制到linux中,使⽤unzip命令解压。
3.解压后进⼊其Disk1⽬录,可以看到解压内容如下:4.使⽤chmod 755 *改变权限后,安装rpm包,命令rpm –ivh ⽂件名5.根据提⽰,运⾏命令/etc/init.d/oracle-xe configure6.http端⼝指定将⽤于oracle应⽤程序表达默认即可,回车:7.监听端⼝默认即可,回车:8.创建sys和system⽤户名和密码9.是否加载到开机启动项,选择y回车10.等待⼀会,看到如下界⾯,就说明64位oracle11g最简客户端安装完成,下⾯就需要配置了。
11. 下来配置oracle环境变量 oracle默认安装到12. 增加⼀个oracle.profile⽂件,⽤来验证oracle是可以联通oracle服务器。
输⼊:vi oracle.profile增加以下内容:13. 编辑好后,source刚刚编辑好的⽂件,然后我们采⽤直连的⽅式来检验是否安装成功检验命令:sqlplus ⽤户名/密码@oracle服务器IP/服务器实例名如下图就是验证成功。
下章介绍如果让iServer6R来使⽤oracle数据源,如果未使⽤iServer6R⼯具,那么安装oracle客户端到此为⽌。
利⽤刚刚安装好的64位oracle客户端,连接oracle服务器配合linux版本64位iServer6R发布数据库类型的⼯作空间和数据源。
1.配置oracle客户端的本地⽹络服务名,其具体所在⽬录如下:(注意:在Windows中,由于需要使⽤Deskpro或来配图,当oracle服务器为64位时,需要在Windows本地安装32位oracle客户端才能使⽤桌⾯⼯具配图。
Oracle OGG (Oracle GoldenGate) 按条件同步部分字段的配置方法涉及到多个步骤和考虑因素。
以下是一个基本的配置概述,但请注意,具体的配置可能会根据您的具体需求和环境而有所不同。
1.环境准备:
1)确保源端和目标端的数据库都已正确安装和配置。
2)在源端和目标端上安装并配置Oracle GoldenGate软件。
2.定义同步规则:
1)在OGG中,您可以使用MAP参数来定义同步规则。
例如,如果您只想同步某些表的
特定字段,您可以在MAP参数中指定这些表和字段。
2)使用FILTER参数来定义同步条件。
例如,您可以使用SQL查询来指定哪些记录应该被
同步。
3.配置Extract进程:
1)在源端上,配置一个Extract进程来捕获满足您定义条件的更改。
2)指定要捕获的数据库对象(如表和字段)以及捕获条件。
4.配置Replicat进程:
1)在目标端上,配置一个Replicat进程来应用从源端捕获的更改。
2)确保Replicat进程应用更改到正确的目标表和字段。
5.启动和监控进程:
1)启动源端的Extract进程和目标端的Replicat进程。
2)使用OGG提供的监控工具来监控进程的状态和性能。
6.测试和验证:
1)在生产环境之前,在测试环境中进行配置验证。
2)确保同步的数据满足您的预期,并且没有遗漏或错误。
7.调优和维护:
1)根据需要调整OGG的配置参数以优化性能。
2)定期监控和维护OGG环境,确保同步过程的稳定性和可靠性。
利⽤OGG实现Oracle数据库双向同步环境:服务器⼀(RAC实例⼀的任意⼀个节点)IP地址: 10.19.100.91Oracle数据库版本 11.2.0.4Oracle数据库实例名 aegisdbOracle数据库端⼝ 1521待同步数据库schema aegisOGG端⼝ 7809服务器⼆(RAC实例⼆的任意⼀个节点)IP地址: 10.19.100.92Oracle数据库版本 11.2.0.4Oracle数据库实例名 aegisdbOracle数据库端⼝ 1521待同步数据库schema aegisOGG端⼝ 7809Oracle GoldenGate版本12.2.0.1数据库连接串(tnsname.ora⽂件,2台服务器配置上相同):AEGISDB91 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.19.100.91)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = aegisdb)))AEGISDB92 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.19.100.92)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = aegisdb)))在两个服务器的Oracle数据库上各创建表⽤于测试同步$ sqlplus aegis/123456SQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 521:26:362016Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> create table t1(col1 number);Table created.SQL> create table t2(col1 varchar2(10),col2 number);Table created.⼀、安装前准备此步骤需要在两台服务器上都执⾏1. 配置环境变量[oracle@localhost ~]$ more /home/oracle/.bash_profile# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1export ORACLE_SID=aegisdbexport OGG_HOME=/u01/app/oggexport PATH=$OGG_HOME:$ORACLE_HOME/bin:$PATH:$HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:$OGG_HOME1. 创建Oracle GoldenGate软件⽬录mkdir /u01/app/ogg1. 准备安装⽂件$ cd /opt/Oracle/$ unzip fbo_ggs_Linux_x64_shiphome.zip⼆、安装Oracle GoldenGate此步骤需要在两台服务器上都执⾏这⾥使⽤SecureCRT + Xmanager的图形界⾯来安装Oracle GoldenGate。
OGG同构(ORACLE-ORACLE)、异构(ORACLE-MYSQL)同步配置及错误解析环境:11.2.0.3(已安装数据库实例)+OEL5.7192.168.1.55 zlm sid:zlm11g192.168.1.60 zlm2 sid:zlm11g一、安装软件,配置环境,创建相关用户1.1 下载介质并安装OGG软件从官方网址下载最新版OGG FOR ORACLE 11g ON LINUX X86-64软件:/technetwork/middleware/goldengate/downloads/index.html?ssSo urceSiteId=ocomenOracle GoldenGate V11.2.1.0.1 for Oracle 11g on Linux x86-64 (86 MB)介质名称:ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip1.2 把OGG软件包复制到源端oracle主目录,创建安装目录gg11后2次解压到gg11 [oracle@zlm ~]$ lsogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip[oracle@zlm ~]$ cd $OACLE_BASE[oracle@zlm oracle]$ mkdir gg11[oracle@zlm oracle]$ cd gg11[oracle@zlm gg11]$ unzip /home/oracle/ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zi p[oracle@zlm gg11]$ lltotal 223764-rw-rw-r-- 1 oracle oinstall 228556800 Apr 23 2012 fbo_ggs_Linux_x64_ora11g_64bit.ta r-rwxrwxrwx 1 oracle oinstall 220546 May 2 2012 OGG_WinUnix_Rel_Notes_11.2.1.0.1 .pdf-rwxrwxrwx 1 oracle oinstall 93696 May 2 2012 Oracle GoldenGate 11.2.1.0.1 READ ME.doc-rwxrwxrwx 1 oracle oinstall 24390 May 2 2012 Oracle GoldenGate 11.2.1.0.1 READ ME.txt[oracle@zlm gg11]$ tar xvof fbo_ggs_Linux_x64_ora11g_64bit.tar1.3 修改环境变量文件.bash_profile,加入OGG的环境变量export GGHOME=$ORACLE_BASE/gg11export PATH=$ORACLE_BASE/gg11:$ORACLE_HOME/bin:/usr/bin/:$PATH[oracle@zlm gg11]$ . ~/.bash_profile[oracle@zlm gg11]$ ggsciggsci: error while loading shared libraries: libnnz11.so: cannot open shared object file: N o such file or directory由于没有设置LD_LIBRARY_PATH环境变量,所以无法执行ggsci,添加export LD_LIBLARY_PATH=$ORACLE_BASE/gg11:$ORACLE_HOME/lib:$ORACLE_HOME/b in到环境变量.bash_profile并source,或者创建一个link文件:[oracle@zlm gg11]$ ln -s /u01/app/oracle/product/11.2.0/db_1/lib/libnnz11.so -/u01/app/oracle/product/11.2.0/db_1/lib/libnnz10.so1.4 创建OGG专用目录subdirsGGSCI (zlm) 1> create subdirsCreating subdirectories under current directory /u01/app/oracle/gg11Parameter files /u01/app/oracle/gg11/dirprm: already existsReport files /u01/app/oracle/gg11/dirrpt: createdCheckpoint files /u01/app/oracle/gg11/dirchk: createdProcess status files /u01/app/oracle/gg11/dirpcs: createdSQL script files /u01/app/oracle/gg11/dirsql: createdDatabase definitions files /u01/app/oracle/gg11/dirdef: createdExtract data files /u01/app/oracle/gg11/dirdat: createdTemporary files /u01/app/oracle/gg11/dirtmp: createdStdout files /u01/app/oracle/gg11/dirout: created1.5 开启归档模式、强制日志、附加日志查看v$database看这3个参数是否已开启,使用OGG必须是开启状态SQL> select LOG_MODE, SUPPLEMENTAL_LOG_DATA_MIN,FORCE_LOGGING from v$dat abase;LOG_MODE SUPPLEME FOR------------ -------- ---ARCHIVELOG YES YES各参数开启方法:--archivelogSQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;SQL> alter database open;--force loggingSQL> alter database force logging;--supplemental log dataSQL> alter database add supplemental log data;1.6 关闭数据库的recyclebin(10gDDL必须,11gDDL可选)SQL> alter system set recyclebin=off scope=spfile; --同步DDL要求关闭10g中的回收站特性1.7 创建复制用户ogg并授予权限SQL> create user ogg identified by ogg default tablespace users temporary tablespace te mp;SQL> grant connect,resource,unlimited tablespace to ogg;1.8 创建测试用户sender并授予权限SQL> create user sender identified by sender default tablespace users temporary tablesp ace temp;SQL> grant connect,resource,unlimited tablespace to sender;1.9 配置复制的DDL支持(必须SYSDBA登录执行)SQL> grant execute on utl_file to ogg;SQL> @$GGHOME/marker_setup.sql; --建立一个DDL标记表SQL> @$GGHOME/ddl_setup.sql; --INITIALSETUP选项运行ddl_setup.sql 将在数据库中创建捕获DDL语句的Trigger等必要组件(注意,执行时必须断开GGSCI连接,否则报错) SQL> @$GGHOME/role_setup.sql; --建立GGS_GGSUSER_ROLE角色SQL> grant GGS_GGSUSER_ROLE to ogg; --授予给extract group参数中定义的userid用户SQL> @$GGHOME/ddl_enable.sql; --enable ddl捕获触发器注意:下面2个SQL脚本只是为了提高DDL复制性能,不是必须的SQL> @?/rdbms/admin/dbmspool --创建DBMS_SHARED_POOL包SQL> @ddl_pin --通过dbms_shared_pool.keep存储过程将DDLReplication相关的对象keep 在共享池中,以保证这些对象不要reload,提升性能1.10 目标端重复配置以上1.1-1.9全部内容,至此,ORACLE-ORACLE环境搭建完毕二、用EXPDP/IMPDP初始化测试数据(仅限ORACLE-ORACLE)2.1 创建EXPDP/IMPDP使用的directory及其对应的本地目录SQL> set lin 200 pages 999SQL> col owner for a5SQL> col directory_name for a25SQL> col directory_path for a75SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH----- ------------------------- ----------------------------------SYS GGS_DDL_TRACE /u01/app/oracle/diag/rdbms/zlm11g/zlm11g/trace SYS SUBDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/order_e ntry//2002/SepSYS SS_OE_XMLDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/orde r_entry/SYS BACKUP /u01/backupSYS LOG_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/log/SYS MEDIA_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/produ ct_media/SYS XMLDIR /u01/app/oracle/product/11.2.0/db_1/rdbms/xmlSYS DATA_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/sale s_history/SYS DATA_PUMP_DIR /u01/app/oracle/admin/zlm11g/dpdump/SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle/product/11.2.0/db_1/ccr/state SQL> create directory expdump as '/u01/expdp';SQL> select * from dba_directories;OWNER DIRECTORY_NAME DIRECTORY_PATH----- ------------------------- ----------------------------------SYS GGS_DDL_TRACE /u01/app/oracle/diag/rdbms/zlm11g/zlm11g/trace SYS EXPDUMP /u01/expdpSYS SUBDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/order_e ntry//2002/SepSYS SS_OE_XMLDIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/orde r_entry/SYS BACKUP /u01/backupSYS LOG_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/log/ SYS MEDIA_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/produ ct_media/SYS XMLDIR /u01/app/oracle/product/11.2.0/db_1/rdbms/xmlSYS DATA_FILE_DIR /u01/app/oracle/product/11.2.0/db_1/demo/schema/sale s_history/SYS DATA_PUMP_DIR /u01/app/oracle/admin/zlm11g/dpdump/SYS ORACLE_OCM_CONFIG_DIR /u01/app/oracle/product/11.2.0/db_1/ccr/state [oracle@zlm gg11]$ cd /u01/[oracle@zlm u01]$ lsapp backup[oracle@zlm u01]$ mkdir /u01/expdp[oracle@zlm u01]$ lltotal 16drwxr-xr-x 4 oracle oinstall 4096 Jul 13 03:12 appdrwxrwxr-x 2 oracle oinstall 4096 Jul 21 20:26 backupdrwxr-xr-x 2 oracle oinstall 4096 Aug 28 22:11 expdp2.2 登录sender用户并创建测试表testSQL> conn sender/senderConnected.SQL> begin2 for i in 1..3 loop3 insert into test values(i);4 end loop;5 end;6 /PL/SQL procedure successfully completed.SQL> select * from test1;ID----------1232.3 赋予sender读写directory的权限,执行expdp导出测试表testSQL> grant read,write on directory expdump to sender;SQL> ![oracle@zlm ~]$ expdp sender/sender directory=expdump dumpfile=test.dmp logfile=te st.log tables=test[oracle@zlm ~]$ cd /u01/expdp[oracle@zlm expdp]$ lstest.dmp test.log2.4 在目标端创建directory及相应的本地路径,复制dump文件到目标端SQL> create directory impdump as ‘/u01/impdp’;--target[oracle@zlm2 gg11]$ mkdir /u01/impdp[oracle@zlm2 gg11]$ ls /u01app backup impdp--source[oracle@zlm expdp]$ scp test.* zlm2:/u01/impdporacle@zlm2's password:test.dmp 100% 92KB 92.0KB/s 00:00 test.log 100% 1011 1.0KB/s 00:00 2.5 目标端赋予recerver用户权限,执行impdp导入测试表testSQL> grant read,write on directory impdump to sender;SQL> ![oracle@zlm2 ~]$ impdp sender/sender directory=impdump dumpfile=test.dmp tables=t est注意:expdp/impdp必须是在同一个schema下的object,否则不能执行成功,logfile可以无SQL> conn sender/senderConnected.SQL> select * from test;ID----------123此时完成test表的初始化同步,注意:如果非ORACLE-ORACLE方式同步,则只能使用OGG推荐的方式,即配置initial extract来初始化数据,具体可以参考我之前的一篇blog:OGG配置DML单向复制一例及错误分析/aaron8219/article/details/10275431三、不使用PUMP抽取进程的DML同步参数配置(ORACLE-ORACLE)3.1 单向复制3.1.1 创建并配置manager[ogg@zlm gg11]$ ./ggsciGGSCI (zlm) 1> info allGGSCI (zlm) 2> edit params mgrPORT 7809ggate (zlm) 3> start managerManager started.3.1.2 配置源端抽取组ext1GGSCI (zlm) 1> add extract ext1, tranlog, begin nowGGSCI (zlm) 2> add rmttrail ./dirdat/rt, extract ext1GGSCI (zlm) 3> edit params ext1extract ext1userid ogg, password oggrmthost zlm2, mgrport 7809rmttrail ./dirdat/rtddl include mapped objname sender.*;table sender.*;GGSCI (zlm) 4> info all3.1.3 配置目标端同步组3.1.3.1 在目标端添加checkpoint表[ogg@zlm gg11]$ ./ggsciGGSCI (zlm2) 1> edit params ./GLOBALGGSCHEMA oggCHECKPOINTTABLE ogg.ckptGGSCI (zlm2) 2> dblogin userid ogg password oggGGSCI (zlm2) 3> add checkpointtable ogg.ckpt3.1.3.2 创建同步组rep1GGSCI (zlm2) 4> add replicat rep1, exttrail ./dirdat/rt, checkpointtable ogg.ckpt GGSCI (zlm2) 5> edit params rep1replicat rep1ASSUMETARGETDEFSuserid ogg,password oggreperror default,discarddiscardfile ./dirrpt/rep1.dsc, append, megabytes 5DDLmap sender.*, target sender.*;3.1.4 源端开启抽取组ext1,目标端开启同步组rep1--sourceGGSCI (zlm) 1> start mgrGGSCI (zlm) 2> start extract ext1GGSCI (zlm) 3> info all--targetGGSCI (zlm2) 1> start mgrGGSCI (zlm2) 2> start replicat rep1GGSCI (zlm2) 3> info all3.1.5 测试DML同步3.1.5.1 insert--sourceSQL> select * from test2 /ID----------123SQL> insert into test values(4);1 row created.SQL> commit;Commit complete.--targetSQL> select * from test;ID----------1234注意:可以顺利同步,但是查看ext1和rep1的run time messages,都报了如下的错误:WARNING OGG-00869 No unique key is defined for table 'TEST'. All viable columns will be used to represent the key, but may not guarantee uniqueness. KEYCOLS may be used to define the key.Using the following key columns for source table SENDER.TEST: ID.该表没有主键,使用KEYCOLS代替,查询官方说明如下:OGG-00869: {0}Cause: The specified database error occurred, but can be ignored.Action: Contact Oracle Support only if a problem persists.由于这只是个警告,况且对实际的应用也没什么影响,是可以忽略掉的。
Linux(Redhead5/32)安装Oracle Database 11gR2 一. 所需环境1:硬件环境:oracle官方指定要1G以上的内存和1.5G以上的交换空间(这里使用的是虚拟机512M内存)2:软件环境:操作系统:rhel-5-server-i386-dvd.iso3:软件下载:可通过以下两个链接下载Oracle11g/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.zip /otn/linux/oracle11g/R2/linux_11gR2_database_2of2.zip二. 配置系统文件1:添加组和用户启动计算机(最好关掉防火墙),以root身份登录配置。
# groupadd oinstall# groupadd dba# groupadd oper# groupadd asmadmin# useradd -g oinstall -G dba,oper,asmadmin oracle # passwd oracle2:建立安装目录# mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 # chown -R oracle:oinstall /u01# chmod -R 775 /u013:配置内核参数一般情况下,Linux默认的内核参数都不符合Oracle官方给出的内核参数,因此需要把下列内容添加到"/etc/sysctl.conf"文件末尾#Instal Oracle Configfs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576注意:#Instal Oracle Config是注释,你可以不添加进去,但为了更好的说明添加没坏处。
1、oracle linux 6.5.0安装及套件选择用户名root,密码martin使用Basic Server进行安装,并需添加以下套件(1)Base SystemBase System需安装8个套件Base System > BaseBase System > Client management toolsBase System > Compatibility librariesBase System > Hardware monitoring utilitiesBase System > Large Systems PerformanceBase System > Network file system clientBase System > Performance ToolsBase System > Perl SupportOracle Linux 6.5.0上Base System中默认已勾选套件:Base、Hardware monitoring utilities、Large Systems Performance、Network file system client、Performance Tools、Perl Support;Base System中默认无Client management tools套件;Base System中需手动勾选Compatibility libraries套件。
Servers > Server PlatformServers > System administration toolsOracle Linux 6.5.0上Servers中默认已勾选套件:Server Platform;Servers中需手动勾选System administration tools套件。
Desktops > DesktopDesktops > Desktop PlatformDesktops > FontsDesktops > General Purpose DesktopDesktops > Graphical Administration ToolsDesktops > Input MethodsDesktops > X Window SystemOracle Linux 6.5.0上Desktops中默认没有已勾选套件;Desktops中需手动勾选Desktop、Desktop Platform、Fonts、General Purpose Desktop、Graphical Administration Tools、Input Methods、X Window System套件。
Linux下安装Oracle 11gR2单机环境11gR2的安装除了界面发生了重大变化外,其他的变化也不是很大,安装也是超级容易的.安装oracle 11g前期需要做很多配置,主要是安装package。
另外还需要配置用户组合oracle 的环境变量。
这些完成之后就可以安装oracle 11g r2了。
1.启动安装./runInstaller1)如果看不全屏幕的话,调整一下分辨率到1024*768即可。
如果是在VMWare虚拟机环境下安装数据库则需要安装VMWare tool。
2)两张盘要解压到同一个目录下,否则安装过程中可能遇到找不到文件的错误3.对于单机环境直接点Next进入下一步,生产环境的话,可根据自己的需要配置这些帐户4.这里会弹出一个错误,不予理会,点Yes,进入下一步5.选择只安装软件,安装完毕后通过DBCA再创建数据库,然后点Next6.选择单机安装7.选择运行语言,我这里选择了英文和简体中文,然后点Next8.选择企业版9.选择默认的Options即可10.配置oracle的安装路径11.点Yes12.输入Inventory Driectory路径13.点yes14.选择OS Group Name,然后点Next15.系统开始安装检查,在这一步中,如果有缺少的package或空间问题,内核参数配置有问题的话,Oracle会给你一个清晰的日志报告,我这里因为是按照安装手册配置的系统环境,所以没有遇到任何问题.如果遇到内存或者硬盘空间不足的错误可以直接忽略。
对于其他错误也可以先忽略,试着安装。
16.这前面配置如果没有问题的话,点Finish开始安装.17.Setup files结束后,系统会提示你用root用户执行如下脚本18.安装结束,然后可以建库去体验了19.安装完数据之后,在root用户下执行netca(在图形界面下执行),完成监听程序的配置,跟在windows 环境下配置监听程序的操作基本相同,在此不再赘述。
如何在Linux环境下安装Oracle 数据库11g在Linux 上安装Oracle 数据库11g要安装Oracle 软件,必须使用Oracle Universal Installer.1. 在这一安装中,您需要使用DVD 或下载DVD 版本。
在本教程中,将从已下载的版本进行安装。
在DVD 文件解压缩的目录中,打开终端窗口终入以下内容:。
/runInstaller.sh点击查看大图2. 安装的产品为Oracle Database 11g.选定该产品并单击Next.点击查看大图2. 您将通过一个入门级数据库来执行基本安装。
输入orcl 作为Global Database Name 以及oracle 作为Database Password 并确认口令。
然后单击Next.点击查看大图3. 您需要指定Inventory 目录。
位置应该设置为/u01/app/oracle/oraInventory.接受默认的Operating System 级名oinstall.然后单击Next.点击查看大图∙Oracle 数据表分区的策略∙详细介绍Oracle 数据库的聚簇技术∙Oracle 数据库的配置方案完全分析∙在Linux x86 上安装Oracle 数据∙简单讲述oracle 数据库查询原理∙六大方面教您学好Oracle 数据库∙从oracle 数据库读取日期时间,并在∙Ruby on Rails 连接Oracle 数据库∙Oracle 数据库优化的R方法(Method∙oracle 数据分页查询4. 安装程序现在将验证系统是否满足安装和配置所选产品的最低要求。
继续前改正任何报告的错误。
检查成功完成后,单击Next.点击查看大图5. Oracle Configuration Manager 允许您将配置信息与Metalink 帐户相关联。
您可在该窗口上选择启用它。
然后单击Next.点击查看大图4. 安装程序现在将验证系统是否满足安装和配置所选产品的最低要求。
Linux上Oracle11g安装步骤图解安装准备⼯作⽬录下载地址:选择需要的oracle安装⽂件下载联机⽂档:可以下载其PDF⽂档参考(其中的有关Linux安装向导是最权威的安装⼿册)数据库安装硬件配置要求:最⼩内存 1 GB of RAM虚拟内存容量Available RAM Swap Space RequiredBetween 1 GB and 2 GB 1.5 times the size of RAMBetween 2 GB and 16 GB Equal to the size of RAMMore than 16 GB16 GB硬盘空间要求数据库软件硬盘空间需求:Installation Type Requirement for Software Files (GB)Enterprise Edition 3.95Standard Edition 3.88数据⽂件硬盘空间需求:Installation Type Requirement for Data Files (GB)Enterprise Edition 1.7Standard Edition 1.5检查的命令内存# grep MemTotal /proc/meminfo交换空间# grep SwapTotal /proc/meminfo磁盘空间# df -ah平台查看联机⽂档,可以看出Oracle 11g⽀持Linux操作系统下⾯是 X86(32位)上Linux其中Red Hat 4与Oracle Linux 4对应,以及与Cent OS 4对应(版本要对应)通过查看Oracle安装⽂档中列出的Package Requirements可以查看在不同平台上需要的软件包,下⾯列出Asianux 3, Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0的要求,检查下系统是否安装过这些包,如果没在对应的系统光盘查找对应的rpm包并安装。
oracle11gracforlinuxdeletenode(11GRAC节点删除步骤正常。
说明:测试的RAC只2个节点,整体步骤来⾃ORACLE 官⽅⽂档:步骤 3从cluster中删除节点来⾃ORACLE 官⽅⽂档(Deleting a Cluster Node on Linux and UNIX Systems):注意:⼀共两套实验,⼀套是正常删除ogg数据库;⼀套异常删除(orcl),即RAC 节点2服务器DOWN掉极端情况,集群资源RAC2 也相应全部停掉。
RAC2 down 掉只需要执⾏以下步骤删除节点2:第⼀步:1.1或者1.2第⼆步:1.3 删除后验证第三步:2.2.3第四步:3.2.2、3.3.3、3.3.4如果被删除节点2情况介于两种之间,还有活动的集群资源,需要按照⼀步⼀步的⼿动执⾏⽂档中所有步骤(除了3.2.2)。
实验环境情况如下:实验节点名称数据库实例名操作系统数据库版本正常情况删除rac1/rax2orcl1/orcl2Linux 6.X oracle11.2.0.4异常情况删除racdg1/racdg2ogg1/ogg2Linux 6.X Oracle11.2.0.4grid:GRID_HOME 名称为 ORACLE_HOME 路径为:/u01/app/11.2.0/gridoracle:ORACLE_HOME 路径为:/u01/app/oracle/product/11.2.0/dbhome_1操作⼤致步骤删除ORACLE rac 实例删除ORACLE rac软件从cluster中删除节点1、删除ORACLE rac 实例1.1dbca图形界⾯删除查看删除前实例线程状态:正常库实验:异常库实验:Oracle ⽤户dbca例如节点2服务器坏掉,从节点1上执⾏dbca以下为停⽌实例命令(服务器节点2 DOWN掉直接删实例):$ srvctl stop instance -d db_unique_name -n node_name$ srvctl relocate server -n node_name -g Free⼤致步骤如下:后⾯继续……1.2 dbca静默删除官⽅命令模板:dbca -silent -deleteInstance [-nodeList node_name] -gdbName gdb_name -instanceName instance_name -sysDBAUserName sysdba -sysDBAPassword password如删除节点2实例:在好的节点上执⾏:正常的删除:报错如下:查看SCAN_LISTENER 在节点2运⾏处理:我是尝试重启了两台服务器(虚拟机简单粗暴先全部关闭,再启动节点1,最后启动节点2),可以尝试在节点1上启停SCAN_listener, listener,让SCAN_listener 运⾏在节点1。
oracle11ggoldengate搭建(⼀)初学ogg,基本了解ogg原理及架构之后,趁热打铁,搭建⼀个简单的学习环境,以实现⽬标:将sourcedb数据库的2个表:sourceuser.test01和sourceuser.dept通过ogg分别同步到targetdb数据库的targetuser.test01和targetuser.dept表中,要求实现DML(insert、update、delete)同步。
基础环境源端⽬标端操作系统版本redhat 6.7redhat 6.7数据库版本11.2.0.411.2.0.4ogg版本Oracle GoldenGate 11.2.1.0.3 forOracle 11g on Linux x86-64Oracle GoldenGate 11.2.1.0.3 for Oracle 11g on Linux x86-64数据库/实例名称sourcedb/sourcedb targetdb/targetdb(⼀)解压软件(源端和⽬标端执⾏)[oracle@source-node ogg]$ unzip -q V34339-01.zip[oracle@source-node ogg]$ lsfbo_ggs_Linux_x64_ora11g_64bit.tar Oracle GoldenGate_11.2.1.0.3_README.txtOGG_WinUnix_Rel_Notes_11.2.1.0.3.pdf V34339-01.zipOracle_GoldenGate_11.2.1.0.3_README.doc[oracle@source-node ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar(⼆)配置环境变量[oracle@source-node ~]$ vim .bash_profileexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATH:$GG_HOMEexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport GG_HOME=/u01/app/oggalias ggsci='cd $GG_HOME;ggsci'(三)源端数据库配置(3.1)开启归档查看是否开启归档SQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 4Current log sequence 6SQL> alter system set log_archive_dest_1='LOCATION=/archlog';System altered.SQL> alter system set log_archive_format='%t_%s_%r.arc' scope=spfile;System altered.SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 534462464 bytesFixed Size 2254952 bytesVariable Size 390072216 bytesDatabase Buffers 134217728 bytesRedo Buffers 7917568 bytesDatabase mounted.SQL> alter database archivelog;Database altered.SQL> alter database open ;Database altered.(3.2)打开强制⽣成⽇志SQL> select force_logging from v$database;FOR---NOSQL> alter database force logging;Database altered.SQL> select force_logging from v$database;FOR---YES(3.3)打开附加⽇志SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;SUPPLEME--------NOSQL>SQL>SQL> alter database add supplemental log data;Database altered.SQL> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;SUPPLEME--------YES(3.4)修改goldengate参数SQL> show parameter goldenNAME TYPE VALUE------------------------------------ ----------- ------------------------------enable_goldengate_replication boolean FALSESQL> alter system set enable_goldengate_replication=true;System altered.SQL> show parameter goldenNAME TYPE VALUE------------------------------------ ----------- ------------------------------enable_goldengate_replication boolean TRUE(3.5)创建goldengat⽤户创建专属表空间:create tablespace tbs_ogg datafile '/u01/app/oracle/product/11.2.0/db_1/dbs/sourcedb/tbs_ogg01.dbf' size 100m autoextend on next 10m maxsize 30g;创建⽤户:create user ogg identified by ogg default tablespace tbs_ogg;授予权限:grant resource to ogg;grant create session,alter session to ogg;grant select any dictionary to ogg;grant flashback any table to ogg;grant alter any table to ogg;grant select any table to ogg;grant execute on dbms_flashback to ogg;(3.6)创建测试⽤户及数据create user sourceuser identified by sourceuser;grant connect,resource to sourceuser;conn sourceuser/sourceuser--创建表create table test01 (id number,name varchar2(20));--增加主键alter table test01 add primary key(id);--插⼊测试数据insert into test01 values(1,'lijiaman');insert into test01 values(2,'xiaoming');insert into test01 values(3,'xiaohua');--创建表create table dept (deptno number,dname varchar2(14),loc varchar2(13));--增加主键alter table dept add primary key(deptno);--插⼊测试数据insert into dept values(10,'ACCOUNTING','NEW YORK');insert into dept values(20,'RESEARCH','DALLAS');insert into dept values(30,'SALES','CHICAGO');insert into dept values(40,'OPERATIONS','BOSTON');(3.7)导出数据(使⽤数据泵)step1:创建路径$[/home/oracle] mkdir datapump$[/home/oracle] sqlplus sys/passwd as sysdbasql > create or replace DIRECTORY exp_dir as '/home/oracle/datapump'step2:为导出数据的⽤户授权SQL> GRANT READ,WRITE ON DIRECTORY exp_dir TO sourceuser;SQL> GRANT DATAPUMP_EXP_FULL_DATABASE TO sourceuser;step3:执⾏数据导出$[/home/oracle/datapump]expdp sourceuser/sourceuser directory = exp_dir dumpfile = sourcedb_table.dmp logfile = sourcedb_table.log tables = sourceuser.test01,sourceuser.dept;(四)⽬标端数据库配置(4.1)创建goldengat⽤户创建专属表空间:create tablespace tbs_ogg datafile '/u01/app/oracle/product/11.2.0/db_1/dbs/targetdb/tbs_ogg01.dbf' size 100m autoextend on next 10m maxsize 30g;创建⽤户:create user ogg identified by ogg default tablespace tbs_ogg;授予权限:grant resource to ogg;grant create session,alter session to ogg;grant select any dictionary to ogg;grant flashback any table to ogg;grant alter any table to ogg;grant select any table to ogg;grant execute on dbms_flashback to ogg;grant insert any table to ogg;grant update any table to ogg;grant delete any table to ogg;(4.2)创建测试⽤户create user targetuser identified by targetuser;grant connect,resource to targetuser;(4.3)导⼊源端已经导出的数据(初始化数据)step1:创建路径$[/home/oracle] mkdir datapump$[/home/oracle] sqlplus sys/passwd as sysdbasql > create or replace DIRECTORY imp_dir as '/home/oracle/datapump';(2)为导⼊数据的⽤户授权SQL> GRANT READ,WRITE ON DIRECTORY imp_dir TO targetuser;SQL> GRANT DATAPUMP_IMP_FULL_DATABASE TO targetuser;(3)将⽂件拷贝过来(在源端执⾏)cd /home/oracle/datapumpscp sourcedb_table.dmp oracle@192.168.10.12:/home/oracle/datapump(4)执⾏导⼊$[/home/oracle/datapump]impdp targetuser/targetuser directory=imp_dir dumpfile =sourcedb_table.dmp remap_schema=sourceuser:targetuser;(五)源端ogg配置(5.1)创建ogg相关⽬录[oracle@source-node ~]$ cd $GG_HOME[oracle@source-node ogg]$ ggsciOracle GoldenGate Command Interpreter for OracleVersion 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBOLinux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.GGSCI (source-node) 1> create subdirsCreating subdirectories under current directory /u01/app/oggParameter files /u01/app/ogg/dirprm: already existsReport files /u01/app/ogg/dirrpt: createdCheckpoint files /u01/app/ogg/dirchk: createdProcess status files /u01/app/ogg/dirpcs: createdSQL script files /u01/app/ogg/dirsql: createdDatabase definitions files /u01/app/ogg/dirdef: createdExtract data files /u01/app/ogg/dirdat: createdTemporary files /u01/app/ogg/dirtmp: createdStdout files /u01/app/ogg/dirout: created(5.2)配置并启动mgr进程GGSCI (source-node) 2> edit param mgrport 7809dynamicportlist 7840-7845GGSCI (source-node) 3> start mgrManager started.GGSCI (source-node) 4> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING(5.3)开启待同步表的额外⽇志GGSCI (source-node) 6> dblogin userid ogg,password oggSuccessfully logged into database.GGSCI (source-node) 7> add trandata sourceuser.test01Logging of supplemental redo data enabled for table SOURCEUSER.TEST01.GGSCI (source-node) 10> add trandata sourceuser.deptLogging of supplemental redo data enabled for table SOURCEUSER.DEPT.(5.4)配置抽取进程extaGGSCI (source-node) 11> add extract exta,tranlog,begin nowEXTRACT added.GGSCI (source-node) 12> info allProgram Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNINGEXTRACT STOPPED EXTA 00:00:00 00:00:05GGSCI (source-node) 13> add exttrail ./dirdat/ra,extract extaEXTTRAIL added.GGSCI (source-node) 14> edit param extaextract extauserid ogg,password oggsetenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)exttrail ./dirdat/radynamicresolutiongettruncatestable sourceuser.test01;table sourceuser.dept;GGSCI (source-node) 16> start extaSending START request to MANAGER ...EXTRACT EXTA startingGGSCI (source-node) 17> info allProgram Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNINGEXTRACT RUNNING EXTA 00:07:51 00:00:05(5.5)配置投递进程GGSCI (source-node) 21> add extract dpa,exttrailsource ./dirdat/ra EXTRACT added.GGSCI (source-node) 22> edit param dpaextract dpauserid ogg,password oggsetenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)passthrurmthost 192.168.10.12,mgrport 7809rmttrail ./dirdat/ratable sourceuser.test01;table sourceuser.dept;GGSCI (source-node) 23> add rmttrail ./dirdat/ra,extract dpaRMTTRAIL added.GGSCI (source-node) 26> info allProgram Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNINGEXTRACT RUNNING DPA 00:00:00 00:03:46EXTRACT RUNNING EXTA 00:00:00 00:00:05(六)⽬标端ogg配置(6.1)创建ogg相关⽬录[oracle@target-node ~]$ cd $GG_HOME[oracle@target-node ogg]$ ggsciOracle GoldenGate Command Interpreter for OracleVersion 11.2.1.0.3 14400833 OGGCORE_11.2.1.0.3_PLATFORMS_120823.1258_FBO Linux, x64, 64bit (optimized), Oracle 11g on Aug 23 2012 20:20:21Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.GGSCI (target-node) 1> create subdirsCreating subdirectories under current directory /u01/app/oggParameter files /u01/app/ogg/dirprm: already existsReport files /u01/app/ogg/dirrpt: createdCheckpoint files /u01/app/ogg/dirchk: createdProcess status files /u01/app/ogg/dirpcs: createdSQL script files /u01/app/ogg/dirsql: createdDatabase definitions files /u01/app/ogg/dirdef: createdExtract data files /u01/app/ogg/dirdat: createdTemporary files /u01/app/ogg/dirtmp: createdStdout files /u01/app/ogg/dirout: created(6.2)配置并启动mgr进程GGSCI (target-node) 2> edit param mgrport 7809dynamicportlist 7840-7845GGSCI (target-node) 3> start mgrManager started.GGSCI (target-node) 4> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING(6.3)配置ogg检查点GGSCI (target-node) 5> edit param ./globalscheckpointtable ogg.checkpointGGSCI (target-node) 6> dblogin userid ogg,password oggSuccessfully logged into database.GGSCI (target-node) 7> add checkpointtable ogg.checkpointSuccessfully created checkpoint table ogg.checkpoint.(6.4)配置复制进程GGSCI (target-node) 14> add replicat repa,exttrail ./dirdat/ra,checkpointtable ogg.checkpoint REPLICAT added.GGSCI (target-node) 36> edit param repareplicat repasetenv (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)userid ogg,password oggnumfiles 500grouptransops 10000handlecollisionsassumetargetdefsallownoopupdatesdynamicresolutiondiscardfile ./dirrpt/repa_discard.txt,append,megabytes 10map sourceuser.*,target targetuser.*;GGSCI (target-node) 17> start repaSending START request to MANAGER ...REPLICAT REPA startingGGSCI (target-node) 18> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGREPLICAT RUNNING REPA 00:00:00 00:00:02(七)测试ogg复制功能1.在sourceuser.test01表中插⼊数据,发现targetuser.test01中有新数据进⼊;2.在源端执⾏delete from test01并提交,⽬标端targetuser.test01中的数据也全部删除;3.对源表⾮主键列进⾏update操作:update dept set loc='sichuan' where deptno=40,⽬标端也⾃动更新;4.对源表主键列进⾏update操作:update dept set deptno=deptno+1,⽬标端也⾃动更新;【完】。
Linux下单机OGG同步oracle11g DB测试(2013-12-13 10:49:44)一、安装goldengate软件1.测试环境:OS: redhat 6 64bitDB: oracle 11.2.0.3 64bit查看OS和DB版本[oracle@redhat6 ~]$ uname -aLinux redhat6 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64x86_64 GNU/LinuxSQL> select * from v$version where rownum=1;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production1.2.安装OGG[oracle@redhat6 ~]$ cd /u01/ogg[oracle@redhat6 ogg]$unzip ogg112101_fbo_ggs_Linux_x64_ora11g_64bit.zip[oracle@redhat6 ogg]$ tar -xvf fbo_ggs_Linux_x64_ora11g_64bit.tar1.3.添加环境变量[oracle@redhat6 ogg]$ vi /home/oracle/.bash_profileLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport LD_LIBRARY_PATHexport PATH=/u01/ogg:$PATHexport GGATE=/u01/ogg1.4.使用ggsci工具创建目录[oracle@redhat6 ogg]$ ./ggsciOracle GoldenGate Command Interpreter for OracleVersion 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBOLinux, x64, 64bit (optimized), Oracle 11g on Apr 23 2012 08:32:14Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.GGSCI (redhat6) 1> create subdirs以上配置须SOURCE和TARGET端都进行二、配置源(SOURCE)数据库Goldengate通过抓取源端数据库重做日志进行分析,将获取的数据应用到目标端,实现数据同步。
因此,源数据库需要必须处于归档模式,并启用附加日志和强制日志。
(1)归档模式、SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /u01/app/oracle/archlogOldest online log sequence 12Next log sequence to archive 14Current log sequence 14SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;LOG_MODE SUPPLEME FOR------------ -------- ---ARCHIVELOG YES NO(2)强制日志SQL> alter database force logging;Database altered.(3)附加日志SQL>alter database add supplemental log data;SQL> select log_mode,supplemental_log_data_min,force_logging from v$database;LOG_MODE SUPPLEME FOR------------ -------- ---ARCHIVELOG YES YES2.2禁用RecycleBin(oracle10g ogg需要禁用,oracle11g ogg不要求)SQL> alter system set recyclebin=off scope=spfile;System altered.SQL> shutdown immediate2.3创建存放DDL信息的用户并授权SQL> create user ggate identified by ggate default tablespace users temporary tablespace temp; User created.SQL> grant connect,resource to ggate;Grant succeeded.SQL> grant execute on utl_file to ggate;Grant succeeded.[oracle@redhat6 ~]$ cd $GGATE[oracle@redhat6 ggate]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Mon Dec 9 04:55:44 2013Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> @marker_setup.sql; ---输入之前创建的用户ggateSQL> @ddl_setup.sql; ---输入之前创建的用户ggateSQL> @role_setup.sql; ---输入之前创建的用户ggateSQL>grant GGS_GGSUSER_ROLE to ggate;SQL>@ddl_enable.sql;三、测试OGG3.1 分别在SOURCE DB和TARGET DB上创建测试用户SOURCE DB:SQL> create user source identified by oracle default tablespace users temporary tablespace temp;User created.SQL> grant connect,resource,dba to source;Grant succeeded.TARGET DB:SQL> create user targer identified by oracle default tablespacetbs_hjj temporary tablespace temp; User created.SQL> grant connect,resource,dba to targer;Grant succeeded.3.2 在SOURCE和TARGET分别配置MANAGER远端和目标端都做同样的操作GGSCI (redhat6) 1> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER STOPPEDGGSCI (redhat6) 2> edit paramsmgrGGSCI (redhat6) 3> start mgrManager started.GGSCI (redhat6) 4> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNING3.3 配置SOURCE DB的复制队列连接到数据库,测试连接:GGSCI (redhat6) 5>dbloginuserid ggate@hjj,password ggateSuccessfully logged into database.增加一个抽取extract:GGSCI (redhat6) 6> add extract ext1,tranlog,begin nowEXTRACT added.GGSCI (redhat6) 7> add exttrail /u01/ogg/dirdat/lt,extract ext1EXTTRAIL added.GGSCI (redhat6) 8> edit params ext1extract ext1userid ggate@hjj,password ggatermthost redhat6,mgrport 7809rmttrail /u01/ogg/dirdat/ltddl include mapped objname source.*;table source.*;GGSCI (redhat6) 2> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGEXTRACT RUNNING EXT1 00:00:00 00:00:103.4 配置TARGET DB的同步队列GGSCI (redhat6) 2> edit params ./GLOBALGGSCHEMA ggateCHECKPOINTTABLE ggate.checkpointGGSCI (redhat6) 3>dbloginuserid ggate@hjj,password ggateSuccessfully logged into database.GGSCI (redhat6) 4> add checkpointtableggate.checkpointSuccessfully created checkpoint table ggate.checkpoint.创建同步队列GGSCI (redhat6) 1> add replicat rep1,exttrail /u01/ogg/dirdat/lt,checkpointtableggate.checkpoint REPLICAT added.GGSCI (redhat6) 5> edit params rep1replicat rep1ASSUMETARGETDEFSuserid ggate@hjj,password ggatediscardfile /u01/ogg/dirdat/rep1_discard.txt,append, megabytes 10 DDLmap source.*, target targer.*;3.5 开启同步(1)SOURCE端:GGSCI (redhat6) 10> start extract ext1Sending START request to MANAGER ...EXTRACT EXT1 startingGGSCI (redhat6) 11> info allProgram Status Group Lag at Chkpt Time Since Chkpt MANAGER RUNNINGEXTRACT RUNNING EXT1 00:07:38 00:00:00(2)TARGET端:GGSCI (redhat6) 3> start replicat rep1Sending START request to MANAGER ...REPLICAT REP1 startingGGSCI (redhat6) 4> info allProgram Status Group Lag at Chkpt Time Since ChkptMANAGER RUNNINGEXTRACT RUNNING EXT1 00:00:00 00:00:05 REPLICAT RUNNING REP1 00:00:00 00:00:013.6 测试数据复制(1)SOURCE DB:[oracle@redhat6 ogg]$ sqlplus source/oracleSQL*Plus: Release 11.2.0.3.0 Production on Mon Dec 9 20:09:11 2013Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> create table hjj as select * from sys.all_users;Table created.(2)TARGET DB 查看数据同步情况:[oracle@redhat6 ogg]$ sqlplustarger/oracleSQL*Plus: Release 11.2.0.3.0 Production on Mon Dec 9 20:09:26 2013Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select count(*) from hjj;COUNT(*)----------12在SOURCE端执行:SQL> insert into hjj select * from sys.all_users;12 rows created.SQL> commit;Commit complete.在TARGET查看同步情况SQL> select count(*) from hjj;COUNT(*)----------24Oracle到Oracle的单向复制配置完成。