重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3646|回复: 0
打印 上一主题 下一主题

[Oracle] OGG常用命令的整理

[复制链接]
跳转到指定楼层
楼主
发表于 2021-1-31 14:02:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.查看进程状态
GGSCI (PONY) 2> info all


2.查看进程详细状态,有助于排错
GGSCI (PONY) 2> view report +进程名称


3.查看告警日志信息
GGSCI (PONY) 2> view ggsevt


4. 查看延时,以及文件抽取应用情况
GGSCI> lag <进程名称> 可以查看详细的延时信息。
例如:
GGSCI (db4) 11> lag rep1
Sending GETLAG request to REPLICAT REP1 …
No records yet processed.
At EOF, no more records to process.
看到At EOF, no more records to process.表名所有的抽取都已经应用完毕


5.查看统计信息
GGSCI> stats <进程名称>,<时间频度>,table . 可以查看进程处理的记录数。该报告会详细的列出处理的类型和记录数。
如:GGSCI> stats edr, total列出自进程启动以来处理的所有记录数。
GGSCI> stats edr, daily, table gg.test列出当天以来处理的有关gg.test表的所有记录数。
stats MGOUPEXT, daily, table group.t_f_records


stats MGOUPEXT, HOURLY, table group.t_f_records






6.查看详细处理过的事物记录
GGSCI> info <进程名称> showch


7.查看更详细的信息,包括所使用的trail文件,参数文件,报告文件,告警日志文件位置等
GGSCI> info <进程名称> detail


8.查看长交易
GGSCI> send extract ext1,showtrans
Ggsci> send extract <进程名> , showtrans [thread n] [count n]
其中,<进程名>为所要察看的进程名,如extsz/extxm/extjx等;
Thread n是可选的,表示只查看其中一个节点上的未提交交易;
Count n也是可选的,表示只显示n条记录。
例如,查看extsz进程中节点1上最长的10个交易,可以通过下列命令:
Ggsci> send extract extsz , showtrans thread 1 count 10
输出结果是以时间降序排列的所有未提交交易列表,通过xid可以查找到对应的事务,查找出未提交原因,通过数据库予以提交或者回滚后GoldenGate的checkpoint会自动向前滚动。


9.使用GoldenGate命令跳过或接受长交易的方法
在GoldenGate中强制提交或者回滚指定事务,可以通过以下命令(<>中的为参数):
Ggsci> SEND EXTRACT <进程名>, SKIPTRANS <5.17.27634> THREAD <2> //跳过交易
Ggsci> SEND EXTRACT <进程名>, FORCETRANS <5.17.27634> THREAD <1> //强制认为该交易已经提交
说明:使用这些命令只会让GoldenGate进程跳过或者认为该交易已经提交,但并不改变数据库中的交易,他们依旧存在于数据库中。因此,强烈建议使用数据库中提交或者回滚交易而不是使用GoldenGate处理。


10. 配置长交易告警
可以在extract进程中配置长交易告警,参数如下所示:
extract extsz
……
warnlongtrans 12h, checkintervals 10m
exttrail /backup/goldengate/dirdat/sz
….
以上表示GoldenGate会每隔10分钟检查一下长交易,如果有超过12个小时的长交易,GoldenGate会在根目录下的ggserr.log里面加入一条告警信息。可以通过察看ggserr.log或者在ggsci中执行view ggsevt命令查看这些告警信息。以上配置可以有助于及时发现长交易并予以处理。
说明:在OGG 11g中,extract提供了BR参数可以设置每隔一段时间(默认4小时)将长交易缓存到本地硬盘(默认dirtmp目录下),因此extract只要不停止一般需要的归档日志不超过8个小时(极限情况)。但是如果extract停掉后,便无法再自动缓存长交易,需要的归档日志就会依赖于停机时间变长。




11. –重置抽取进程,本地文件序列号从0开始生成。
alter extract ext1,extseqno 0,extrba 0


12.–重置读取进程,重新从0号trial文件开始读取。
alter replicat rep1,extseqno 0,extrba 0




13.查看帮助
help, help add exttrail

14.启动和停止服务
  start mgr,stop mgr
  start extract einikk,stop extract einikk
  start replicat rinikk,stop replicat rinikk

15.修改参数文件
  edit params <group name>

16.显示当前的GoldenGate环境信息
show


17.历史命令
  history


18.使用shell脚本
gdora@orclcs ggs]$ cat /home/gdora/ggs/yzhq.txt
status manager
status mgr
[gdora@orclcs ggs]$


   Using UNIX batch and shell scripts
On a UNIX system, you can issue GoldenGate commands from a script such as a startup
script, shutdown script, or failover script by running GGSCI and calling an input file. Use
the following syntax:


ggsci < <input_file>


[gdora@orclcs ggs]$ ggsci < yzhq.txt
GoldenGate Command Interpreter for Oracle
Version 10.4.0.12 Build 001
Linux, x86, 32bit (optimized), Oracle 10 on Aug 21 2009 14:34:04


Copyright (C) GoldenGate Software, Inc. 1995-2009.
The GoldenGate software may include other code written by third parties;
details regarding such third party code, including applicable copyright,
legal and licensing notices are available at http://support.goldengate.com.


GGSCI (orclcs.zhyhl.com) 1>
Manager is running (IP port orclcs.zhyhl.com.7809).


