成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Oracle數據庫10gR2中stream多源復制方法

瀏覽:160日期:2023-11-23 10:57:54

在10gR2中,oracle簡化了stream的配置的全過程,在9iR2及10gR1中,需要針對stream的捕獲、傳播、應用進程進行配置的步驟

已經被dbms_streams_adm新提供的過程(pre_instantiation_setup/post_instantiation_setup)給封裝起來啦,

配置stream只需要調用兩個存儲過程就可以搞定啦,真是太激動人心啦,下面簡單地介紹一下dbms_streams_adm的新過程的用法。

1.在stream進行配置前,需要做些準備工作

a 源庫與目標庫初始化參數的設置

alter system set aq_tm_processes=4 scope=spfile;

alter system set job_queue_processes=5 scope=spfile;

alter system set global_names=true scope=spfile;

alter system set streams_pool_size=51m scope=spfile;

說明streams_pool_size在生產環境中最好>200m

b 源庫與目標庫tnsnames.ora配置

確保正確,可用tnsping通

c 源庫與目標庫復制管理員的創建

create user strmadmin identified by strmadminpw

default tablespace &tbs_name quota unlimited on &tbs_name;

grant connect, resource, dba to strmadmin;

d 源庫與目標庫創建互連的數據鏈

connect strmadmin/strmadminpw@test96

create database link test99.net connect to strmadmin

identified by strmadminpw using 'test99';

connect strmadmin/strmadminpw@test99

create database link test96.net connect to strmadmin

identified by strmadminpw using 'test96';

說明:必須確保雙方的數據庫鏈是可以連通.

用pre_instantiation_setup/post_instantiation_setup過程時

db link必須用db_name.domain的格式

e 源庫與目標庫必須處于歸檔模式

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;

2.執行pre_instantiation_setup過程

在調用dbms_streams_adm的pre_instantiation_setup/post_instantiation_setup過程時, 它們必須成對出現,pre_instantiation_setup過程中,maintain_mode參數可取GLOBAL與 TRANSPORTABLE TABLESPACES,如果取GLOBAL時,表示全庫復制,否則可以定義需要復制的表空間; perform_actions參數為TRUE,進行配置產生的源腳本將記錄在dba_recoverable_*字典表, 如果pre_instantiation_setup執行時遇到錯誤,可以通過執行dbms_steams_adm的

recover_operation過程 在更正錯誤后繼續執行復制配置; source_database/destination_database是我們已經創建好的dblink,必須確保正確啊, 否則pre_instantiation_setup過程將會失敗,報ORA-23621錯誤,解決辦法在后面會介紹; bi_directional參數設置為true時,表示是多源復制,即目標與源庫雙向同步, 否則即只從源庫向目標庫同步數據; exclude_schemas參數指需要排除在全庫同步的表空間,多個表空間的話用逗號分開,

*表示排除配置stream時庫中已經存在的表空間;

start_processes參數指配置完成后啟動捕獲及應用進程。

SQL>connect strmadmin/strmadminpw@test96

declare

empty_tbs dbms_streams_tablespace_adm.tablespace_set;

begin

dbms_streams_adm.pre_instantiation_setup(

maintain_mode => 'GLOBAL',

tablespace_names => empty_tbs,

source_database => 'test96.net',

destination_database => 'test99.net',

perform_actions => true,

bi_directional => true,

include_ddl => true,

start_processes => true,

exclude_schemas => 'WMSYS,STRMADMIN,DBSNMP,TSMSYS,',

exclude_flags => dbms_streams_adm.exclude_flags_unsupported +

dbms_streams_adm.exclude_flags_dml + dbms_streams_adm.exclude_flags_ddl);

end;

/

如果參與復制的源庫與目標庫的db link等配置的正確,該過程將成功結束,

并且在strmadmin模式創建一系統用于復制的隊列與字典表,如果db link配置出錯,

執行pre_instantiation_setup過程時,將會報如下錯誤:

ORA-23621: Operation corresponding

3.用rman復制源庫到目標庫

a 對源庫用rman進行備份,拷貝備份集與產生的歸檔到目標庫,

