Orcle数据库恢复
不知道什么原因,服务器上的数据库报错:ORA-01033:ORACLE initialization or shutdown in progress
首先检查:监听文件的主机名及端口号是否更改
数据文件丢失:
1)C:\Users\Administrator>set ORACLE_SID = orcl
2)C:\Users\Administrator>sqlplus "/as sysdba"
3)SQL> shutdown immediate
4)SQL> startup:提示出错原因
我们这次报的错误是:oracle内部错误代码:kcratr_nab_less_than_odr 只能借助于数据库恢复了
尝试不完全恢复
- SQL> RECOVER DATABASE UNTIL CANCEL;
- ORA-10879: error signaled in parallel recovery slave
- ORA-01547: 警告: RECOVER 成功但 OPEN RESETLOGS 将出现如下错误
- ORA-01152: 文件 1 没有从过旧的备份中还原
- ORA-01110: 数据文件 1: 'D:\DBDMS\DATA\SYSTEM01.DBF'
- --重建控制文件
- SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS 'D:/1.TXT';
- SQL> SHUTDOWN IMMEDIATE;
- ORA-01109: 数据库未打开
- 已经卸载数据库。
- ORACLE 例程已经关闭。
- SQL> STARTUP NOMOUNT;
- SQL> CREATE CONTROLFILE REUSE DATABASE "DBDMS" NORESETLOGS NOARCHIVELOG (从1.txt中复制过来就行到CHARACTER SET ZHS16GBK;)
- recover database; //恢复数据库
- 打开数据库 alter database open;
解决4194错误导致的数据库空闲例程:
1、 CONN / AS SYSDBA
2、SELECT SEGMENT_NAME FROM DBA_ROLLBACK_SEGS;
3、CREATE PFILE='D:\ORACLE\ADMIN\ORCL\PFILE\INITORCL.ORA' FROM SPFILE;
4、在初始化参数文件中添加下面的参数:undo_management='MANUAL' _corrupted_rollback_segments=(2中的结果)
5、STARTUP PFILE=D:\ORACLE\ADMIN\ORCL\PFILE\INITORCL.ORA MOUNT
6、RECOVER DATABASE;
7、RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
8、CANCEL
9、 ALTER DATABASE OPEN RESETLOGS;
10、alter database open;
解决01552 数据不能编辑的问题:
1)show parameter undo; select segment_name,tablespace_name,status from dba_rollback_segs;
2)SQL> create undo tablespace "UNDOTBS02" datafile 'D:\oracle\product\10.2.0\oradata\zjport\UNDOTBS02.DBF' size 128m reuse autoextend on next 10m maxsize 2048m;
3)SQL> alter system set undo_tablespace=UNDOTBS02 scope=spfile;
3)SQL> alter system set undo_management=auto scope=spfile;
4)SQL> shutdown immediate;
5)SQL> startup;
6)SQL> DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
7)SQL> shutdown immediate;
8)SQL> startup;