GGSCI (orclcs.zhyhl.com) 2>
Manager is running (IP port orclcs.zhyhl.com.7809).


GGSCI (orclcs.zhyhl.com) 3> [gdora@orclcs ggs]$
[gdora@orclcs ggs]$


18.查看参数文件的内容
  view params mgr


19.添加进程
select log_mode,supplemental_log_data_min,force_logging from v$database;


GGSCI (node3) 10> view params ./GLOBALS

GGSCHEMA ggs
CHECKPOINTTABLE ggs.ggschkpt

1、抽取进程
add extract gpyun,tranlog,begin now
add exttrail /opt/ggs/dirdat/bl,extract gpyun
edit params gpyun
GGSCI (gg1) 28> view params ext01
extract ext01 --提取进程组的名字
userid ggtest, password oracle --同步用户
exttrail /u01/ggate/dirdat/sd --trail 文件目录和标识(类似于sd*这样文件),命名只能是2个字符。
tranlogoptions excludeuser ggtest --避免循环复制的出现
DDL INCLUDE ALL
DDLOPTIONS ADDTRANDATA
table ssgg.*; --同步的表或用户下所有的表
当你需要同步除Goldengate和Oracle数据库自带的用户外所有用户的DDL操作时,可在源端主抽取进程中加入下面的内容
ddl include all
然后再在目标端Replicat进程参数文件中加入DDL错误的处理语句即可。

2、传输进程
add extract gptosz,exttrailsource /opt/ggs/dirdat/bl,begin now
add rmttrail /opt/ggs/dirdat/bl,extract gptosz
edit params gptosz

GGSCI (gg1) 29> view params p01
extract p01
userid ggtest,password oracle
rmthost 192.168.50.231,mgrport 7809 --指定远端IP和MGR端口
rmttrail /u01/ggate/dirdat/pd
table ssgg.*;

3、应用进程
为replicat进程创建checkpoint表:
GGSCI (gg2) 1> dblogin userid ggtest,password ggtest
Successfully logged into database.

GGSCI (gg2) 2> add checkpointtable ggs.ggschkpt
Successfully created checkpoint table goldengate.rep_demo_ckpt.

add replicat gprep,exttrail /opt/ggs/dirdat/nl,checkpointtable ggs.ggschkpt
add replicat repbj,exttrail /opt/ggs/dirdat/bl,checkpointtable ggs.ggschkpt
edit parmas gprep
edit params repbj

实现双向复制,一般用于双业务中心环境下在实际应用中。双向复制(DDL+DML)面临着许多问题,主要有如下几点:
1. 如果两个库同时更新同一条记录如何处理?调整业务规则
2. 如果网络出现失败如何处理?支持断点续传
3. 如果数据不同步后如何修复?导出源端,导入目标端
总结:
双向复制避免数据冲突是难点,解决这个难点根本还是调整业务:
a) 只在一端开展业务
b) 两端开展不同业务,涉及不同数据集
c) 两端开展相同业务,但依据地域或其他条件对数据予以区分,两边不操作同一条数据


add replicat repbj,exttrail /opt/ggs/dirdat/mdgroup/bj,checkpointtable ggs.ggschkpt


GGSCI (qfangbj2) 2> view params repbj


REPLICAT repbj
ASSUMETARGETDEFS
SETENV(NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
SETENV(ORACLE_HOME = "/oracle/database/product/11.2.0/dbhome_1")
USERID ggs, PASSWORD oracleggs
APPLYNOOPUPDATES
REPERROR DEFAULT, DISCARD
discardfile ./dirrpt/repbj.dsc,APPEND,MEGABYTES 1024
DYNAMICRESOLUTION
DDL INCLUDE MAPPED
DDLERROR DEFAULT IGNORE RETRYOP
MAP GROUP.t_person, TARGET group.t_person;
MAP GROUP.t_org, TARGET group.t_org;
MAP GROUP.t_store, TARGET group.t_store;
MAP GROUPUSER.* , TARGET GROUPUSER.* ;   

alter EXTRACT MODTOSH begin 2016-01-19 17:59:10


alter EXTRACT MGOUPEXT begin 2016-01-28 03:10:10


alter REPLICAT MSZGREP begin 2016-07-25 10:50:00


alter REPLICAT MSZGREP begin now
Alter extract E2,etrollover  #具体作用了解下


加密:
[ggs@qfangbj2 ggs]$ ./keygen 192 4
mykey1  0x63E3C4423A054D1FADA86118960F9B7416731D7B4E0C4931
mykey2  0x4477853632F5E47AD58B2B0C2E1A9E23AEC65C7C7DD9483B
mykey3  0x250B462A2BE57C56FC6EF57FC524A152461A9C7DACA64845
mykey4  0x069F061E24D514322452BF735D2FA401DE6DDB7EDB73484F


DBOPTIONS DECRYPTPASSWORD AADAAAAAAAAAAAOAYHMDTEVFJJEIKEOHCBXIGAEAJEYAYHEEFDRDWEZGBIJAFEQIGJUDHBIDMGQJCJGBYELABGPEAGBCNDIH  AES192 encryptkey mykey1


排除某张表:
TABLEEXCLUDE fin.TEST
TABLE fin.*

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-7-1 15:48 , Processed in 0.094701 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表