并將目標庫down下來,啟動nomount狀態。

rman nocatalog target /

rman>backup database;

rman>sql'alter system archive log current';

b 求得源庫的scn

SQL>connect strmadmin/strmadminpw@test96

SQL>set serveroutput on size 1000000

SQL>declare

until_scn number;

begin

until_scn:= dbms_flashback.get_system_change_number;

dbms_output.put_line('until scn: '||until_scn);

end;

/

until scn: 429596

c 用rman將源庫復制到目標庫

rman nocatalog target /

rman> connect auxiliary sys/sys@test99

rman> run

{

set until scn 429596;

duplicate target database to 'TEST'

nofilenamecheck

open restricted;

}

d 重新命名目標庫的global_name

alter database rename global_name to test99.net;

e 重新創建目標庫的db link

connect strmadmin/strmadminpw@test99

create database link test96.net connect to strmadmin

identified by strmadminpw using 'test96';

4.執行post_instantiation_setup過程

post_instantiation_setup也在源庫執行,需要注意的參數是instantiation_scn

它的取值是我們從源庫上獲的scn的值-1=429595.

SQL>connect strmadmin/strmadminpw@test96

SQL>declare

empty_tbs dbms_streams_tablespace_adm.tablespace_set;

begin

dbms_streams_adm.post_instantiation_setup(

maintain_mode => 'GLOBAL',

tablespace_names => empty_tbs,

source_database => 'test96.net',

destination_database => 'test99.net',

perform_actions => true,

bi_directional => true,

include_ddl => true,

start_processes => true,

instantiation_scn => 429595,

exclude_schemas => '*',

exclude_flags => dbms_streams_adm.exclude_flags_unsupported +

dbms_streams_adm.exclude_flags_dml + dbms_streams_adm.exclude_flags_ddl);

end;

/

在目標庫禁止restricted session

SQL>connect sys/sys@test99.net as sysdba

SQL>alter system disable restricted session;

5.測試stream的配置結果

a 在test96上創建一個schema,并在該schema下創建一些對象,可以在test99上看到

b 在test99上創建一個schema,并在該schema下創建一些對象,可以在test96上看到

6 關于雙向復制中avoid change cycling

查看目標庫apply進程的tag:

COLUMN APPLY_NAME HEADING 'Apply Process Name' FORMAT A30

COLUMN APPLY_TAG HEADING 'Tag Value' FORMAT A30

SQL>connect sys/sys@test99 as sysdba;

SELECT APPLY_NAME, APPLY_TAG FROM DBA_APPLY;

Apply Process Name Tag Value

------------------------------ -----------

APPLY$_TEST96_42 010781

查看源庫apply進程的tag:

COLUMN APPLY_NAME HEADING 'Apply Process Name' FORMAT A30

COLUMN APPLY_TAG HEADING 'Tag Value' FORMAT A30

SQL>connect sys/sys@test99 as sysdba;

SELECT APPLY_NAME, APPLY_TAG FROM DBA_APPLY;

Apply Process Name Tag Value

------------------------------ ------------------------------

APPLY$_TEST99_15 010498

說明:消除多源復制中的遞歸問題,stream中已經有很好的消除機制,

源端正常作業寫入的redo entry的tag是NULL的,如果是由于源端的apply進程

產生的redo entry,在redo entry中將帶有tag標志,這樣在源端捕獲進程在

捕獲的redo entry中,過慮掉tag是NULL的,然后就可以消除change cycling.

10gR2stream全庫復制

以上主要為大家介紹了pre_instantiation_setup/post_instantiation_setup過程在配置全庫復制的方法,以下介紹dbms_streams_adm的maintain_global過程如何配置stream全庫復制方法,適用于10gR2及以后版本。

1l.在stream進行配置前,需要做些準備工作

a 源庫與目標庫初始化參數的設置

alter system set aq_tm_processes=4 scope=spfile;

alter system set job_queue_processes=5 scope=spfile;

alter system set global_names=true scope=spfile;

alter system set streams_pool_size=51m scope=spfile;

說明streams_pool_size在生產環境中最好>200m

