ORACLE DG 日常維護常用SQL
-- 啟用DG日誌應用
alter database start logical standby apply immediate;
-- 停止DG日誌應用
alter database stop logical standby apply;
-- 跳過出錯的
事務
select * from DBA_LOGSTDBY_EVENTS t order by t.event_time desc;
begin dbms_logstdby.skip_transaction(70,15,721998);end;
-- 指定的表不同步
BEGIN dbms_logstdby.skip(stmt => 'DML',schema_name => 'OWNER_XXX',object_name => 'TABLENAMEXXX') ;END;
-- 取消指定表的不同步
BEGIN dbms_logstdby.unskip(stmt => 'DML',schema_name => 'OWNER_XXX',object_name => 'TABLENAMEXXX') ;END;
-- 重新同步指定的表
begin dbms_logstdby.instantiate_table(schema_name => 'OWNER_XXX',table_name => 'TABLENAMEXXX',dblink => 'RACLINK');end;
--
重新同
步指定的表的整個流程
(需要先停止日誌應用)
BEGIN
dbms_logstdby.skip(stmt => 'DML',schema_name => 'OWNER_XXX',object_name => 'MKT_KPI_INDEX_QUARTER') ;
dbms_logstdby.instantiate_table(schema_name => 'OWNER_XXX',table_name => 'MKT_KPI_INDEX_QUARTER',dblink => 'RACLINK');
dbms_logstdby.unskip(stmt => 'DML',schema_name => 'OWNER_XXX',object_name => 'MKT_KPI_INDEX_QUARTER') ;
end;
/
-- 常用的DG 檢視
select * from DBA_LOGSTDBY_EVENTS t order by t.event_time desc;
select t.applied,t.* from gv$archived_log t order by t.first_time desc;
select t.applied,t.* from dba_logstdby_log t order by t.first_time desc;
select * from V$DATAGUARD_STATS ;
select * from V$LOGSTDBY_PROCESS ;
select * from V$LOGSTDBY_PROGRESS ;
select * from V$LOGSTDBY;
select * from V$LOGSTDBY_STATE ;
select * from V$LOGSTDBY_STATS ;
--邏輯備用資料庫中SQL應用操作的進展。
select * from dba_logstdby_progress;
select * from dba_logstdby_skip ;
select * from dba_logstdby_history;
select * from dba_logstdby_unsupported;
select * from dba_logstdby_not_unique;
select * from dba_logstdby_skip_transaction;
select * from dba_logmnr_log ;
select * from dba_logmnr_purged_log;
select * from dba_logmnr_session;
邏輯dg引數:
select * from dba_logstdby_parameters;
注意這兩個引數:LOG_AUTO_DELETE、LOG_AUTO_DEL_RETENTION_TARGET
exec DBMS_LOGSTDBY.APPLY_SET('LOG_AUTO_DEL_RETENTION_TARGET', 720);
DATAGUARD狀態:
select guard_status from gv$database;
-- 改變DG狀態
alter database guard standby;
--
DG狀態說明
在standby或all狀態下,所有非sys使用者,都無法對logical standby的資料進行修改,
關於alter database guard [standby|all|none] 幾個引數的解釋如下:
ALTER DATABASE GUARD ALL - prevents users making any changes - DEFAULT
ALTER DATABASE GUARD STANDBY - prevents users making changes to data maintained by data guard sql apply,即對DBMS_LOGSTDBY.SKIP 跳過的表可進行DML操作,而其他需要SQL
APPLY的物件都不能進行變更操作。
ALTER DATABASE GUARD NONE - normal security
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10995764/viewspace-2124288/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DG運維常用SQLOracle運維SQL
- oracle 維護常用SQLOracleSQL
- oracle dg 維護常用操作和調優Oracle
- MS SQL 日常維護管理常用指令碼(下)SQL指令碼
- MS SQL 日常維護管理常用指令碼(上)SQL指令碼
- Oracle維護常用SQL語句OracleSQL
- DBA日常維護SQL整理SQL
- Oracle RAC 日常維護Oracle
- 【PDB】Oracle pdb維護常用sql命令OracleSQL
- DBA日常維護SQL指令碼SQL指令碼
- Oracle OGG日常維護Oracle
- 針對oracle日常維護Oracle
- nginx日常維護常用命令Nginx
- 自己總結的ORACLE日常運維常用的SQLOracle運維SQL
- 轉貼:Oracle維護常用SQL語句OracleSQL
- dba 常用維護sqlSQL
- EBS DBA日常維護使用的sqlSQL
- 【轉】ORACLE CRS日常維護命令Oracle
- Oracle資料庫日常維護Oracle資料庫
- Oracle DBA 日常維護手冊Oracle
- Oracle RAC日常基本維護命令Oracle
- Mysql常用的維護 SQLMySql
- 【轉】Oracle RAC日常基本維護命令Oracle
- 收集oracle日常維護的工作命令Oracle
- 史上最全近百條Oracle DBA日常維護SQL指令碼指令OracleSQL指令碼
- Oracle資料庫維護常用SQL語句集合Oracle資料庫SQL
- Oracle DG 日常點檢Oracle
- linux中oracle的日常維護命令LinuxOracle
- oracle常用維護查詢Oracle
- OceanBase 4.X 日常運維 常用SQL運維SQL
- RAC日常維護命令
- PG日常維護(一)
- DBA日常維護SQL指令碼_自己編寫的SQL指令碼
- 【轉】Oracle資料庫日常維護手冊Oracle資料庫
- Oracle資料庫日常維護手冊 (zt)Oracle資料庫
- 轉:維護常用SQL語句收集!SQL
- Oracle資料庫維護常用的SQL程式碼示例(zt)Oracle資料庫SQL
- Gerrit日常維護記錄