Stream推薦安裝---10gR2之一
10gR2 streams推薦安裝配置
很多業務的實現都可以藉助Oracle Streams複製來實現,資料複製,資料倉儲,不同硬體平臺的資料庫移植等等。Streams複製可以實現從一個源庫到多個目標庫,多個源庫到一個目標庫的複製,源庫和目標可以處在不同的硬體平臺和版本,甚至可以工作在不同字符集下。Streams複製可以基於表級,可以基於使用者級也可以基於整個資料庫配置。
10gR2+stream推薦資料庫安裝版本為10204,推薦安裝的patch: Note 437838.1
一、推薦資料庫安裝引數:
Source DB:
global_names
_job_queue_interval
sga_target
streams_pool_size
global_names建議設定為true。
1、_job_queue_interval
推薦設定為1,default為5。job queue的scan的頻率(單位為秒)。11g已經利用schedule控制job queue,此引數可以不做調整。
2、COMPATIBLE = 10.2.0
該引數設定為10.2.0,Streams環境可以利用到10g Release 2的新特性。
3、GLOBAL_NAMES =true
為了能夠使Streams複製能夠在各個資料庫共享資訊,建議把Streams環境中資料庫的這個引數都設定為true。
4、JOB_QUEUE_PROCESSES=4
指定每個例項job queue程式的Jn(J000 ... J999). 該引數在有傳播程式的例項上至少設定為2,我們應該把引數設定為例項上能夠最多同時執行的job數量+2。
5、SGA_TARGET >0 Default: 0 (SGA autotuning is enabled)
sga_target設定為非零值(動態管理記憶體)+streams_pool_size>=200(最小值)。如果streams_pool_size=0,Streams將從shared_pool_size中佔用10%的空間。
6、TIMED_STATISTICS(Default =Typical)
STATISTICS_LEVEL設定為TYPICAL or ALL, TIMED_STATISTICS設定為true。檢視 :
V$STREAMS_CAPTURE, V$STREAMS_APPLY_COORDINATOR, V$STREAMS_APPLY_READER,
V$STREAMS_APPLY_SERVER將可以得到elapse time相關的統計資料。
二、資料庫儲存:
=======================================
1. Tablespace for Streams Administrator queues
----------------------------------------------
1、建議為Streams單獨建立表空間,保留Streams相關的物件
2、把capture和apply放在各自單獨的queue中
對於捕獲和應用在同一個資料庫中的情況,建議把capture和apply放在各自單獨的queue中,queue names的命名不要超過24個字元,queue table name不要超過18個字元。
dbms_streams_adm.set_up_queue(queue_table_name='Q_CAP_A,queue_name=>'CAP_A', )
dbms_streams_adm.set_up_queue(queue_table_name='Q_APP_FROM_B',queue_name=>'APP_FROM_B');
3、給Stream管理使用者授權
DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE('STRMADMIN');
三、源庫捕獲相關配置:
1、源庫一定要處於歸檔方式
追加日誌(supplemental log)
確認源庫已經開啟了追加日誌,在10gR2如果建立複製環境,追加日誌模式自動開啟。
DBMS_STREAMS_ADM 自動為本地捕獲相關物件新增追加日誌
確認源庫的追加日誌模式:
資料庫級別:
SELECT supplemental_log_data_pk, supplemental_log_data_ui FROM V$DATABASE;
表級:
SELECT supplemental_log_data_pk, supplemental_log_data_ui, supplemental_log_data_fk FROM dba_capture_prepared_tables UNION
SELECT supplemental_log_data_pk, supplemental_log_data_ui, supplemental_log_data_fk FROM dba_capture_prepared_schemas UNION
SELECT supplemental-log_data_pk, supplemental_log_data_ui, supplemental_log_data_fk FROM dba_capture_prepared_database;
檢查追加日誌組:
Select log_group_name, table_name, decode(always, 'ALWAYS', 'Unconditional',NULL, 'Conditional') ALWAYS from DBA_LOG_GROUPS
檢查追加日誌組的列:
Select log_group_name, column_name, position from dba_log_group_columns where table_name = 'DEPARTMENTS' and wner='HR';
2. Implement a Heartbeat Table
Stream程式在redo日誌滿10M後進行一次檢查點操作,檢視試圖DBA_CAPTURE的applied_scn是否在不斷變化可以判斷捕獲程式是否正常工作,我們可以把這個檢視的applied_scn資訊和對應的目標庫定期的輸出到監控表來監控捕獲程式。
3. Perform. periodic maintenance
A. checkpoints資訊預設在SYSAUX tablespace進行維護. 捕獲引數checkpoint_retention_time(default = 60 days)決定了checkpoint資訊的儲存量的大小,每次清理checkpoint記錄的同時修改捕獲程式檢視中FIRST_SCN,FIRST_SCN記錄的是最早的捕獲程式記錄。我們可以用dbms_capture_adm.alter_capture修改checkpoint_retention_time引數來減少checkpoint資訊保留週期。在安裝stream環境初期可以把checkpoints資訊預設表空間移動到使用者定義的標空間。
B. 在建立或者REBUILD STREAM程式的時候,執行DBMS_CAPTURE.BUILD命令可以把資料字典當前資訊DUMP到REDO,減少建立或者REBUILD STREAM過程產生的日誌,該過程和DBMS_CAPTURE_ADM.PREPARE_(TABLE, SCHEMA, GLOBAL)_INSTANTIATION結合使用。
4. Capture Process Configuration
A. Configuring Capture
我們可以用DBMS_STREAMS_ADM.MAINTAIN_(TABLES,SCHEMA,GLOBAL,TTS) procedures 自動建立stream複製環境,MAINTAIN_TABLES中的TABLE_NAME引數可以為一個或者一個陣列,該方法對於不同引數進行了重寫;如果maintain_*過程不能滿足需求可以利用ADD_*_RULES 來建立複製環境。為了提高效能,捕獲規則要儘量簡單,如果捕獲規則包含類似LIKE等低效語句或者非常複雜將會降低stream複製的效能。
為了減少捕獲日誌,可以對於一些不必要的物件進行過濾,include_tagged_lcr 和inclusion_rule 2個引數可以結合把不必要的物件放在負的rule set中。
B. Parameters
Set the following parameters after a capture process is created:
PARALLELISM Default: 1
Ensure that the appropriate supplemental logging has been configured
at the source database before setting this parallelism parameter.
_CHECKPOINT_FREQUENCY=1000 Default: 10
預設為挖掘10M日誌,進行一次checkpoint.如果源庫有非常頻繁的lob或者ddl操作,或者日誌產生量非常大,建議加大這個引數,減少checkpoint的頻率
_SGA_SIZE Default: 10
streams pool分配給logminer程式的記憶體,預設值10M,建議增大此引數,尤其是源庫要處理大量lob欄位的情況。如果源庫出現ORA-1341錯誤則不要增加此引數了。
修改引數示例指令碼:
dbms_capture_adm.set_parameter('capture_ex','_checkpoint_frequency','100');
5. Propagation Configuration
A. Configuring Propagation
和捕獲程式的建立一樣可以利用maintain_*過程或者ADD_*__PROPAGATION_RULES過程進行傳播程式的安裝。ADD_*_PROPAGATION_RULES傳播DML和 DDL, 如果只想傳播DML語句可以利用 ADD_SUBSET_PROPAGATION_RULES進行配置。 傳播程式新增物件的時候不進行語義檢查,所以在新增傳播物件的時候一定要注意要確保拼寫正確。ADD_GLOBAL_PROPAGATION_RULES過程和ADD_TABLE_RULES might過程可以填加相同的物件,避免重複傳播。
B. Propagation mode
10.2以上版本可以設定queue_to_queue propagation傳播. 如果源庫為RAC 資料庫,安裝了捕獲程式後,一個新的UQEUE服務將被建立,我們可以在DBA_SERVICES 檢視找到類似如下一條資料format:sys$schema.queue_name.global_name,NAME列儲存QUEUE的服務名, network列儲存了當前QUEUE的網路名。DBA_QUEUE_TABLES儲存了QUEUE TABLES的OWNER INSTANCE相關資訊。切換OWNER INSTANCE:
exec DBMS_AQADM.ALTER_QUEUE_TABLE(queue_table=>'QUEUE_TABLE',
primary_instance=>1, secondary_instance=>2);
如果用maintain_(TABLE,SCHEMA,GLOBAL)過程配置STREAM,queue_to_queue引數資東北設定為TRUE,The database link for this queue_to_queue propagation must use a TNS
servicename (or connect name) that specifies the GLOBAL_NAME in the CONNECT_DATA clause of the descriptor. specify (CONNECT_DATA=(SERVICE_NAME='global_name of target database')). Do NOT include a specific INSTANCE in the CONNECT_DATA clause.
db.mycompany.com=
(description=
(load_balance=on)
(address=(protocol=tcp)(host=node1-vip)(port=1521))
(address=(protocol=tcp)(host=node2-vip)(port=1521))
(connect_data=
(service_name=db.mycompany.com)))
db1.mycompany.com=
(description=
(address=(protocol=tcp)(host=node1-vip)(port=1521))
(connect_data=
(service_name=db.mycompany.com)
(instance_name=db1)))
db2.mycompany.com=
(description=
(address=(protocol=tcp)(host=node2-vip)(port=1521))
(connect_data=
(service_name=db.mycompany.com)
(instance_name=db2)))
在10.2以前版本建立的用queue_to_dblink方式的傳播程式,如果資料庫鏈路不能連線到owning instance of the queue, propagation will not succeed. 我們可以繼續使用 10.1. best practices for this propagation, 或者重新建立傳播程式並且設定queue_to_queue為TRUE. 重建的時候要確認queue is empty沒有unapplied spilled messages before you drop the propagation.
Queues created prior to 10.2 on RAC instances should be dropped and recreated
in order to take advantage of the automatic service generation and queue_to_queue propagation. Be sure to perform. this activity when the queue is empty and no new LCRs are being enqueued into the queue.
C. Parameters
LATENCY=5 Default: 60
傳播程式等待的時間,預設為60秒,為了提高傳播效能,需要減小這個引數值。
dbms_aqadm.alter_propagation_schedule('strmadmin.streams_queue','DEST_DB',
destination_queue=>'Q1',latency=>5);
D. Network Connectivity
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-442206/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【推薦 - glibc安裝】MySQL - 安裝MySql
- 【推薦 - 原始碼安裝】nginx - 安裝原始碼Nginx
- Oracle Linux 6.5 安裝Oracle 10gR2LinuxOracle 10g
- Vs Code推薦安裝外掛
- Win10安裝Cygwin-含淚推薦Win10
- 五款捨不得解除安裝的軟體推薦
- 【好軟推薦】Scoop - Windows快速軟體安裝指南OOPWindows
- 一鍵安裝團隊推薦的 vscode 外掛VSCode
- 樹莓派4b安裝OpenCV 新手推薦樹莓派OpenCV
- MySQL安裝之一_安裝配置順利版MySql
- Centos Stream 9 安裝Docker 23.0.2 社群版安裝教程。CentOSDocker
- 19c新環境安裝補丁(三)_推薦
- Centos7離線rpm安裝MySQL-5.7.29【推薦】CentOSMySql
- 油猴外掛安裝以及好用的指令碼推薦指令碼
- 電子裝置推薦
- git: centos stream9上安裝gitoliteGitCentOS
- AIX 5.3/6.1環境下安裝Oracle 10gR2 RAC常見報錯AIOracle 10g
- Oracle for Windows安裝和配置之一OracleWindows
- springBoot部署阿里雲之一(安裝JDK)Spring Boot阿里JDK
- DBeaverUltimate資料庫管理推薦 DBeaverUE 旗艦啟用安裝包最新資料庫
- Linux RPM安裝及查詢下載(--推薦個軟體倉庫)Linux
- 【Elasticsearch系列之一】windows下Elasticsearch的安裝ElasticsearchWindows
- Kibana教程之一:下載與安裝
- Kubernetes安裝之一:HA-高可用配置
- [推薦]
- Centos8 stream系統編譯安裝Memcached教程。CentOS編譯
- Centos8 stream系統編譯安裝Redis教程。CentOS編譯Redis
- Centos8 stream系統編譯安裝Tomcat教程。CentOS編譯Tomcat
- Centos8 stream系統編譯安裝Docker教程。CentOS編譯Docker
- Centos8 stream系統編譯安裝Apache教程。CentOS編譯Apache
- Centos8 stream系統編譯安裝PHP教程。CentOS編譯PHP
- Centos8 stream系統編譯安裝phpMyAdmin教程。CentOS編譯PHP
- 教你如何在Centos8-stream安裝PostgreSQL13CentOSSQL
- 【推薦】Python超級好用的裝飾器!Python
- CentOS 7 刪除自帶的JDK,然後自己安裝想要的版本(★firecat推薦★)CentOSJDK
- 使用VM虛擬機器安裝CentOS-stream系統虛擬機CentOS
- 暑期裝機大推薦:4套2000-5000元遊戲電腦主機配置推薦遊戲
- 裝機必備的五款軟體推薦