《DBA入门、进阶与诊断案例》中2.3.1章节的案例进行模拟
[oracle@021Y-SH-BKAP dbs]$ vi initorcl.ora orcl.__db_cache_size=2885681152 orcl.__java_pool_size=67108864 orcl.__large_pool_size=67108864 orcl.__oracle_base='/DBBK/oracle'#ORACLE_BASE set from environment orcl.__pga_aggregate_target=2684354560 orcl.__sga_target=4026531840 orcl.__shared_io_pool_size=0 orcl.__shared_pool_size=939524096 orcl.__streams_pool_size=0 *.audit_file_dest='/DBBK/oracle/admin/orcl/adump' *.audit_trail='db' *.compatible='11.2.0.0.0' *.control_files='/DBBK/oracle/oradata/orcl/control01.ctl','/DBBK/oracle/oradata/orcl/control03.ctl','/DBBK/oracle/flash_recovery_area/orcl/control02.ctl' *.db_block_size=8192 *.db_cache_size=25165824 *.db_domain='' *.db_name='orcl' *.db_recovery_file_dest='/DBBK/oracle/flash_recovery_area' *.db_recovery_file_dest_size=4070572032 *.diagnostic_dest='/DBBK/oracle' *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' *.fast_start_mttr_target=180 *.memory_target=6689914880 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.undo_tablespace='UNDOTBS2'
我修改了pfile中的undo_tablespace='UNDOTBS2'参数值,重新以加载pfile文件的方式启动数据库。
SQL> startup pfile='/DBBK/oracle/product/11.2.0.1.0/dbs/initorcl.ora' ORACLE instance started. Total System Global Area 6680915968 bytes Fixed Size 2213936 bytes Variable Size 3758098384 bytes Database Buffers 2885681152 bytes Redo Buffers 34922496 bytes Database mounted. ORA-01092: ORACLE instance terminated. Disconnection forced ORA-30012: undo tablespace 'UNDOTBS2' does not exist or of wrong type Process ID: 11428 Session ID: 96 Serial number: 3
查看alter_<sid_name>.log中的记录发现如下报错:
Errors in file /DBBK/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_11428.trc: ORA-30012: undo tablespace 'UNDOTBS2' does not exist or of wrong type Errors in file /DBBK/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_11428.trc: ORA-30012: undo tablespace 'UNDOTBS2' does not exist or of wrong type Error 30012 happened during db open, shutting down database USER (ospid: 11428): terminating the instance due to error 30012 Instance terminated by USER, pid = 11428 ORA-1092 signalled during: ALTER DATABASE OPEN... opiodr aborting process unknown ospid (11428) as a result of ORA-1092 Tue Jan 27 17:43:33 2015 ORA-1092 : opitsk aborting process
查看ORA报错信息的解释
[oracle@021Y-SH-BKAP dbs]$ oerr ora 30012 30012, 00000, "undo tablespace '%s' does not exist or of wrong type" // *Cause: the specified undo tablespace does not exist or of the // wrong type. // *Action: Correct the tablespace name and reissue the statement.
[oracle@021Y-SH-BKAP dbs]$ oerr ora 1092 01092, 00000, "ORACLE instance terminated. Disconnection forced" // *Cause: The instance this process was connected to was terminated // abnormally, probably via a shutdown abort. This process // was forced to disconnect from the instance. // *Action: Examine the alert log for more details. When the instance has been // restarted, retry action.
检查UNDO控件是否存在:
cd $ORACLE_BASE/oradata/orcl -rw-r----- 1 oracle oinstall 104865792 Jan 27 17:43 undotbs01.dbf
启动数据库都mount状态
SQL> startup mount pfile='/DBBK/oracle/product/11.2.0.1.0/dbs/initorcl.ora'; ORACLE instance started. Total System Global Area 6680915968 bytes Fixed Size 2213936 bytes Variable Size 3758098384 bytes Database Buffers 2885681152 bytes Redo Buffers 34922496 bytes Database mounted.
查看启动参数,发现数据库mount的是UNDOTBS2
SQL> show parameter undo_tablespace NAME TYPE VALUE ------------------------------------ --------------------------------- ------------------------------ undo_tablespace string UNDOTBS2 SQL> show parameter pfile NAME TYPE VALUE ------------------------------------ --------------------------------- ------------------------------ spfile string
那么这里可以确定,因为我启动的时候没有使用SPFILE,或者另一种情况SPFILE中的参数值被我不小心改错了。导致启动时候加载错误而参数的报错。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。