b 源庫與目標庫tnsnames.ora配置

確保正確,可用tnsping通

c 源庫與目標庫復制管理員的創建

create user strmadmin identified by strmadminpw

default tablespace &tbs_name quota unlimited on &tbs_name;

grant connect, resource, dba to strmadmin;

d 源庫與目標庫創建互連的數據鏈

connect strmadmin/strmadminpw@test96

create database link test99.net connect to strmadmin

identified by strmadminpw using 'test99';

connect strmadmin/strmadminpw@test99

create database link test96.net connect to strmadmin

identified by strmadminpw using 'test96';

說明:必須確保雙方的數據庫鏈是可以連通.

用pre_instantiation_setup/post_instantiation_setup過程時

db link必須用db_name.domain的格式

e 源庫與目標庫必須處于歸檔模式

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;

f 源庫與目標庫必須創建directory

create directory dir_test96 as '/home/oracle/worksh';

create directory dir_test99 as '/home/oracle/worksh';

2.在源庫執行MAINTAIN_GLOBAL過程

SQL>connect strmadmin/strmadminpw@test96

begin

dbms_streams_adm.maintain_global(

source_directory_object => 'dir_test96',

destination_directory_object => 'dir_test99',

source_database => 'test96.net',

destination_database => 'test99.net',

perform_actions => true,

include_ddl => true,

instantiation => DBMS_STREAMS_ADM.INSTANTIATION_FULL_NETWORK);

end;

說明:在執行maintain_global時,源庫與目標庫必須創建directory,然后在源庫執行, 目標庫幾乎什么都不用做,stream環境已經配置完畢。

