oracle dg状态查询,oracle dg状态检查及相关命令
oracle dg狀態(tài)檢查
先檢查備庫(kù)的歸檔日志同步情況
SELECT NAME,applied FROM v$archived_log;
alter database recover managed standby database cancel;
select thread#,sequence#,standby_dest,archived,applied,status from v$archived_log order by 1,2;
alter database
recover managed standby database using current logfile disconnect from session;
.在備庫(kù)查看gap
1.
select * from
v$archive_gap;
ALTER? DATABASE RECOVER MANAGED
STANDBY? DATABASE DISCONNECT FROM SESSION;
查看主庫(kù)的基本信息:
SYS@enmo1
hey~1->select open_mode,protection_mode,database_role,switchover_status from
v$database;
OPEN_MODE
PROTECTION_MODE
DATABASE_ROLE
SWITCHOVER_STATUS
-------------------- -----------------------------
------------------------ ------------------------
READ WRITE ? ? ? ? ? MAXIMUM PERFORMANCE
PRIMARY
TO STANDBY
查看備庫(kù)的基本信息:
SYS@enmo2
hey~2->select open_mode,protection_mode,database_role,switchover_status from
v$database;
OPEN_MODE
PROTECTION_MODE
DATABASE_ROLE
SWITCHOVER_STATUS
------------------------- -----------------------------
------------------------ ------------------------
READ ONLY WITH APPLY MAXIMUM PERFORMANCE ? ? ?PHYSICAL
STANDBY ? ? ?NOT ALLOWED
備庫(kù)應(yīng)用日志保持和主庫(kù)數(shù)據(jù)一致(如果不一致,執(zhí)行如下語(yǔ)句應(yīng)用日志)
SYS@enmo2
hey~2->recover managed standby database using current logfile disconnect
from session;
Media recovery complete.
SYS@enmo2
hey~2->recover managed standby database cancel;
Media recovery complete.
主庫(kù)切換到備庫(kù)角色并查看切換之后的狀態(tài)為RECOVERY NEEDED
SYS@enmo1
hey~1->alter database commit to switchover to physical standby with session
shutdown;
Database
altered.
SYS@enmo1
hey~1->shutdown abort;
ORACLE instance
started.
Total System
Global Area 830930944 bytes
Fixed Size 2257800 bytes
Variable Size 700451960 bytes
Database Buffers 121634816 bytes
Redo Buffers 6586368 bytes
Database mounted.
SYS@enmo1 hey~1->select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
RECOVERY NEEDED
切換應(yīng)用日志,然后在查看切換狀態(tài)為T(mén)O primary正常:
SYS@enmo1
hey~1->recover managed standby database using current logfile disconnect
from session;
Media recovery complete.
SYS@enmo1 hey~1->select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY
備庫(kù)切主庫(kù):
SYS@enmo2
hey~2->select open_mode,protection_mode,database_role,switchover_status from
v$database;
OPEN_MODE
PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
-------------------- -------------------- ----------------
--------------------
MOUNTED MAXIMUM PERFORMANCE PHYSICAL STANDBY TO PRIMARY
SYS@enmo2
hey~2->alter database commit to switchover to primary with session shutdown;
Database
altered.
SYS@enmo2
hey~2->alter database open;
Database
altered.
SYS@enmo2
hey~2->select switchover_status,database_role from v$database;
SWITCHOVER_STATUS
DATABASE_ROLE
-------------------- ----------------
FAILED DESTINATION PRIMARY
SYS@enmo2
hey~2->select open_mode,protection_mode,database_role from v$database;
OPEN_MODE
PROTECTION_MODE DATABASE_ROLE
-------------------- -------------------- ----------------
READ WRITE MAXIMUM PERFORMANCE
PRIMARY
二、備庫(kù)不同步的問(wèn)題檢查方法
1、檢查主備兩邊的序號(hào)
select max(sequence#) from v$log;???---檢查發(fā)現(xiàn)一致
2、備庫(kù)執(zhí)行,查看是否有數(shù)據(jù)未應(yīng)用
select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;
select
SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;
3、檢查備庫(kù)是否開(kāi)啟實(shí)時(shí)應(yīng)用
select recovery_mode from v$archive_dest_status where dest_id=2;
4、檢查備庫(kù)狀態(tài)
select switchover_status from v$database; --發(fā)現(xiàn)狀態(tài)not?allowed
3、看看進(jìn)程MRP是否存在
ps aux|grep mrp??????--發(fā)現(xiàn)進(jìn)程不存在
4、如果不存在執(zhí)行以下:
alter database recover managed standby database using current logfile
disconnect;
alter
database recover managed standby database disconnect from session;? --后臺(tái)執(zhí)行
alter
database recover managed standby database --前臺(tái)執(zhí)行,執(zhí)行這個(gè)可以看到報(bào)錯(cuò)的情況
如果有報(bào)錯(cuò),查看alert日志和log.xml日志
5、驗(yàn)證是否正常
select process,status from v$managed_standby;
select process,status,sequence# from v$managed_standby;
如果看到mrp0正常
6、以上步驟處理好后,如果數(shù)據(jù)還不正常,接著處理
關(guān)閉備庫(kù),接著處理:
把主庫(kù)上 undotbs01.dbf 文件,物理的重拷到備庫(kù)機(jī)上以前undotbs01.dbf 所在目錄下;
$scp /data/oracle/oradata/voip/undotbs01.dbf???192.168.122.204:/data/oracle/oradata/voip
再在主庫(kù)上重新生成一個(gè)standby control file ,拷到備庫(kù)機(jī)上相應(yīng)目錄下,
alter
database create standby controlfile as '/data/oracle/oradata/voip/qyqdg01.ctl'
$scp
/data/oracle/oradata/voip/qyqdg01.ctl
192.168.122.204:/data/oracle/oradata/voip
$ mv?qyqdg01.ctl? control01.ctl
$ cp control01.ctl /data/oracle/flash_recovery_area/qyq/
$cd /data/oracle/flash_recovery_area/qyq/
$ mv control01.ctl? control02.ctl
接著
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
--------------------------------------
session恢復(fù)完成后,重啟打開(kāi)備庫(kù);
alter
database open read only;
總結(jié)
以上是生活随笔為你收集整理的oracle dg状态查询,oracle dg状态检查及相关命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cssd拉起oracle,oracle
- 下一篇: c语言规定 函数返回值6,C语言六函数.