Oracle冷备份恢复-原数据恢复
通过 oracle 10G服务器端安装以及冷备份恢复 的测试用例通过,开始恢复原数据
最开始,也是orapwd.ora文件的问题,直接恢复即可。
恢复之后在继续startup,检测错误
-----------------------------------------------------------------------------------
此时的错误如下
ORA-01157: cannot identify/lock data file 8 - see DBWR trace file
ORA-01110: data file 1: '------------------/gssy_neeadb.dbf'
因为数据文件已经在被使用了从而导致数据库的后台进程不能找到相应的数据文件或者不能锁定相应的数据文件,这样数据库将禁止访问这些数据文件而其他的数据文件则没有影响。伴随这个错误操作系统将会提示是哪个数据文件不能被识别。
看了错误解释,知道了数据文件的路劲不对,于是,我选择了删掉数据库用例,可惜删不掉,只能重装数据库,重来。
------------------------------------------------------------------------------------
重装之后,上面的错误解决。但错误还是在继续
cmd中进入sqlplus,startup
Database mounted.
ora-01092:ORACLE instance terminated. Disconnection forced.
继续找解决方法:
按照网上的说法,先看错误日志,于是找到错误日志(检查alert.log日志:D:\oracle\product\10.2.0\admin\Oracle_SID\bdump\alert.log),
有如下错误:
----------------------------------------------------------------------------------
Tue Oct 15 13:23:36 2013
Adjusting the default value of parameter parallel_max_servers
from 160 to 135 due to the value of parameter processes (150)
The value of parameter db_cache_size is below the required minimum
The new value is 4MB multiplied by the number of cpus
Tue Oct 15 13:23:36 2013
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
KCCDEBUG_LEVEL = 0
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
Dynamic strands is set to TRUE
Running with 2 shared and 18 private strand(s). Zero-copy redo is FALSE
IMODE=BR
ILAT =18
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 10.1.0.2.0.
System parameters with non-default values:
processes = 150
shared_pool_size = 83886080
large_pool_size = 8388608
java_pool_size = 50331648
control_files = F:\ORACLEDATA\ORADATA\GIS\CONTROL01.CTL, F:\ORACLEDATA\ORADATA\GIS\CONTROL02.CTL, F:\ORACLEDATA\ORADATA\GIS\CONTROL03.CTL
db_block_size = 8192
db_cache_size = 33554432
compatible = 10.1.0.2.0
db_file_multiblock_read_count= 16
db_recovery_file_dest = C:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management = AUTO
undo_tablespace = UNDOTBS1
remote_login_passwordfile= EXCLUSIVE
db_domain =
dispatchers = (PROTOCOL=TCP) (SERVICE=GISXDB)
job_queue_processes = 10
background_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\GIS\BDUMP
user_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\GIS\UDUMP
core_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\GIS\CDUMP
sort_area_size = 65536
db_name = GIS
open_cursors = 300
pga_aggregate_target = 25165824
PMON started with pid=2, OS id=1996
MMAN started with pid=3, OS id=1752
DBW0 started with pid=4, OS id=3368
LGWR started with pid=5, OS id=2860
CKPT started with pid=6, OS id=3500
SMON started with pid=7, OS id=3184
RECO started with pid=8, OS id=880
CJQ0 started with pid=9, OS id=1220
Tue Oct 15 13:23:36 2013
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
Tue Oct 15 13:23:37 2013
ALTER DATABASE MOUNT
Tue Oct 15 13:23:37 2013
Controlfile identified with block size 16384
Tue Oct 15 13:23:41 2013
Setting recovery target incarnation to 2
Tue Oct 15 13:23:42 2013
Successful mount of redo thread 1, with mount id 3769710745
Tue Oct 15 13:23:42 2013
Database mounted in Exclusive Mode.
Completed: ALTER DATABASE MOUNT
Tue Oct 15 13:23:43 2013
ALTER DATABASE OPEN
Tue Oct 15 13:23:43 2013
Beginning crash recovery of 1 threads
attempting to start a parallel recovery with 7 processes
parallel recovery started with 7 processes
Tue Oct 15 13:23:43 2013
Started first pass scan
Tue Oct 15 13:23:43 2013
Completed first pass scan
1 redo blocks read, 0 data blocks need recovery
Tue Oct 15 13:23:43 2013
Started redo application at
Thread 1: logseq 225780, block 2, scn 2881.3391172770
Recovery of Online Redo Log: Thread 1 Group 2 Seq 225780 Reading mem 0
Mem# 0 errs 0: F:\ORACLEDATA\ORADATA\GIS\REDO02.LOG
Tue Oct 15 13:23:43 2013
Completed redo application
Tue Oct 15 13:23:43 2013
Completed crash recovery at
Thread 1: logseq 225780, block 3, scn 2881.3391192772
0 data blocks read, 0 data blocks written, 1 redo blocks read
Tue Oct 15 13:23:44 2013
Thread 1 advanced to log sequence 225781
Maximum redo generation record size = 120832 bytes
Maximum redo generation change vector size = 116476 bytes
Private_strands 6 at log switch
Thread 1 opened at log sequence 225781
Current log# 3 seq# 225781 mem# 0: F:\ORACLEDATA\ORADATA\GIS\REDO03.LOG
Successful open of redo thread 1
Tue Oct 15 13:23:44 2013
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Tue Oct 15 13:23:44 2013
SMON: enabling cache recovery
Tue Oct 15 13:23:45 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\udump\gis_ora_332.trc:
ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type
Tue Oct 15 13:23:45 2013
Error 30012 happened during db open, shutting down database
USER: terminating instance due to error 30012
Tue Oct 15 13:23:45 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_dbw0_3368.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Tue Oct 15 13:23:45 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_lgwr_2860.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Tue Oct 15 13:23:45 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_ckpt_3500.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Tue Oct 15 13:23:46 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_reco_880.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Tue Oct 15 13:23:46 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_smon_3184.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Tue Oct 15 13:23:46 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_pmon_1996.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Tue Oct 15 13:23:46 2013
Errors in file c:\oracle\product\10.1.0\admin\gis\bdump\gis_mman_1752.trc:
ORA-30012: undo tablespace '' does not exist or of wrong type
Instance terminated by USER, pid = 332
ORA-1092 signalled during: ALTER DATABASE OPEN...
----------------------------------------------------------------------------------------------
从以上错误信息看出,文件缺失或者损坏,看了第一个错误的地方,undotbs1.ora没有,然后看了一下数据文件
发现undotbs2.ora有,于是复制一份,改名undotbs1.ora