半夜在练习oracle11g数据备份与恢复,rman全备完了以后灵机一动删了个库。记录下全备rman怎么恢复数据库。
【知识点】
sqlplus / as sysdba;
SQL> startup;
rman target / catalog rc_admin/RC_ADMIN@PROD4; (库被删光的情况下,一定要先刷到对应数据库的环境变量下. PROD2_env, 然后再用命令)
RMAN> list failure;
RMAN> advise failure;
RMAN> repair failure; (以上步骤多做几次)
如果还不能修复,那么重启下再做一次:
RMAN> exit;
SQL> startup force;
SQL> exit;
rman target / catalog rc_admin/RC_ADMIN@PROD4;
RMAN> list failure;
RMAN> advise failure;
RMAN> repair failure; (以上步骤多做几次)
如果还不能修复,那么就进入手动修复:
RMAN> list backup;
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open resetlogs;
RMAN> exit;
sqlplus / as sysdba;
SQL> select instance_name, status from v$instance;
显示数据库状态OPEN,修复完成
【过程】
1、删PROD2库
[oracle@edgzrip1-PROD2 oradata]$ ls
PROD1 PROD2
[oracle@edgzrip1-PROD2 oradata]$ rm -rf PROD2
[oracle@edgzrip1-PROD2 oradata]$ ls
PROD1
2、发现登不进sqlplus、也登不进rman
[oracle@edgzrip1-PROD2 ~]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Fri Nov 6 04:16:02 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-01116: error in opening database file 1
ORA-01110: data file 1: '/u01/app/oracle/oradata/PROD2/system01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
[oracle@edgzrip1-PROD2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 6 04:13:46 2020
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-01075: you are currently logged on
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
3、解决办法
数据库nolog登录,startup force。进到rman
[oracle@edgzrip1-PROD2 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 6 04:21:05 2020
Copyright (c) 1982, 2011, Oracle. All rights reserved.
SQL> startup force;
ORA-00000: normal, successful completion
[oracle@edgzrip1-PROD2 ~]$ rman target / catalog rc_admin/rc_admin@prod4;
Recovery Manager: Release 11.2.0.3.0 - Production on Fri Nov 6 04:25:02 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: PROD2 (not mounted)
connected to recovery catalog database
//发现看不到,那不能rman自动修复了。要手动修复。
RMAN> list failure;
no failures found that match specification
rman手动修复:
RMAN> list backup;
List of Backup Sets
===================
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
43 35.32M DISK 00:00:05 06-NOV-20
BP Key: 48 Status: AVAILABLE Compressed: NO Tag: TAG20201106T023904
Piece Name: /u01/app/oracle/fast_recovery_area/PROD2/backupset/2020_11_06/o1_mf_annnn_TAG20201106T023904_ht8kpb3d_.bkp
List of Archived Logs in backup set 43
Thrd Seq Low SCN Low Time Next SCN Next Time
---- -------