ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 3910|回复: 15

[原创] ogg用户数据重新初始化(工作笔记)

[复制链接]
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
发表于 2016-5-20 15:31 | 显示全部楼层 |阅读模式
本帖最后由 zcs0237 于 2016-5-23 22:08 编辑

环境说明:

一、生产库
1.db
SQL> show rel
release 1002000400
  

2.ogg

/oggsoft/ggsci -v


Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.1.5_02 14642261 OGGCORE_11.1.1.1.6_PLATFORMS_121002.1405
AIX 5L, ppc, 64bit (optimized), Oracle 10.2 on Oct  2 2012 20:17:46


Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
3.AIX os
#oslevel -s
6100-04-03-1009


二、BI库版本


1.db
SQL> show rel
release 11020003002.ogg

2.ogg
-bash-3.2$ /oggsoft/ggsci -v


Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230
AIX 5L, ppc, 64bit (optimized), Oracle 11g on Apr 23 2012 05:03:51


Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
3.AIX os
# oslevel -s
6100-04-03-1009


三、网上找了幅图:

0768726f561252d380eb6e82.jpg

求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:31 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 15:59 编辑

01-bi库-将不能覆盖的两张表改名并导出  
  
1.两张表改名
alter table circreport.statmonthvalue rename to statmonthvalue0520;
alter table circreport.stattotalvalue rename to stattotalvalue0520;
2.两张表导出
-bash-3.2$ time expdp circreport/* directory=bk dumpfile=tow1.dmp  logfile=bk:tow1.log tables='STATMONTHVALUE0520','STATTOTALVALUE0520'  exclude=STATISTICS
. . exported "CIRCREPORT"."STATTOTALVALUE0520"           463.8 MB 4255591 rows
. . exported "CIRCREPORT"."STATMONTHVALUE0520"           286.9 MB 2848878 rows
Master table "CIRCREPORT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for CIRCREPORT.SYS_EXPORT_TABLE_01 is:
  /dmpbk/tow1.dmp
Job "CIRCREPORT"."SYS_EXPORT_TABLE_01" successfully completed at 14:44:32


real    0m54.929s
user    0m0.016s
sys     0m0.008s




使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:32 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 20:32 编辑

02-bi库-老circreport用户及数据清理  
  
1.查circdata是否活动-杀用户会话

set linesize 333
col username for a9
col MACHINE for a15
col EVENT   for a33
col FIRST_LOAD_TIME for a22
col LAST_LOAD_TIME for a22
select a.username ,a.EVENT, a.MACHINE,b.FIRST_LOAD_TIME,b.LAST_LOAD_TIME,b.LAST_ACTIVE_TIME
from v$session a, v$sql b
where a.SQL_ID = b.SQL_ID
and a.USERNAME is not null
and a.username='CIRCREPORT';
--no rows selected
2.查circreport用户数据所在的表空间
SQL> select distinct tablespace_name from dba_segments where owner='CIRCREPORT';
--RULEDATA
2.清理数据(可省略)
(1)查cricreport数据量
select ceil(sum(BYTES)/1024/1024/1024) GB
from dba_segments where owner='CIRCREPORT';
--6
(2)生成脚本
conn circreport/*
col segment_name for a29
set pagesize 0
set feedback off;
set echo off;
spool /tmp/tk.sql
select 'truncate table circreport.'||segment_name||';' from user_segments where segment_type='TABLE';
spool off
(3)查看/编辑/脚本(去掉不需要的行)  
$ nl /tmp/tk.sql|tail -1
    61  truncate table circreport.STATITEMSUB;                                                               
$ nl /tmp/tk.sql|head -1   
     1  SQL> select 'truncate table circreport.'||segment_name||';' from user_segments where segment_type='TABLE';
$ vi /tmp/tk.sql
$ nl /tmp/tk.sql|head -1
    61  truncate table circreport.STATITEMSUB4;
(4) start /tmp/tk.sql
3.删除老circreport
SQL> drop user circreport  cascade;

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:34 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 17:26 编辑

03-生产库-FLASHBACK_SCN导出circreport用户

1.查circreport用户数据所在的表空间
SQL> select distinct tablespace_name from dba_segments where owner='CIRCREPORT';
--RULEDATA
2.获取scn
set lines 200
col scn format 999999999999999999999
SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER as scn FROM DUAL;
--13745658299413
3.执行数据导出
$ nohup expdp system/* DIRECTORY=bk dumpfile=circrpt.dmp logfile=circrpt.log schemas=circreport FLASHBACK_SCN=13745658299413  exclude=STATISTICS &

$ tail -f nohup.out
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_04" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_04 is:
  /dmpbk/circrpt.dmp
Job "SYSTEM"."SYS_EXPORT_SCHEMA_04" successfully completed at 12:34:27



使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:34 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 16:00 编辑

04-bi库-导入circreport下的元数据

$ nohup impdp system/*   DIRECTORY=bk dumpfile=circrpt.dmp logfile=circrptin.log schemas=circreport  content=metadata_only cluster=n &

$ tail -f nohup.log

Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
Job "SYSTEM"."SYS_IMPORT_SCHEMA_04" completed with 198 error(s) at 12:41:11







使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:36 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 16:01 编辑

05-bi库-禁用JOB-外键-trigger

一、禁用JOB
1.生成脚本
set lines 200
set pages 1000
select 'exec dbms_job.broken(' || job ||',true);'
from dba_jobs
where log_user in ('CIRCREPORT') ;
no rows selected
2.执行上述脚本

二、禁用外键

1.生成脚本
set lines 200
set pages 1000
select 'alter table '||owner||'.'||table_name|| ' disable constraint '||constraint_name||';'
from dba_constraints
where constraint_type = 'R'
and  owner in ('CIRCREPORT') ;
no rows selected

2.执行上述脚本

三、禁用trigger
1.生成脚本

set lines 200
set pages 1000
select 'alter trigger '||owner||'.'||trigger_name|| ' disable '||';'
from dba_triggers
where owner in ('CIRCREPORT') ;   
no rows selected
2.执行上述脚本





使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:37 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 16:02 编辑

06-bi库-导入circreport用户数据-复查触发器等

一、导入circreport用户数据
nohup impdp system/*   DIRECTORY=bk dumpfile=circrpt.dmp logfile=circrptin.log schemas=circreport  cluster=n table_exists_action=append &

二、bi库-复查触发器等禁用否
1、禁用JOB
set lines 200
set pages 1000
select 'exec dbms_job.broken(' || job ||',true);'
from dba_jobs
where log_user in ('CIRCREPORT') ;
no rows selected
2、禁用外键
set lines 200
set pages 1000
select 'alter table '||owner||'.'||table_name|| ' disable constraint '||constraint_name||';'
from dba_constraints
where constraint_type = 'R'
and  owner in ('CIRCREPORT') ;
no rows selected

3、禁用trigger
set lines 200
set pages 1000
select 'alter trigger '||owner||'.'||trigger_name|| ' disable '||';'
from dba_triggers
where owner in ('CIRCREPORT') ;   
no rows selected

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:39 | 显示全部楼层
本帖最后由 zcs0237 于 2016-6-3 08:38 编辑

07-bi库-ogg重新添加复制进程REP_CIRC并aftercsn启动

一、bi库-删除才的ogg-circreport进程


1.备份rep_circ-prm
-bash-3.2$ cd /oggsoft/dirprm
-bash-3.2$ mv rep_circ.prm{,.20160520}

2.删除前有REP_CIRC

GGSCI (Ccbiora01) 1>
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
...
REPLICAT    ABENDED     REP_CIRC    00:00:00      2950:01:13  


3.删除REP_CIRC
GGSCI (Ccbiora01) 3> dblogin userid system,password *
Successfully logged into database.

GGSCI (Ccbiora01) 4> DELETE REPLICAT   REP_CIRC
Deleted REPLICAT REP_CIRC.

二、添加复制进程名REP_CIRC

GGSCI (Ccbiora01) 3> dblogin userid system,password oracle
Successfully logged into database.

GGSCI (Ccbiora01) 7>  ADD REPLICAT REP_CIRC,  EXTTRAIL ./dirdat/bj
REPLICAT added.

三、生成REP_CIRC进程的参数文件内容
GGSCI (Ccbiora01) 8> edit param REP_CIRC
REPLICAT rep_circ
USERID goldengate, PASSWORD goldengate
REPERROR DEFAULT, abend
ASSUMETARGETDEFS
DBOPTIONS DEFERREFCONST
DISCARDFILE ./dirrpt/rep_circ.dsc, APPEND, MEGABYTES 100


HANDLECOLLISIONS
GROUPTRANSOPS 2000
BATCHSQL BATCHESPERQUEUE 500, BYTESPERQUEUE 1000000,OPSPERBATCH 2000
MAXTRANSOPS 2000
--SHOWSYNTAX
--NODYNSQL
--NOBINARYCHARS
--grouptransops 1
--maxtransops 1

ddl include MAPPED exclude OPTYPE alter OBJTYPE 'trigger'
ddloptions report
ddlerror 1430 ignore
DDLERROR 24344 DISCARD
DDLERROR 1435 DISCARD
DDLERROR 955 DISCARD
DDLERROR 2260 DISCARD
ddlerror 2275 discard
ddlerror 942 discard
ddlerror 2443 discard
ddlerror 1917 discard
ddlerror 955 discard
ddlerror 2261 discard
ddlerror 957 discard
DDLERROR DEFAULT abend


WILDCARDRESOLVE DYNAMIC
Dynamicresolution
ALLOWNOOPUPDATES

tableexclude *.SYS_EXPORT_TABLE*;
tableexclude *.SYS_EXPORT_SCHEMA*;
tableexclude *.SYS_EXPORT_FULL*;
tableexclude *.ET*;
tableexclude *.STATHANDTOTALVALUE;

四、启动新添加的REP_CIRC复制进程

GGSCI (Ccbiora01) 8> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt
...   
REPLICAT    STOPPED     REP_CIRC    00:00:00      00:00:05   

指定复制进程启动几小时前trail文件号
$ls -lt |grep  'Jun 01'|tail -3

几小时前的extseqno
    alter replicat caicqcar,extseqno 9812,extrba 0



GGSCI (Ccbiora01) 9> start replicat REP_SFM aftercsn 13745658299413

GGSCI (Ccbiora01) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt
...   
REPLICAT    RUNNING     REP_CIRC    00:00:00      00:00:04   


使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:56 | 显示全部楼层
本帖最后由 zcs0237 于 2016-5-20 17:27 编辑

08-bi库-导入statmonthvalue0520-stattotalvalue0520

$ time impdp circreport/*  directory=bk dumpfile=tow.dmp  logfile=bk:tin.log tables='STATMONTHVALUE0520','STATTOTALVALUE0520'
$ tail -f /ftp/tin.log
. . imported "CIRCREPORT"."STATTOTALVALUE0520"           463.8 MB 4255591 rows
. . imported "CIRCREPORT"."STATMONTHVALUE0520"           286.9 MB 2848878 rows

使用道具 举报

回复
求职 : 数据库管理员
招聘 : Oracle OCP专职讲师
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:12itpub13周年纪念徽章
日期:2014-12-30 09:02:12BLOG每日发帖之星
日期:2015-08-17 16:57:372015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:242010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:19
 楼主| 发表于 2016-5-20 15:58 | 显示全部楼层
本帖最后由 zcs0237 于 2016-6-3 08:38 编辑


欢迎批评指导

使用道具 举报

回复

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

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表