配置GoldenGate啟動DDL支援同步DDL操作
4、配置DDL支援
4.1 配置使用者及表空間
一般第一步都是建立使用者。前面我們已經做過操作,使用者已建好,這裡仍然沿用前面建立的ggate使用者,當然此刻也可以建立一個新的使用者,注意使用者的預設表空間不要指定為SYSTEM,否則在初始化DDL支援時可能會遇到段無法擴充套件,或包無法編譯等錯誤。
正式應用的話,需要注意ggate使用者所在表空間是否有充足的空間。
為ggate使用者授予utl_file的execute許可權,執行命令如下:
SQL> grant execute on utl_file to ggate;
Grant succeeded.
4.2 配置全域性引數檔案
- GGSCI (ora9node1) 14> edit param ./GLOBALS
增加下列內容:
- GGSCHEMA ggate
接下來有一個可選操作,就是說是否要自定義DDL相關物件的名稱,一般情況下不需要修改,ORACLE也建議保持資料庫物件預設值,如果由於某些特殊的需求要改的話,那麼就需要現在改,而不能等到部署完成。
修改主要是透過重定義params.sql中的相關變數值,該檔案位於GoldenGate軟體安裝目錄下,編譯並儲存即可。
另外,改完params.sql後,還需要修改GLOBALS配置檔案,新增物件名稱的對應關係,例如:
MARKERTABLE
前者表示Marker表,後一個表示DDL歷史表。
4.3 執行配置指令碼
接下來要執行一堆的SQL指令碼,這些指令碼均在GoldenGate安裝目錄,因此建議移動到GoldenGate目錄下,以方便呼叫指令碼(當然,直接完整路徑方式呼叫也是可以的):
- [oracle@ora9node1 ~]$ cd /data/oracle/ora9i/ggate/
以SYSDBA身份登入到SQL*Plus,此時應該斷開所有連線到ORACLE資料庫的會話,並且不再允許建立新會話,僅保留剛剛建立的SYSDBA身份登入的SQL*Plus。
本步要執行的指令碼比如多,先列個列表備忘:
- marker_setup.sql
- ddl_setup.sql
- role_setup.sql
- Grant the role to all GoldenGate Extract users
- ddl_enable.sql
- install and use the optional performance tool
詳細執行步驟如下:
4.3.1 執行marker_setup指令碼
該指令碼安裝marker系統,這部分為啟用DLL支援所必備,執行該指令碼時會提示輸入GoldenGate管理帳戶schema名,例如:
[oracle@ora9node1 ggate]$ sqlplus "/ as sysdba"
SQL> set line 150 pages 1000
SQL> @marker_setup
Marker setup script.
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggate
Marker setup table script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGATE
MARKER TABLE
-------------------------------
OK
MARKER SEQUENCE
-------------------------------
OK
Script complete.
4.3.2 執行ddl_setup指令碼
執行該指令碼要確認關閉掉所有ORACLE會話,未被關閉的會話會以列表形式顯示,執行過程中會要求希望物件屬主,並選擇安裝模式。
如果是初次安裝就選擇“INITIALSETUP”,該模式假設當前沒有任何GoldenGate DDL物件存在,如果存在則會刪除並重建。如果是重新安裝,則應該選擇“NORMAL”。具體執行示例如下:
SQL> @ddl_setup
GoldenGate DDL Replication setup script.
Verifying that current user has privileges to install DDL Replication...
Checking user sessions...
Check complete.
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: For an Oracle 10g source, the system recycle bin must be disabled. For Oracle 11g and later, it can be enabled.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggate
You will be prompted for the mode of installation.
To install or reinstall DDL replication, enter INITIALSETUP
To upgrade DDL replication, enter NORMAL
Enter mode of installation:INITIALSETUP
Working, please wait ...
Spooling to file ddl_setup_spool.txt
Using GGATE as a GoldenGate schema name, INITIALSETUP as a mode of installation.
Working, please wait ...
DDL replication setup script complete, running verification script...
Please enter the name of a schema for the GoldenGate database objects:
Setting schema name to GGATE
DDLORA_GETTABLESPACESIZE STATUS:
.....................
.....................
Analyzing installation status...
STATUS OF DDL REPLICATION
------------------------------------------------------------------------------------------------------------------------------------------------------
SUCCESSFUL installation of DDL Replication software components
Script complete.
4.3.3 執行role_setup指令碼
該操作會重建DDL同步所需的許可權,授予GoldenGate中的DDL物件以DML許可權,執行示例如下:
SQL> @role_setup
GGS Role setup script.
This script will drop and recreate the role GGS_GGSUSER_ROLE
To use a different role name, quit this script and then edit the params.sql script to change the gg_role parameter to the preferred name. (Do not run the script.)
You will be prompted for the name of a schema for the GoldenGate database objects.
NOTE: The schema must be created prior to running this script.
NOTE: Stop all DDL replication before starting this installation.
Enter GoldenGate schema name:ggate
Wrote file role_setup_set.txt
PL/SQL procedure successfully completed.
Role setup script complete
Grant this role to each user assigned to the Extract, GGSCI, and Manager processes, by using the following SQL command:
GRANT GGS_GGSUSER_ROLE TO
where
按照上面返回的提示,執行授權操作,注意是將許可權授予執行Extract/GGSCI或其它管理操作的使用者,我們這裡的情況看顯然是ggate,執行命令如下:
SQL> GRANT GGS_GGSUSER_ROLE TO GGATE;
Grant succeeded.
4.3.4 執行ddl_enable指令碼
啟用DDL觸發器,以捕獲DDL操作:
SQL> @ddl_enable
Trigger altered.
4.3.5 安裝效能最佳化工具(可選項)
要提高DDL觸發器的效能,可以透過ddl_pin指令碼,該指令碼會將觸發器使用的包載入到記憶體,以此提高效率。該指令碼執行時需要引用dbms_shared_pool系統包,因此在使用ddl_pin指令碼前需要確保dbms_shared_pool可用。
SQL> @?/rdbms/admin/dbmspool.sql
Package created.
Grant succeeded.
View created.
Package body created.
執行ddl_pin指令碼需要指定GoldenGate管理員schema名稱,例如:
SQL> @ddl_pin ggate
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
然後,用於同步DDL操作的物件就建立完成了。
4.4 測試DDL同步
首先在源端修改extract程式的配置檔案,例如:
- GGSCI (ora9node1) 18> edit param ext2
在適當位置增加下列內容:
- DDL INCLUDE ALL OPTYPE CREATE OBJTYPE 'table'
該語句用以支援create table操作,如果需要其它如alter/drop等,則增加相應配置即可。
啟動extract程式:
GGSCI (ora9node1) 20> start extract ext2
Sending START request to MANAGER ...
EXTRACT EXT2 starting
隨後sqlplus中建立新表:
SQL> conn jss/jss
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
J1 TABLE
J2 TABLE
2 rows selected.
SQL> create table j3(id number);
Table created.
登入到目標端ggsci命令列模式下,同樣需要對replicat的引數進行配置:
- GGSCI (rhel5u3) 4> edit param rep2
在適當位置增加一模一樣的內容(當然此處也可以與源端不同,具體根本實際情況設定):
- DDL INCLUDE ALL OPTYPE CREATE OBJTYPE 'table'
啟動replicat程式:
GGSCI (rhel5u3) 5> start replicat rep2
Sending START request to MANAGER ...
REPLICAT REP2 starting
檢視新建立的物件是否同步過來的:
GGSCI (rhel5u3) 9> dblogin userid ggate,password ggate
Successfully logged into database.
GGSCI (rhel5u3) 10> list tables jss.j3
JSS.J3
Found 1 tables matching list criteria.
成功同步。
=========================================
相關文章:
Oracle GoldenGate安裝應用及初始化資料示例
配置GoldenGate增量資料同步機制
配置GoldenGate捕獲Replicat端資料應用異常
配置GoldenGate捕獲Replicat端資料應用異常
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21754115/viewspace-1752348/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 配置支援DML和DDL操作同步的GoldenGateGo
- 【GoldenGate】Oracle GoldenGate(三) DDL同步配置GoOracle
- goldengate ddl 配置說明Go
- goldengate配置DDL複製Go
- GoldenGate單向複製配置(支援DDL複製)Go
- GoldenGate配置(三)之DDL複製配置Go
- goldengate 支援ddl的資料庫型別Go資料庫型別
- oracle goldengate 配置DML&DDL實驗OracleGo
- goldengate 單向DDLGo
- DDL操作的自動提交
- DB2 DDL操作引起的GoldenGate錯誤DB2Go
- GOLDENGATE 清除DDL環境Go
- goldengate 12.3 實現mysql資料及DDL實時同步GoMySql
- 限制DDL操作(四)
- 限制DDL操作(三)
- 限制DDL操作(二)
- 限制DDL操作(一)
- MySQL DDL操作表MySql
- 為已經執行的GoldenGate開啟DDL選項Go
- oracle goldengate ddl 操作導致複製程式abended處理案例OracleGo
- DML, DDL操作的自動提交問題
- 兩臺ORACLE之間配置OGG-未配置同步DDLOracle
- MySQL5.6支援哪些Online DDL操作MySql
- oracle追蹤誤操作DDLOracle
- DML操作 DDL觸發器觸發器
- 控制DDL許可權及紀錄DDL操作的Trigger
- 為Oracle配置DDL複製Oracle
- 配置ogg ddl 執行 ddl_setup 報錯處理方法
- DDL、DML、DCL、DQL相關操作
- Mysql 基礎操作 DDL DML DCLMySql
- Oracle 觸發器 限制DDL操作Oracle觸發器
- 資料庫DDL操作審計資料庫
- 禁止使用者的DDL操作
- 資料庫操作語言DDL資料庫
- MySQL5.7 InnoDB線上DDL操作MySql
- 04 MySQL 表的基本操作-DDLMySql
- goldengate ddl_setup執行失敗處理Go
- 同時開啟節點導致資料DDL操作慢 ??