oracleogg购买直接从官方下载就好。Oracle软件本身是免费的,任何人都可以从Oracle官方网站下载并安装Oracle的数据库软件,收费的是License,即软件授权,如果数据库用于商业用途,就需要购买相应Oracle产品的License。
ogg 版本和 oracle数据库版本不需要统一,ogg 122011可以用于 oracle 11201的同步,不过,如果你要使用集成模式,数据库版本必须高于11203的版本。经典模式不限制。
*** 作系统版本:rhel54 64bit
jdk版本:jdk-6u18-linux-x64-rpmbin
weblogic版本:wls1032_genericjar
director版本:gg-director-serversetup_unix_v11_2_1_0_0_000sh
备注:另外测试过gg-director-serversetup_unix_v11_1_1_1_0_001sh版本的director也出现同样的错误!
Oracle RAC环境数据库数据从一台就能备份全部的数据文件数据。
但是备份归档日志文件,必须把两台的日志文件都备份走。
oracleRAC的数据文件是通过共享存储实现,所以每台上面查询到的数据都是全部数据。RAC的归档日志文件一般生成在各节点私有的文件系统中,所以需要各节点都备份(注:如果是ASM存储类型创建的RAC,归档日志可以存放在ASM文件系统中,备份时从一台上备份即可)
Oracle Goldengate目前支持主被动式的双向配置,换而言之OGG可以将来自于激活的主库的数据变化完全复制到从库中,从库在不断同步数据的同时已经为计划内的和计划外的outages做好了故障切换的准备,也就是我们说的Live Standby。这里我们重点介绍一下配置Oracle Goldengate Live Standby系统的步骤,和具体的故障切换过程。
如果自己搞不定可以找ASKMACLEAN专业ORACLE数据库修复团队成员帮您恢复!
SQL> conn clinic/clinicConnected
SQL> drop table tv;
create table tv (t1 int primary key,t2 int,t3 varchar2(30));
Table dropped
SQL>
Table created
SQL> drop sequence seqt1;
create sequence seqt1 start with 1 increment by 1;
Sequence dropped
SQL> SQL>
Sequence created
declare
rnd number(9,2);
begin
for i in 1100000 loop
insert into tv values(seqt1nextval,idbms_randomvalue,'MACLEAN IS TESTING');
commit;
end loop;
end;
/
/ 以上脚本在primary主库的某个应用账户下创建了测试用的数据,
接着我们可以使用各种工具将数据初始化到从库中,如果在这个过程中
希望实时在线数据迁移的话,可以参考《Goldengate实现在线数据迁移》
/
/ 注意我们在Live Standby的环境中往往需要复制sequence序列,以保证切换到备库时业务可以正常进行 /
/ 初始化备库数据后,确保已与主库完全一致 /
primary :
SQL> select sum(t2) from tv;
SUM(T2)
----------
2498624495
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
100001
standby:
SQL> select sum(t2) from tv;
SUM(T2)
----------
2498624495
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
100001
以上完成准备工作后,我们可以进入到正式配置Goldengate live stanby的阶段,包括以下步骤:
配置由主库到备库的extract、replicat、data pump,该步骤同普通的单向复制没有太大的区别
配置由备库到主库的extract、replicat、data pump
启动由主库到备库的extract、replicat、data pump
接下来我们会实践整个配置过程:
1
创建由主库到备库的extract、data pump、replicat
GGSCI (rh2oraclecom) 10> dblogin userid maclean
Password:
Successfully logged into database
GGSCI (rh2oraclecom) 11> add trandata clinic
Logging of supplemental redo data enabled for table CLINICTV
GGSCI (rh2oraclecom) 4> add extract extstd1,tranlog,begin now
EXTRACT added
GGSCI (rh2oraclecom) 5> add exttrail /d01/ext/cl,megabytes 100,extract extstd1
EXTTRAIL added
GGSCI (rh2oraclecom) 7> view params extstd1
-- Identify the Extract group:
EXTRACT extstd1
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify the local trail that this Extract writes to:
EXTTRAIL /d01/ext/cl
-- Specify sequences to be captured:
SEQUENCE clinicseqt1;
-- Specify tables to be captured:
TABLE clinic;
-- Exclude specific tables from capture if needed:
-- TABLEEXCLUDE
GGSCI (rh2oraclecom) 17> add extract pumpstd1,exttrailsource /d01/ext/cl,begin now
EXTRACT added
GGSCI (rh2oraclecom) 98> add rmttrail /d01/rmt/cl,megabytes 100,extract pumpstd1
RMTTRAIL added
GGSCI (rh2oraclecom) 129> view params pumpstd1
-- Identify the data pump group:
EXTRACT pumpstd1
userid maclean, password maclean
-- Specify database login information as needed for the database:
userid maclean, password maclean
RMTHOST rh3oraclecom, MGRPORT 7809
-- Specify the remote trail on the standby system:
RMTTRAIL /d01/rmt/cl
-- Pass data through without mapping, filtering, conversion:
PASSTHRU
sequence clinicseqt1;
Table clinic;
在备库上配置由主库到备库的replicat:
GGSCI (rh3oraclecom) 4> add replicat repstd1,exttrail /d01/rmt/cl,begin now
REPLICAT added
GGSCI (rh3oraclecom) 49> view params repstd1
-- Identify the Replicat group:
REPLICAT repstd1
-- State that source and target definitions are identical:
ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify tables for delivery:
MAP clinic, TARGET clinic;
-- Exclude specific tables from delivery if needed:
-- MAPEXCLUDE
2
创建由备库到主库的extract、data pump、replicat
GGSCI (rh3oraclecom) 51> dblogin userid maclean
Password:
Successfully logged into database
GGSCI (rh3oraclecom) 52> add trandata clinic
Logging of supplemental redo data enabled for table CLINICTV
/ 不要忘记在备库端的相关表加上追加日志 /
GGSCI (rh3oraclecom) 53> add extract extstd2,tranlog,begin now
EXTRACT added
GGSCI (rh3oraclecom) 54> add exttrail /d01/ext/cl,megabytes 100,extract extstd2
EXTTRAIL added
GGSCI (rh3oraclecom) 58> view params extstd2
-- Identify the Extract group:
EXTRACT extstd2
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify the local trail that this Extract writes to:
EXTTRAIL /d01/ext/cl
-- Specify sequences to be captured:
SEQUENCE clinicseqt1;
-- Specify tables to be captured:
TABLE clinic;
-- Exclude specific tables from capture if needed:
-- TABLEEXCLUDE
GGSCI (rh3oraclecom) 59> add extract pumpstd2,exttrailsource /d01/ext/cl,begin now
EXTRACT added
GGSCI (rh3oraclecom) 60> add rmttrail /d01/rmt/cl,megabytes 100,extract pumpstd2
RMTTRAIL added
GGSCI (rh3oraclecom) 63> view params pumpstd2
-- Identify the data pump group:
EXTRACT pumpstd2
userid maclean, password maclean
-- Specify database login information as needed for the database:
userid maclean, password maclean
RMTHOST rh2oraclecom, MGRPORT 7809
-- Specify the remote trail on the standby system:
RMTTRAIL /d01/rmt/cl
-- Pass data through without mapping, filtering, conversion:
PASSTHRU
sequence clinicseqt1;
Table clinic;
在主库上配置replicat:
GGSCI (rh2oraclecom) 136> add replicat repstd2,exttrail /d01/rmt/cl,begin now,checkpointtable macleanck
REPLICAT added
GGSCI (rh2oraclecom) 138> view params repstd2
-- Identify the Replicat group:
REPLICAT repstd2
-- State that source and target definitions are identical:
ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify tables for delivery:
MAP clinic, TARGET clinic;
-- Exclude specific tables from delivery if needed:
-- MAPEXCLUDE
3
完成以上OGG配置后,可以启动主库到备库的extract、pump、以及replicat:
GGSCI (rh2oraclecom) 141> start extstd1
Sending START request to MANAGER
EXTRACT EXTSTD1 starting
GGSCI (rh2oraclecom) 142> start pumpstd1
Sending START request to MANAGER
EXTRACT PUMPSTD1 starting
GGSCI (rh3oraclecom) 70> start repstd1
Sending START request to MANAGER
REPLICAT REPSTD1 starting
/ 如果你是在offline状态下配置的话,那么此时可以启用应用了/
接下来我们尝试做有计划的主备库切换演练:
1
首先停止一切在主库上的应用,这一点和DataGuard Switchover一样。在保证没有活动事务的情况下,才能切换干净。
2
在主库端使用LAG等命令了解extract的延迟,若返回如"At EOF, no more records to process"的信息,则说明所有事务均已被抽取。
GGSCI (rh2oraclecom) 144> lag extstd1
Sending GETLAG request to EXTRACT EXTSTD1
Last record lag: 0 seconds
At EOF, no more records to process
在EOF的前提下关闭extract:
GGSCI (rh2oraclecom) 146> stop extstd1
Sending STOP request to EXTRACT EXTSTD1
Request processed
3
同样对pump使用LAG命令,若返回如"At EOF, no more records to process"的信息,则说明已抽取的数据都被发送到备库了。
GGSCI (rh2oraclecom) 147> lag pumpstd1
Sending GETLAG request to EXTRACT PUMPSTD1
Last record lag: 3 seconds
At EOF, no more records to process
在EOF的前提下,关闭data pump
GGSCI (rh2oraclecom) 148> stop pumpstd1
Sending STOP request to EXTRACT PUMPSTD1
Request processed
3
检查备库端replicat的同步情况,如返回"At EOF, no more records to process",则说明所有记录均被复制。
GGSCI (rh3oraclecom) 71> lag repstd1
Sending GETLAG request to REPLICAT REPSTD1
Last record lag: 5 seconds
At EOF, no more records to process
在EOF的前提下关闭replicat
GGSCI (rh3oraclecom) 72> stop repstd1
Sending STOP request to REPLICAT REPSTD1
Request processed
4
紧接着我们可以在备库上为业务应用用户赋予必要的insert、update、delete权限,启用各种触发器trigger及cascade delete约束等;
以上手段在主库上对应的 *** 作是收回应用业务的权限,disable掉各种触发器及cascade delete约束,
之所以这样做是为了保证在任何时候扮演备库角色的数据库均不应当接受任何除了OGG外的手动的或者应用驱动的业务数据变更,
以保证主备库间的数据一致。
5
修改原备库上的extract的启动时间到现在,已保证它不去抽取那些之前的重做日志
GGSCI (rh3oraclecom) 75> alter extstd2 ,begin now
EXTRACT altered
GGSCI (rh3oraclecom) 76> start extstd2
Sending START request to MANAGER
EXTRACT EXTSTD2 starting
若之前没有启动由备库到主库的pump和replicat的话可以在此时启动:
GGSCI (rh3oraclecom) 78> start pumpstd2
Sending START request to MANAGER
EXTRACT PUMPSTD2 starting
GGSCI (rh2oraclecom) 161> start repstd2
Sending START request to MANAGER
REPLICAT REPSTD2 starting
6此时我们可以正式启动在原备库现在的主库上的应用了
接下来我们尝试回切到原主库上:
1前提步骤与之前的切换相似,首先停止在原备库上的任何应用,
之后使用LAG命令确认extract和replicat的进度,在确认后关闭extract和replicat。
完成在主库上的维护工作:包括赋予权限,启用触发器等等。
2修改原主库上的extract的开始时间为当前,保证它不去处理之前的重做日志:
GGSCI (rh2oraclecom) 165> alter extract extstd1,begin now
EXTRACT altered
3此时我们已经可以启动在原主库现在的主库上的应用了
4启动最早配置的由主库到备库的extract、pump、replicat:
GGSCI (rh2oraclecom) 166> start extstd1
Sending START request to MANAGER
EXTRACT EXTSTD1 starting
GGSCI (rh2oraclecom) 171> start pumpstd1
Sending START request to MANAGER
EXTRACT PUMPSTD1 starting
GGSCI (rh3oraclecom) 86> start repstd1
Sending START request to MANAGER
REPLICAT REPSTD1 starting
以上完成了OGG的Live Standby中主备库之间的计划内的切换Switchover,That's Great!
Oracle GoldenGate 用于在各种企业系统间以亚秒级速度复制和集成事务数据,是同类最佳的、易于部署的产品。Oracle GoldenGate 可以灵活地在同类和异类系统(包括不同版本的 Oracle Database、不同的硬件平台)之间以及 Oracle 数据库和非 Oracle 数据库(包括 Microsoft SQL Server、用于开放系统和 z/OS 的 IBM DB2、Sybase 等等)之间移动数据。
本文演示如何安装、设置和配置此产品以轻松实现 Oracle Database 10g 和 11g 之间数据的无缝复制,还介绍了此产品的加速能力。
Oracle 于 2009 年收购了 GoldenGate,我们可以看到在全球各行业超过 4,000 个解决方案中实施了 Oracle GoldenGate。该软件执行实时的、基于日志的更改数据捕获 (CDC),能够在异构数据库间以极低的延迟和很小的空间移动大量事务数据。
通常,您部署 GoldenGate 捕获、数据泵和交付进程,并且可将这些进程部署在许多不同的 *** 作系统和数据库上。可根据目标数据库的需要,复制所有数据或部分数据。当 Oracle GoldenGate 用于 Oracle 数据库时,可以复制数据 *** 作语言 (DML) 和数据定义语言 (DDL) *** 作。(目前只能在同类(不能在异类的)Oracle 版本间复制 DDL *** 作。)Oracle GoldenGate 官方支持 Oracle9i 第 2 版到 Oracle Database 11g 第 2 版,并且对所有这些版本提供 DML/DDL 支持。该产品可用于 Oracle Database 的企业版和标准版。
如上所述,可以在所支持的同类或异类 Oracle Database 版本间移动数据,也可以在 Oracle 数据库和非 Oracle 数据库间移动数据。大多数情况下,可对数据进行筛选、映射和转换。注意,如果启用了 DDL 支持(换言之,如果使用 GoldenGate 进行同类 Oracle Database 版本之间的 DDL 复制),则不支持数据筛选、映射和转换。
Oracle GoldenGate 是以 DBA 为中心的,因此 DBA 很容易学会如何使用它。其实现时间也是最少的 — 一些站点只用一个月的时间就完全付诸实现。
可获得什么
Oracle GoldenGate 产品系列包括:
Oracle GoldenGate
Management Pack for Oracle GoldenGate(也称为 Oracle GoldenGate Director)Oracle GoldenGate Veridata
Oracle GoldenGate Application Adapters
Oracle GoldenGate for Mainframe
为使增值服务造福客户,Oracle GoldenGate 核心许可包括 Oracle Active Data Guard 的全权使用许可和 Oracle Database 中 XStream 的全权使用许可。XStream 是与 Oracle Streams 接口的 API。Oracle Active Data Guard 支持主动打开备用数据库以提供报表服务,甚至在应用重做数据的同时也如此。这个特性非常棒,可将生产报表和查询工作分流到备用数据库上。
一直以来,Oracle Streams 只用于在 Oracle 数据库间复制数据。Oracle GoldenGate 还可以在非 Oracle 数据库间复制数据,并且这种复制易于建立。
我们应注意到,已发布的 Oracle — GoldenGate 发展方向声明中指出,“由于 Oracle GoldenGate 的战略性,将继续支持 Oracle Streams,但不会对其进行主动增强。而是对 Oracle Streams 中最好的内容行评估以确定是否将其并入 Oracle GoldenGate 中。”
此演示的目的
为了进行此次演示,您应在一台 Microsoft Windows 服务器上有三个数据库。这三个数据库是 HRPRD1、HRPRD2 和 HRPRD3。其数据库版本分别为 Oracle Database 11g、Oracle Database 10g 和 Oracle Database 10g。
这三个数据库的 SYS 和 SYSTEM 口令已设置为 hrpassword1,用于测试目的。稍后可更改此口令。
此演示的目的是在 HRPRD2 和 HRPRD3 这两个 Oracle 10g 数据库的 HREMPLOYEES 表之间建立单向复制。对第一个数据库中此表的 DML 更改应传给第二个数据库。然后,我们将对这一复制进行增强,可以将更改同时复制到 Oracle 11g 数据库 HRPRD1 中。其结果是,对 HRPRD2 中该表的任何更新、插入和删除不仅将会成功更新 HRPRD3,也会成功更新 HRPRD1。
这种从 Oracle Database 10g 到 Oracle Database 10g 然后再到 Oracle Database 11g 的复制策略常用于升级情况,进行升级时,需要先复制数据,然后方可切换到升级后的数据库版本。Oracle GoldenGate 提供了简单的解决方案。
注意,针对 Oracle 数据库时,您不 需要使用 Microsoft ODBC 数据源管理器为这些数据库创建数据源名称 (DSN)。Oracle GoldenGate 复制将使用监听器直接连接到 Oracle 数据库。
需要下载的内容
首先,对于 Windows 系统,需要从 Microsoft 下载中心下载 Microsoft Visual C ++ 2005 SP1 Redistributable Package,然后进行安装。如果计算机上未安装 Visual C++,这用于安装运行本应用程序时所需的 Visual C++ 库的运行时组件。
接下来,需要从 Oracle 技术网下载 Oracle GoldenGate 软件。截至本文撰写时,OTN 只支持 Windows 平台 64 位版本:适用于 Windows 2000、XP 和 2003(64 位)上的 Oracle 10g 的 Oracle GoldenGate 1040x 版 (8 MB)。要下载 32 位 Windows 版本,您必须使用 Oracle E-Delivery 网站。(请注意,E-Delivery 下载有一个为期 30 天的试用产品许可,而非 OTN 开发人员许可。)登录此网站后,搜索适用于 Microsoft Windows(32 位)平台的“Oracle Fusion Middleware Product Pack”(因为 Oracle GoldenGate 被视作一个 Oracle 融合中间件产品,而非 Oracle Database 产品),然后单击 Go。
此时会出现介质包列表。在此列表中,先选择 Oracle GoldenGate on Oracle Media Pack for Microsoft Windows (32-bit)。
此介质包中包含:
适用于 Windows 2000、XP 和 2003 上的 Oracle 10g 的 Oracle GoldenGate 1040x 版V18162-01
大小:84 MB
适用于 Windows 2000、XP 和 2003 上的 Oracle 11g 的 Oracle GoldenGate 1040x 版V18164-01
大小:84 MB
Oracle GoldenGate 文档
V18423-01
大小:20 MB
下载这三个 zip 文件,因为您需要适用于 Oracle 10g 和 Oracle 11g 的 Oracle GoldenGate。
然后,返回到 Oracle 融合中间件的介质包列表,从中选择 Management Pack for Oracle GoldenGate (v2002) Media Pack for Microsoft Windows。
该管理包介质包中包含:
适用于 Windows 的 Oracle GoldenGate Director V200x ServerV18127-01
大小:228 MB
适用于 Windows 的 Oracle GoldenGate Director V200x ClientV18128-01
大小:55 MB
Oracle GoldenGate Director 文档
V18129-01
大小:952 KB
如果您想安装管理包,下载所有这些文件。该管理包是一个安装您 Windows 服务器上的独立产品,。该产品原名为 Oracle GoldenGate Director,它包含一个多层的客户端-服务器应用程序,使组织可以轻松监视和管理其 Oracle GoldenGate 部署。
使用 Oracle GoldenGate Director 的 GUI 界面,可以集中设计和配置 Oracle GoldenGate,还可以管理和监视为了在公司各服务器间复制数据而建立的各种 Oracle GoldenGate 进程。
介质包的主列表中还有其他一些介质包,如 Oracle GoldenGate Veridata Media Pack for Microsoft Windows。
Oracle GoldenGate Veridata 软件作为服务器进行安装,在不同平台上具有代理,它负责将一组数据与另一组数据进行对比以识别不同步的数据,对比时无需停机。此对比可全天候进行,可与大流量的复制同时进行。还可在不同平台间进行数据对比。
除了上述主要介质包外,列表中还显示了其他 Oracle GoldenGate 包。这些软件包适用于非 Oracle 数据库,如 Sybase、SQL Server、IBM DB2、Teradata,还有 JMS 和平面文件,这反映了 Oracle GoldenGate 支持异构的性质。
安装步骤
您下载的 Oracle GoldenGate 文档 zip 文件 (V18423-01zip)中包含 Oracle GoldenGate Oracle Installation and Setup Guide Version 104 (gg_ora_inst_v104pdf),其中描述了适用于 Linux、UNIX 和 Windows 上的 Oracle 数据库的 Oracle GoldenGate 的安装步骤。
注意,还有其他一些安装文档,它们针对适用于 Sybase、SQL Server、DB2、MySQL、Teradata 等的 Oracle GoldenGate。
首先,将 Oracle GoldenGate for Oracle 10g (V18162-01zip) 解压缩到一个新的 Oracle GoldenGate 软件目录中,目录名中不含任何空格。例如,您可以使用 C:\OGG10G 作为 Oracle GoldenGate 目录。此目录中的软件代码将用于建立第一个和第二个 Oracle 10g 数据库之间的复制。
由于您的第三个数据库是 Oracle Database 11g 版,您还需要解压缩 Oracle GoldenGate for Oracle 11g (V18164-01zip)。对于此版本的 Oracle GoldenGate,您需要使用一个单独的目录,C:\OGG11G。此目录中的软件代码将用于控制到第三个 Oracle Database 11g 数据库的复制。
如果您有 Oracle9i 数据库并且想从其复制数据或向其复制数据,需要另一个适用于 Oracle9i 的 Oracle GoldenGate 软件。不过,您不能通过 Oracle 网站下载 Oracle GoldenGate 的 Oracle9i 版本。如果您需要此版本,可能需要通过 My Oracle Support 发出一个系统请求 (SR)。
在命令提示符处输入以下命令:
mkdir C:\OGG10G
cd C:\OGG10G
unzip c:\V18162-01zip
mkdir C:\OGG11G
cd C:\OGG11G
unzip C:\V18164-01zip
# start the 10g databases if not already startednet start OracleServiceHRPRD2
net start OracleServiceHRPRD3
# start the 11g database if not already startednet start OracleServiceHRPRD1
设置环境变量
现在,您可以打开两个命令窗口(开始运行Cmd),针对 Oracle Database 10g 和 Oracle Database 11g 将相应的环境变量(如 ORACLE_HOME、ORACLE_SID、LD_LIBRARY_PATH 等)设置为相应的值。
为了在两个 Oracle 10g 数据库间建立复制,将这些变量进行如下设置:
set ORACLE_HOME=C:\Oracle\product\1020\db_1set ORACLE_SID=HRPRD2
set PATH=%ORACLE_HOME%\bin;%PATH%
set LD_LIBRARY_PATH=C:\OGG10G; %ORACLE_HOME%\LIB;%ORACLE_HOME%\jdbc\lib
set CLASSPATH=;C:\Program
Files\Java\jre6\lib\ext\QTJavazip;%ORACLE_HOME%\jdbc\libORACLE_SID 可设置为 HRPRD2 或 HRPRD3,两者都是 Oracle 10g 数据库。请注意 PATH、LD_LIBRARY_PATH 和 CLASSPATH 的值。
另一种方法是用系统变量进行这些设置,为此您可以在 Windows XP Professional 中使用:我的电脑属性高级环境变量系统变量。在这里添加新的系统变量并按如上所述更改路径。
在此例中,在一台服务器上运行两个数据库版本的缺点是,每次启动 Oracle GoldenGate for Oracle 10g 或 Oracle GoldenGate for Oracle 11g 的 Manager 服务时,都必须更改系统变量。您可能要添加与 Oracle Database 11g 有关的系统变量,然后启动 Oracle GoldenGate for Oracle 11g Manager 服务。这之后,您可能要更改这些系统变量,使其适合于 Oracle Database 10g,然后启动 Oracle GoldenGate for Oracle 10g Manager 服务。由于这是一个测试系统,这么做可能没有问题。但在生产环境下,您需要采取一种更自动化的方法(如采用脚本化的方法)在脚本中设置这些变量并启动 Manager 服务。
GGSCI 命令解释程序
在命令窗口或“我的电脑”级别设置环境变量之后,转到 Oracle GoldenGate 的文件夹下,通过命令行(见图 1)或 Windows 资源管理器运行 Oracle GoldenGate Command Interpreter for Oracle (GGSCI) 程序。
图 1 Oracle GoldenGate Command Interpreter现在,您可在 GGSCI 中执行 CREATE SUBDIRS 命令来创建 Oracle GoldenGate 的工作子目录。参见图 2,其中列出了所创建的重要目录。
图 2 创建工作子目录
将 Oracle GoldenGate Manager 作为本地程序运行您可以将 Oracle GoldenGate Manager 当作一个本地程序在命令窗口中运行,也可以将它作为一个 Windows 服务安装以便在 Windows 启动时自动启动。我们建议使用后面这种方法。
如果您希望将其作为一个本地命令运行,只需调用目录中的 Manager 执行文件(调用时带着一个参数文件)即可。命令语法为:
C:\OGG10G>mgr
Usage: MGR PARAMFILE [REPORTFILE ]
[PID ] [PORT ]
[USESUBDIRS] [NOUSESUBDIRS]
[PAUSEATEND] [NOPAUSEATEND]
[CD ]
PARAMFILE 是必需的参数。因此,您必须在 GGSCI 中创建一个参数文件:
GGSCI (HaviPori) 1> edit params mgr
此命令将在 C:\OGG10G\dirprm 目录中创建一个新的 mgrprm 文件。在该文件中键入将用于运行 manager 进程的端口号,然后保存该文件。
PORT 7809
默认端口号为 7809。无论您选择哪个端口号,请确保该端口号未被任何其他程序所使用并且没有任何防火墙限制。因为 PORT 是 Manager 唯一需要的参数,所以必须指定该参数。GGSCI 使用该端口将请求发送给 Manager 以启动进程,并且 Extract 进程也使用该端口进行各种 *** 作。
创建该参数文件之后,就可以在 Windows 命令提示符下启动 Manager 了,如下所示:
C:\OGG10G>mgr paramfile c:\OGG10G\dirprm\mgrprm该命令启动 Manager,并且显示图 3 所示的消息:
图 3 在 Windows 命令提示符处启动 Manager
必须保持此窗口为打开状态,以保持 Manager 运行。如果您注销,该窗口将关闭,Manager 将停止运行。
将 Manager 作为 Windows 服务进行安装
上文描述了手动启动 Manager 的方法,还有一种启动方法,那就是将 Manager 作为自动启动的 Windows 服务来安装。
在 Windows 集群环境下必须使用后面这种方法,因为出现故障时只有服务可以自动切换到备用服务器上。在非集群系统中,将 Manager 作为服务来安装是可选的方法但也是强烈建议的方法。
在 Windows 中作为服务创建 Manager 进程时,该服务的默认名称为 GGSMGR。您可以为此服务指定自定义的名称。如果您在同一台服务器上需要不止一个 Oracle GoldenGate Manager 服务,比如一个针对 Oracle GoldenGate for Oracle 10g 的服务和另一个针对 Oracle GoldenGate for Oracle 11g 的服务,则指定名称是很重要的。如果您打算运行 Oracle GoldenGate Veridata,还需要一个 Manager 服务。
用以下方法为 Manager 服务指定一个不同的名称。在 GGSCI 命令提示符处执行以下命令:
EDIT PARAMS /GLOBALS
在出现的记事本编辑器中,选择新建一个文件(如果是首次这么做),然后输入以下代码并保存该 GLOBALS 文件:
MGRSERVNAME OracleGGSMGR1
根据 Windows 上的 Oracle 服务一般带有 Oracle 前缀(如 OracleDBConsole、OracleJobScheduler 服务)的惯例,使用名称 OracleGGSMGR1。
通过 C:\OGG10G 目录中的 Install 程序可轻松创建 Manager 服务。使用 install addservice 命令,如图 4 所示:
图 4 创建 Manager 服务
新服务在 Windows 服务列表中显示为一个自动启动的服务(见图 5):
图 5 Manager 服务属性
Manager 服务以本地系统帐户运行,也可配置为以特定帐户(使用用户名和口令选项)运行,该用户名和口令可由 addservice 命令指定。现在可通过以下命令启动该服务:
GGSCI (HaviPori) 1> start manager
Starting Manager as service ('OracleGGSMGR1')
Service started
安装 Windows 事件消息
还可使用 Install 程序将事件消息安装到 Windows 注册表中,这样它们可通过 Windows Event Manager 显示。使用以下命令可完成此 *** 作:
C:\OGG10G>install addevents
Oracle GoldenGate messages installed successfully
Install program terminated normally
还可将 categorydll 和 ggsmsgdll 文件从 C:\OGG10G 目录复制到 C:\WINDOWS\system32 目录,从而生成具体的而不是一般性的错误。
建立复制 — 在 HRPRD2 上建立 Extract 进程Oracle GoldenGate Manager 进程已启动并运行。下一步要建立数据库之间的复制。
为此,您至少需要创建和配置一个 Extract 和 Replicat 组。在这些组中指定您想捕获和复制的数据。
Extract 进程捕获发生的数据更改并将这些更改发送给目标服务器上的一个“线索”。在目标服务器上启动 Replicat 进程,该进程负责进行实际的复制,它从线索中获取数据更改,然后将这些更改应用到目标数据库中。
您还需要为 Oracle GoldenGate Replication 准备数据库:在数据库级打开追加日志 功能。为此,在以 SYSDBA 身份登录到数据库后使用以下命令:
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;Database altered
SQL> alter system switch logfile;
System altered
现在可以添加 Extract 组了。
GGSCI (HaviPori) 1> ADD EXTRACT emp_ext, TRANLOG, BEGIN NOWEXTRACT added
您在这里指定了 TRANLOG,这意味着事务(重做)日志成为数据源。BEGIN 后面可以是该日志中的一个时间戳以便从该时刻开始进行处理,也可以是 NOW 以便立即开始处理。
1
-- SQLServer:
一、 *** 作步骤
首先进入数据库级别的安全性-登录名-新建登录名
(图1:新建登录名)
2 在常规选项卡中,如下图所示,创建登陆名,并设置默认的数据库。
(图2:设置选项)
3 在用户映射选项卡中,如下图所示,勾选需要设置的数据库,并设置架构,点击确认按钮,完成创建用户的 *** 作
(图3:选择对应数据库)
4 现在我们就可以对TestLog数据库中的User表进行权限的设置了,表- 属性
(图4:选择对应表)
5 在权限选项卡中,如下图所示,依此点击添加-浏览-选择对象
(图5:设置访问表的用户)
6 在上面点击确认后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个列权限的按钮可以进行设置,点击确认按钮就完成了这些权限的设置了
(图6:权限列表)
7 现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了
(图7:效果)
二、注意事项
在上面的第3步骤中需要注意:如果这里没有选择对应的数据库的话,之后去TestLog数据库中是找不到TestUser。
(图8:找不到TestUser用户)
2 在上面的第3步骤,设置完TestLog数据后,需要点击确认按钮,完成创建用户 *** 作,如果这个时候去设置安全对象,是无法在添加-特定对象-对象类型-登陆名-浏览中找到刚刚新建的TestUser用户的。
3 其实在数据库级别的安全性创建的用户是属于全局的,当设置了某个数据库,比如TestLog之后,这个用户就会出现在这个数据库的安全性列表中。 如果删除TestLog这个用户,会出现下面的提示。删除了后,这个用户就无法登陆了。需要去对应的数据库中删除用户,如果没有删除又创建,是会报错的。
(图9:删除TestUser用户)
4 在第6步的显式权限列表中,如果选择了Control这个选项,那么在Select中设置查询列权限就没有意义了,查询就不会受限制了。如果设置列权限,在正常情况下会显示下图的报错信息:
(图10:效果)
5 在TestLog数据库的安全性-TestUser-属性-安全对象-添加-对象类型这里有更多关于数据库级别的一些对象类型可以设置。
(图11:其它对象类型)
以上就是关于oracleogg怎么购买全部的内容,包括:oracleogg怎么购买、ogg12.2.0.1.1可以用与oracle11.2.0.1的同步吗、怎么找到oggdirectorserver使用的数据库和用户名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)