DBLOG
» WTF
Toggle navigation
DBLOG
主页
1、用户
2、各种方案
3、备份恢复
4、表空间相关
5、OGG
6、文件管理
7、常见故障分析
8、DG
9、集群相关
About Me
归档
标签
6、ADG常见故障
无
2025-08-29 00:10:06
2
0
0
admin
[TOC] ### ORA-16724: cannot resolve gap for one or more members **归档日志有断档** 处理方法: 1. **通过SCN号进行数据恢复**:需要在主库生成备份,然后在备库恢复。 参考链接:[实验DG 跳归档恢复](https://blog.csdn.net/zhangyulong_csdn/article/details/103322410) 2. **重做ADG**: - 重新配置Active Data Guard。 ### ORA-16661: the standby database needs to be reinstated **备库需要重新激活** 处理方法: ```sql DGMGRL> reinstate database <standby_db_name> ``` ### ORA-01157 ORA-01111 **主备库同步故障期间主库创建数据文件,导致备库启动时报错,或者没有MRP0进程** 处理方法: 1. **查询主库信息**: ```sql SQL> select FILE_ID, FILE_NAME, to_char(BYTES) from dba_data_files where FILE_ID=<file_id>; ``` 2. **将备库启动到mount状态**: ```sql SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL SID='*'; SQL> alter database create datafile '/u01/app/oracle/product/19.0/db_1/dbs/UNNAMED00048' as '+DATA' size <file_size>; SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SID='*'; SQL> ALTER DATABASE OPEN; SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT; ``` 3. **检查MRP0进程**: ```sql set linesize 150 set pagesize 9999 column name format a13 column value format a20 column unit format a30 column TIME_COMPUTED format a30 SQL> select process, status, sequence#, thread# from v$managed_standby; ``` 4. **检查是否需要恢复文件**: ```sql select * from v$recover_file where error like '%FILE%'; ``` 如果需要恢复文件: ```sql SQL> alter database create datafile '/u01/app/oracle/product/19.0/db_1/dbs/UNNAMED00048' as '+DATA' size <file_size>; ``` 如果没有需要恢复的文件: ```sql SQL> alter system set standby_file_management=AUTO scope=both; SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; ``` ### 静默删除实例 **使用DBCA静默删除数据库实例** 命令: ```bash dbca -silent -deleteDatabase -sourceDB <db_name> ``` 然后输入sys密码。 ### TNS-12518、TNS-00517和 Linux Error:32:Broken pipe **通常是oracle文件权限不对** 处理方法: ```bash chmod 6751 /u01/app/oracle/product/19.0/db_1/bin/oracle ``` ### 主库修改sys密码问题 **主库需要先重建密码文件,然后将密码文件传输至备库,重启备库** 处理方法: 1. 在主库上重建密码文件: ```bash orapwd file=$ORACLE_HOME/dbs/orapw<ORACLE_SID> password=<new_password> entries=10 ``` 2. 将密码文件传输到备库: ```bash scp $ORACLE_HOME/dbs/orapw<ORACLE_SID> oracle@<standby_host>:$ORACLE_HOME/dbs/ ``` 3. 重启备库: ```sql SQL> shutdown immediate; SQL> startup; ``` ### Failover过程模拟(需要开启Flashback) **模拟Failover操作** 过程: 1. 确保`dgmgrl`连接备库状态正常,且主库至备库网络正常。 2. 模拟主库网络断开,应用无法连接。 3. 在备库执行切换: ```bash dgmgrl> failover to <standby_db_name> ``` 4. 恢复主库网络,确保应用切换到备库,避免数据不一致。 5. 将原主库加入DG作为备库: ```bash dgmgrl> add database <primary_db_name> as connect identifier is <primary_db_service> maintained as physical; ``` 6. 恢复主备库角色: ```bash dgmgrl> switchover to <original_primary_db_name> ```
上一篇:
5、查看各种数据库对象的DDL语句
下一篇:
6、windos中 rman全备和归档分开
0
赞
2 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网