標簽: Oracle 數據庫
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
色爱区综合激月婷婷| 欧美成人a视频| 欧美高清精品3d| 一区二区国产视频| 影音先锋中文字幕一区二区| 久久精品一区二区三区四区| 国产精品996| 欧美午夜视频网站| 五月综合激情婷婷六月色窝| 一区二区毛片| 亚洲老妇xxxxxx| 午夜亚洲福利| 国产欧美视频一区二区三区| 99精品热视频| 一区二区三区色| 亚洲高清不卡| 欧美国产综合一区二区| 91丨九色丨尤物| 日韩片之四级片| 国产呦精品一区二区三区网站| 欧美在线一二三| 青娱乐精品视频| 在线视频欧美精品| 蜜臀精品久久久久久蜜臀| 久久国产一区二区| 午夜亚洲国产au精品一区二区| 国产精品推荐精品| 亚洲成人免费电影| 国产精品视频免费观看| 亚洲精品福利视频网站| 国产欧美日韩| 亚洲一二三区不卡| 免费在线成人| 蜜芽一区二区三区| 一本大道av伊人久久综合| 日本在线不卡视频| 欧美色欧美亚洲另类二区| 韩国一区二区三区| 91精品国产91久久综合桃花| 波多野结衣在线一区| 国产视频一区在线播放| 91免费版pro下载短视频| 欧美激情综合五月色丁香小说| 欧美成ee人免费视频| 中文av一区特黄| 亚洲二区在线| 日日摸夜夜添夜夜添亚洲女人| 欧美日韩亚洲综合| 大美女一区二区三区| 精品国产成人系列| 欧美日韩在线大尺度| 亚洲精品菠萝久久久久久久| 久久综合五月| 国产乱人伦偷精品视频免下载| 日韩欧美中文一区| 欧美不卡一卡二卡免费版| 亚洲蜜臀av乱码久久精品蜜桃| 在线一区欧美| 免播放器亚洲一区| 精品欧美一区二区三区精品久久| 午夜精品久久久久99热蜜桃导演| 亚洲色图视频网| 色综合久久天天综合网| 在线观看欧美精品| 国产大陆亚洲精品国产| 久久精品视频免费| 一本综合精品| 精品中文av资源站在线观看| 精品成人在线观看| 亚洲伦理精品| 精品制服美女久久| 国产三级一区二区三区| 国产精品区二区三区日本| 久久国产精品99久久久久久老狼 | 久久一区国产| 国产精品一区在线观看你懂的| 久久先锋资源网| 国产深夜精品| 国产成人精品三级麻豆| 中文字幕一区av| 欧洲人成人精品| 午夜精品av| 日本欧美肥老太交大片| 亚洲精品一线二线三线无人区| 亚洲精品乱码视频| 国产精品99久久久久久宅男| 亚洲精品欧美专区| 日韩亚洲欧美一区二区三区| 国产欧美日韩在线播放| 国产激情91久久精品导航| 亚洲桃色在线一区| 视频一区视频二区中文| 亚洲精品一区二区三区精华液 | 亚洲三级视频在线观看| 91精品在线观看入口| 亚洲色诱最新| 成人一二三区视频| 亚洲不卡一区二区三区| 欧美va日韩va| 久久激情久久| 91麻豆精东视频| 男人的j进女人的j一区| 国产欧美一区二区精品性色超碰| 久久亚洲欧洲| 欧美日本国产| 国产一本一道久久香蕉| 亚洲精品中文在线影院| 日韩亚洲欧美综合| 久热这里只精品99re8久| 欧美~级网站不卡| 91精品国产91久久综合桃花| 亚洲一区二区三区四区五区午夜| 99在线精品免费| 图片区小说区国产精品视频| 中文字幕第一区综合| 91麻豆精品国产自产在线观看一区| 日韩视频精品在线观看| 高清久久久久久| 日韩国产欧美在线播放| 国产精品久久午夜夜伦鲁鲁| 91精品国产综合久久婷婷香蕉| 国产亚洲在线观看| 欧美日韩在线一二三| 国产在线观看免费一区| 亚洲综合免费观看高清完整版在线 | 日韩精品1区2区3区| 欧美韩国日本综合| 日韩一区二区电影网| 久久久久国产精品一区二区| 国产精品国产三级国产专区53| 国产99一区视频免费| 奇米一区二区三区av| 亚洲精品一二三区| 欧美激情中文字幕一区二区| 日韩欧美国产系列| 亚洲成人www| 亚洲人成小说网站色在线| 久久久久久久综合| 日韩欧美国产综合在线一区二区三区| 在线免费观看日韩欧美| 国产精品一区二区三区观看| 国产精品二区在线观看| www.亚洲国产| 国产一区激情在线| 五月天激情小说综合| 亚洲精品视频在线观看免费| 久久视频一区二区| 91精品国产综合久久精品| 日本韩国视频一区二区| 国产欧美丝祙| 狠狠爱综合网| 欧美淫片网站| 99视频一区二区| 国产91精品免费| 国产麻豆视频一区| 狠狠色综合日日| 蜜臀久久99精品久久久久宅男 | eeuss影院一区二区三区| 狠狠色综合日日| 日本不卡一区二区三区| 亚洲最色的网站| 综合欧美一区二区三区| 国产精品天干天干在线综合| 欧美成人一级视频| 91精品国产综合久久蜜臀| 欧美日韩亚洲综合| 欧美三级乱人伦电影| 在线一区二区视频| 一本高清dvd不卡在线观看 | 久久久国际精品| 久久久久久久一区| 久久久久久久久久美女| 精品国偷自产国产一区| 日韩写真欧美这视频| 日韩精品一区二区三区视频在线观看 | 欧美成人官网二区| 日韩欧美电影一二三| 欧美丰满少妇xxxbbb| 欧美视频日韩视频在线观看| 欧洲另类一二三四区| 欧美色爱综合网| 欧美群妇大交群中文字幕| 91麻豆精品国产91久久久久久久久 | 日本一区二区视频在线| 久久美女艺术照精彩视频福利播放 | 在线一区免费观看| 亚洲一区二区三区四区中文| 国产精品一页| 免费日韩视频| 在线观看av不卡| 欧美精品 国产精品| 欧美精品亚洲二区| 日韩一级免费一区| 久久综合久久久久88| 国产农村妇女精品| 亚洲欧美一区二区三区久本道91| 亚洲线精品一区二区三区| 日本伊人午夜精品| 国产乱码精品一区二区三区忘忧草 | 亚洲免费在线视频一区 二区|