Chinaunix首页 | 论坛 | 博客
  • 博客访问: 527346
  • 博文数量: 128
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 1345
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-22 21:43
文章分类

全部博文(128)

文章存档

2009年(30)

2008年(98)

我的朋友

分类: Oracle

2008-06-16 20:59:56

现在Oracle的工作的撤销模式,一般为AUTO,但是如果工作在MANUAL模式下,则ROLLBACK_SEGMENTS是必须要设置的,
如果没有设置,会导致Oracle在alter database open时,打不开数据,实例终止。
 
以下是一次关于ROLLBACK_SEGMENTS的查错过程:
 
自已设置错误:
SQL> show parameter undo
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1
 
SQL> alter system set rollback_segments = '' scope = spfile;
 
系统已更改。
 
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。
 
Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
SQL> alter database mount;
 
数据库已更改。
 
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01092: ORACLE 实例终止。强制断开连接
 
 
################
# 查看警告文件 #
################
 
.....
alter database open
Mon Jun 16 14:25:07 2008
Thread 1 opened at log sequence 603
  Current log# 3 seq# 603 mem# 0: D:\ORACLE\ORADATA\GIS\REDO03.LOG
Successful open of redo thread 1
Mon Jun 16 14:25:07 2008
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Mon Jun 16 14:25:07 2008
SMON: enabling cache recovery
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\udump\gis_ora_644.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:07 2008
Error 1534 happened during db open, shutting down database
USER: terminating instance due to error 1534
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_psp0_3604.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_dbw0_628.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_mman_1284.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_lgwr_2684.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_ckpt_3964.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:07 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_pmon_1256.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:08 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_reco_3972.trc:
ORA-01534: ??? '' ???
 
Mon Jun 16 14:25:08 2008
Errors in file d:\oracle\product\10.2.0\admin\gis\bdump\gis_smon_2800.trc:
ORA-01534: ??? '' ???
 
Instance terminated by USER, pid = 644
ORA-1092 signalled during: alter database open...
 
 
 
 
 
####################
#  gis_ora_644.trc #
####################
错误报告:
Dump file d:\oracle\product\10.2.0\admin\gis\udump\gis_ora_644.trc
Mon Jun 16 14:24:57 2008
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Windows XP Version V5.1 Service Pack 2
CPU                 : 2 - type 586
Process Affinity    : 0x00000000
Memory (Avail/Total): Ph:289M/894M, Ph+PgF:976M/1751M, VA:1657M/2047M
Instance name: gis
 
Redo thread mounted by this instance: 0
 
Oracle process number: 15
 
Windows thread id: 644, image: ORACLE.EXE (SHAD)
 
 
*** SERVICE NAME:() 2008-06-16 14:24:57.953
*** SESSION ID:(159.1) 2008-06-16 14:24:57.953
kccsga_update_ckpt: num_1 = 8, num_2 = 0, num_3 = 0, lbn_2 = 0, lbn_3 = 0
*** 2008-06-16 14:25:07.546
ORA-01534: ??? '' ???
 
 
通过查询错误消息号:
 
ORA-01534 rollback segment 'string' doesn't exist
 
    Cause: During ALTER or DROP ROLLBACK SEGMENT, the specified rollback segment name is unknown.
 
    Action: Use the correct rollback segment name.
 
 
查询参数ROLLBACK_SEGMENTS;
 
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
 
Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
SQL> show parameter rollback_segments;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
rollback_segments                    string
SQL> show parameter undo_management;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
 
 
改回rollback_segments到system回滚段
 
SQL> alter system set rollback_segments = system scope = spfile;
 
系统已更改。
 
SQL> shutdown immediate;
ORA-01109: 数据库未打开
 
 
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
数据库已经打开。
 
 
现在是自已知道rollback_segments被置为空了,但在实际情况中,可能往往想不到!
阅读(2747) | 评论(0) | 转发(0) |
0

上一篇:命中率指标

下一篇:分区表一-分区

给主人留下些什么吧!~~