真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Oracle學(xué)習(xí)之DATAGUARD(五)創(chuàng)建logicstandby-創(chuàng)新互聯(lián)

     邏輯備庫與物理備庫不同,它并不是Primary數(shù)據(jù)庫的一個精確的copy。同一rowid,在邏輯備庫上返回的值并不是相同的。有些數(shù)據(jù)類型或者對象,邏輯備庫并不支持同步。在創(chuàng)建邏輯備庫之前,你首先要確認,哪些schema及對象是不被SQL-APPLY支持的。

創(chuàng)新互聯(lián)公司主營額濟納網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),額濟納h5小程序開發(fā)搭建,額濟納網(wǎng)站營銷推廣歡迎額濟納等地區(qū)企業(yè)咨詢

 1. 查詢不被同步的schema 。

SQL> set pagesize 200 SQL> SELECT OWNER FROM DBA_LOGSTDBY_SKIP WHERE STATEMENT_OPT = 'INTERNAL SCHEMA'; OWNER ------------------------------- SYS SYSTEM OUTLN MGMT_VIEW MDSYS ORDSYS EXFSYS DBSNMP WMSYS APPQOSSYS APEX_030200 ORDDATA CTXSYS ANONYMOUS SYSMAN XDB ORDPLUGINS OWBSYS SI_INFORMTN_SCHEMA OLAPSYS ORACLE_OCM XS$NULL DIP 23 rows selected.

2. 查詢哪些表是不被執(zhí)行的。

SQL> SELECT DISTINCT OWNER,TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED ORDER BY OWNER,TABLE_NAME; no rows selected

3. 如果上步返回數(shù)據(jù),可以通過如下查詢得知是哪些類型不被支持

SQL> SELECT COLUMN_NAME,DATA_TYPE FROM DBA_LOGSTDBY_UNSUPPORTED WHERE OWNER='OE' AND TABLE_NAME = 'CUSTOMERS'; no rows selected

4. 邏輯備庫的SQL-APPLY是通過表的唯一標(biāo)識進行的,也就是說表必須有主鍵或者唯一性索引。

SQL> col owner for a10 SQL> col table_name for a30 SQL> SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_NOT_UNIQUE; OWNER    TABLE_NAME ---------- ------------------------------ SCOTT    BONUS SCOTT    SALGRADE SCOTT    T1

如果表沒有主鍵或唯一約束怎么辦?Oracle會在日志文件中寫入supplemental logging 。也就是會寫入大量的附加信息,用所有的column的值以構(gòu)建update時的唯一性。

當(dāng)然也有一些表是無法構(gòu)建唯一性的,可以通過如下語句查詢

SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_NOT_UNIQUE WHERE (OWNER, TABLE_NAME) NOT IN (SELECT DISTINCT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED) AND BAD_COLUMN = 'Y';

5. 關(guān)閉物理備庫的日志應(yīng)用

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; Database altered.

6. 構(gòu)建創(chuàng)建邏輯備庫必要的數(shù)據(jù)字典。

轉(zhuǎn)到主庫上執(zhí)行如下命令

SQL> EXECUTE DBMS_LOGSTDBY.BUILD; PL/SQL procedure successfully completed.

 此命令做了如下事情

  • 主庫上開啟supplemental logging功能。

  • 在主庫上構(gòu)建LogMiner的數(shù)據(jù)字典,使得邏輯備庫知道如何處理主庫發(fā)來的redo數(shù)據(jù)。

  • 記錄一個scn號,從庫上的SQL-APPLY方式日志應(yīng)用從此scn號開始。

7. 如果有主備切換的需求,那么必須先在standby數(shù)據(jù)庫上手工開啟supplemental logging。

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS; Database altered.

8. 在從庫上應(yīng)用切換成邏輯備庫之前的redo

 SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY "standby"; ALTER DATABASE RECOVER TO LOGICAL STANDBY "standby" * ERROR at line 1: ORA-19953: database should not be open SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area  839282688 bytes Fixed Size      2233000 bytes Variable Size    494931288 bytes Database Buffers   339738624 bytes Redo Buffers      2379776 bytes Database mounted. SQL> ALTER DATABASE RECOVER TO LOGICAL STANDBY "standby"; Database altered.

 9. 打開數(shù)據(jù)庫

SQL> shutdown immediate ORA-01507: database not mounted ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area  839282688 bytes Fixed Size      2233000 bytes Variable Size    494931288 bytes Database Buffers   339738624 bytes Redo Buffers      2379776 bytes Database mounted. SQL> alter database open resetlogs; Database altered. SQL>

10. 啟動日志應(yīng)該

SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; Database altered.

11. 驗證數(shù)據(jù)同步

主庫

SQL> conn scott/tiger Connected. SQL> select count(*) from t1;   COUNT(*) ----------  14 SQL> insert into t1 select * from t1; 14 rows created. SQL> commit; Commit complete.

從庫上查詢數(shù)據(jù)

SQL> conn scott/tiger Connected. SQL> select count(*) from t1;   COUNT(*) ----------  28

從庫也能建立表,修改數(shù)據(jù)等。

SQL> conn / as sysdba Connected. SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY; Database altered. SQL> ALTER SESSION DISABLE GUARD; Session altered. SQL> create table scott.t2 as select * from scott.t1; Table created. SQL> ALTER SESSION ENABLE GUARD; Session altered. SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; Database altered. SQL> conn / as sysdba Connected. SQL>  ALTER SESSION DISABLE GUARD; Session altered. SQL> insert into scott.t1 select * from scott.t1; 28 rows created. SQL> commit; Commit complete. SQL> alter session enable guard; Session altered.

被DataGuard傳輸?shù)谋?,也能被修改?shù)據(jù),這個還蠻危險的,兩邊的數(shù)據(jù)就不一致啦。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


當(dāng)前文章:Oracle學(xué)習(xí)之DATAGUARD(五)創(chuàng)建logicstandby-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/hopep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部