国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle的同步復(fù)制研究

2024-08-29 13:40:59
字體:
供稿:網(wǎng)友

  1、數(shù)據(jù)庫支持高級(jí)復(fù)制功能
  您可以用system身份登錄數(shù)據(jù)庫,查看v$option視圖,假如其中Advanced replication為TRUE,則支持高級(jí)復(fù)制功能;否則不支持。
  2、數(shù)據(jù)庫初始化參數(shù)要求
  ①、db_domain = test.com.cn
  指明數(shù)據(jù)庫的域名(默認(rèn)的是WORLD),這里可以用您公司的域名。
  ②、global_names = true
  它要求數(shù)據(jù)庫鏈接(database link)和被連接的數(shù)據(jù)庫名稱一致。
  現(xiàn)在全局?jǐn)?shù)據(jù)庫名:db_name+”.”+db_domain
  ③、有跟數(shù)據(jù)庫job執(zhí)行有關(guān)的參數(shù)
  job_queue_PRocesses = 1 定義SNP進(jìn)程的啟動(dòng)個(gè)數(shù)為n。系統(tǒng)缺省值為0,正常定義范圍為0~36,根據(jù)任務(wù)的多少,可以配置不同的數(shù)值。
  job_queue_interval = 60 定義系統(tǒng)每隔N秒喚醒該進(jìn)程一次。系統(tǒng)缺省值為60秒,正常范圍為1~3600秒。事實(shí)上,該進(jìn)程執(zhí)行完當(dāng)前任務(wù)后,就進(jìn)入睡眠狀態(tài),睡眠一段時(shí)間后,由系統(tǒng)的總控負(fù)責(zé)將其喚醒。
  distributed_transactions = 10
  open_links = 4
  
  假如修改了以上這幾個(gè)參數(shù),需要重新啟動(dòng)數(shù)據(jù)庫以使參數(shù)生效。
  
  數(shù)據(jù)庫名 ying    orcl
  數(shù)據(jù)庫域名   test.com.cn  test.com.cn
  數(shù)據(jù)庫sid號(hào)   ying orcl
  Listener端口號(hào) 1521 1521
  服務(wù)器ip地址 10.10.3.76 10.10.3.74
  
  2、改數(shù)據(jù)庫全局名稱,建公共的數(shù)據(jù)庫鏈接。
  ①、用system身份登錄ying數(shù)據(jù)庫
  alter database rename global_name to ying.test.com.cn
  用system身份登錄orcl數(shù)據(jù)庫:
  alter database rename global_name to orcl.test.com.cn
  
  ②、用system身份登錄ying數(shù)據(jù)庫
  create public database link ying.test.com.cn using 'ying';
  select * from global_name@ying.test.com.cn
  用system身份登錄orcl數(shù)據(jù)庫:
  create public database link orcl.test.com.cn using 'orcl'
  select * from global_name@orcl.test.com.cn
  
  3、建立治理數(shù)據(jù)庫復(fù)制的用戶repadmin,并賦權(quán)。
  ①、用system身份登錄ying數(shù)據(jù)庫
  create user repadmin identified by repadmin default tablespace users temporary tablespace temp
  begin
  dbms_defer_sys.register_propagator('repadmin');
  end;
  grant execute any procedure to repadmin;
  begin
  dbms_repcat_admin.grant_admin_any_repgroup('repadmin');
  end;
  grant comment any table to repadmin;
  grant lock any table to repadmin;
  
  ②、同樣用system身份登錄orcl數(shù)據(jù)庫,運(yùn)行以上的命令,治理數(shù)據(jù)庫復(fù)制的用戶repadmin,并賦權(quán)。
  create user repadmin identified by repadmin default tablespace users temporary tablespace temp
  begin
  dbms_defer_sys.register_propagator('repadmin');
  end;
  grant execute any procedure to repadmin;
  begin
  dbms_repcat_admin.grant_admin_any_repgroup('repadmin');
  end;
  grant comment any table to repadmin;
  grant lock any table to repadmin;
  
  *********************************************************************
  說明:repadmin用戶名和密碼可以根據(jù)用戶的需求自由命名。
  *********************************************************************
  
  4、在數(shù)據(jù)庫復(fù)制的用戶repadmin下創(chuàng)建私有的數(shù)據(jù)庫鏈接。
  ①、用repadmin身份登錄ying數(shù)據(jù)庫
  create database link orcl.test.com.cn connect to repadmin identified by repadmin;
  select * from global_name@orcl.test.com.cn; --測試
  ②、用repadmin身份登錄orcl數(shù)據(jù)庫
  create database link ying.test.com.cn connect to repadmin identified by repadmin;
  select * from global_name@ying.test.com.cn; --測試
  
  5、創(chuàng)建或選擇實(shí)現(xiàn)數(shù)據(jù)庫復(fù)制的用戶和對(duì)象,給用戶賦權(quán),數(shù)據(jù)庫對(duì)象必須有主要害字。

  假設(shè)我們用Oracle里舉例用的water用戶,t_file_all表。
  ①、用internal身份登錄ying數(shù)據(jù)庫,創(chuàng)建water用戶并賦權(quán)
  SQL>create user water identified by water default tablespace water temporary tablespace water;
  SQL>grant connect, resource to water;
  SQL>grant execute on sys.dbms_defer to water;
  ②、用water身份登錄ying數(shù)據(jù)庫,創(chuàng)建表t_file_all
  ③、假如數(shù)據(jù)庫對(duì)象沒有主要害字,可以運(yùn)行以下SQL命令添加:
  alter table t_file_all add (constraint t_file_all_key primary key (t_file_all_id));
  ④、在ying數(shù)據(jù)庫water用戶下創(chuàng)建主要害字的序列號(hào),范圍避免和orcl的沖突。
  ⑤、在ying數(shù)據(jù)庫water用戶下插入初始化數(shù)據(jù)
  ⑥、在orcl數(shù)據(jù)庫那邊同樣運(yùn)行以上①,②,③
  ⑦、在orcl數(shù)據(jù)庫water用戶下創(chuàng)建主要害字的序列號(hào),范圍避免和water的沖突。
  ⑧、在beijing數(shù)據(jù)庫scott用戶下插入初始化數(shù)據(jù)
  
  6、創(chuàng)建要復(fù)制的組water_t_file_all,加入數(shù)據(jù)庫對(duì)象,產(chǎn)生對(duì)象的復(fù)制支持
  ①、用repadmin身份登錄ying數(shù)據(jù)庫,創(chuàng)建主復(fù)制組water_t_file_all
  begin
  dbms_repcat.create_master_repgroup('water_t_file_all');
  end;
  ②、在復(fù)制組scott_mg里加入數(shù)據(jù)庫對(duì)象
  begin
  dbms_repcat.create_master_repobject
  (sname=>'water',oname=>'t_file_all',
  type=>'table',use_existing_object=>true,
  gname=>'water_t_file_all'
  );
  end;
  *******************************
  參數(shù)說明:
  sname 實(shí)現(xiàn)數(shù)據(jù)庫復(fù)制的用戶名稱
  oname 實(shí)現(xiàn)數(shù)據(jù)庫復(fù)制的數(shù)據(jù)庫對(duì)象名稱
  (表名長度在27個(gè)字節(jié)內(nèi),程序包名長度在24個(gè)字節(jié)內(nèi))
  type 實(shí)現(xiàn)數(shù)據(jù)庫復(fù)制的數(shù)據(jù)庫對(duì)象類別
  (支持的類別:表,索引,同義詞,觸發(fā)器,視圖,過程,函數(shù),程序包,程序包體)
  use_existing_object true表示用主復(fù)制節(jié)點(diǎn)已經(jīng)存在的數(shù)據(jù)庫對(duì)象
  gname 主復(fù)制組名
  *******************************
  ③、對(duì)數(shù)據(jù)庫對(duì)象產(chǎn)生復(fù)制支持
  begin
  dbms_repcat.generate_replication_support('water','t_file_all','table');
  end;
  (說明:產(chǎn)生支持water用戶下t_file_all表復(fù)制的數(shù)據(jù)庫觸發(fā)器和程序包)
  ④、確認(rèn)復(fù)制的組和對(duì)象已經(jīng)加入數(shù)據(jù)庫的數(shù)據(jù)字典
  select gname, master, status from dba_repgroup --測試
  select * from dba_repobject --測試
  
  7、創(chuàng)建主復(fù)制節(jié)點(diǎn)
  ①、用repadmin身份登錄ying數(shù)據(jù)庫,創(chuàng)建主復(fù)制節(jié)點(diǎn)
  begin
  dbms_repcat.add_master_database
  (gname=>'water_t_file_all',
  master=>'orcl.test.com.cn',
  use_existing_objects=>true,
  copy_rows=>false,
  propagation_mode => 'asynchronous');
  end;
  **********************************************
  參數(shù)說明:
  gname 主復(fù)制組名
  master 加入主復(fù)制節(jié)點(diǎn)的另一個(gè)數(shù)據(jù)庫
  use_existing_object true表示用主復(fù)制節(jié)點(diǎn)已經(jīng)存在的數(shù)據(jù)庫對(duì)象
  copy_rows false表示第一次開始復(fù)制時(shí)不用和主復(fù)制節(jié)點(diǎn)保持一致
  propagation_mode 異步地執(zhí)行
  ***********************************************
  select * from user_jobs; --測試是否在復(fù)制任務(wù)中
  
  8、使同步組的狀態(tài)由停頓(quiesced )改為正常(normal)
  ①、用repadmin身份登錄ying數(shù)據(jù)庫,運(yùn)行以下命令
  begin
  dbms_repcat.resume_master_activity('water_t_file_all',false);
  end;
  --不行用該命令
  begin
  dbms_repcat.resume_master_activity('water_t_file_all',true);
  end;
  --測試同步是否正常(status為normal)
  select gname, master, status from dba_repgroup
  
  9、創(chuàng)建復(fù)制數(shù)據(jù)庫的時(shí)間表,我們假設(shè)用固定的時(shí)間表:1分鐘復(fù)制一次。
  ①、用repadmin身份登錄ying數(shù)據(jù)庫,運(yùn)行以下命令
  begin
  dbms_defer_sys.schedule_push (
  destination => 'orcl.test.com.cn',
  interval => 'sysdate + 1/(60*24)', --每隔1分鐘
  next_date => sysdate);

  end;
  /
  begin
  dbms_defer_sys.schedule_purge (
  next_date => sysdate,
  interval => 'sysdate + 1/(60*24)',
  delay_seconds => 0,
  rollback_segment => '');
  end;
  
  ②、用repadmin身份登錄orcl數(shù)據(jù)庫,運(yùn)行以下命令
  begin
  dbms_defer_sys.schedule_push (
  destination => 'ying.test.com.cn',
  interval => 'sysdate + 1/(60*24)', --每隔1分鐘
  next_date => sysdate);
  end;
  /
  begin
  dbms_defer_sys.schedule_purge (
  next_date => sysdate,
  interval => 'sysdate + 1/(60*24)', --每隔1分鐘
  delay_seconds => 0,
  rollback_segment => '');
  end;
  
  10、添加或修改兩邊數(shù)據(jù)庫的記錄,跟

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巴里| 沁源县| 长丰县| 诏安县| 唐河县| 科尔| 木兰县| 巴中市| 浦江县| 南雄市| 韩城市| 和平县| 铜梁县| 玛多县| 汉阴县| 沂水县| 磐安县| 阿拉善右旗| 柳河县| 土默特左旗| 乐陵市| 叙永县| 左权县| 白玉县| 阜宁县| 清丰县| 凌云县| 九龙城区| 芜湖县| 太仆寺旗| 西乌珠穆沁旗| 格尔木市| 基隆市| 安乡县| 卢氏县| 凤冈县| 清水县| 河间市| 鹿邑县| 东安县| 宁国市|