Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2896259
  • 博文数量: 599
  • 博客积分: 16398
  • 博客等级: 上将
  • 技术积分: 6875
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-30 12:04
个人简介

WINDOWS下的程序员出身,偶尔也写一些linux平台下小程序, 后转行数据库行业,专注于ORACLE和DB2的运维和优化。 同时也是ios移动开发者。欢迎志同道合的朋友一起研究技术。 数据库技术交流群:58308065,23618606

文章分类

全部博文(599)

文章存档

2014年(12)

2013年(56)

2012年(199)

2011年(105)

2010年(128)

2009年(99)

分类: Oracle

2012-01-30 11:46:36

在数据库的正常模式中,ORACLE不允许修改bootstrap对象。

SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
INSTANCE_NAME    STATUS
---------------- ------------
yansp            OPEN

SQL> ALTER INDEX I_H_OBJ#_COL# REBUILD;
ALTER INDEX I_H_OBJ#_COL# REBUILD
*
第 1 行出现错误:
ORA-00701: 无法改变热启动数据库所需的对象

SQL> ALTER INDEX I_ICOL1 REBUILD;
ALTER INDEX I_ICOL1 REBUILD
*
第 1 行出现错误:
ORA-00701: 无法改变热启动数据库所需的对象

在正常模式下,修改bootstrap对象会报ORA-701错误。
eygle给出了2中解决方法:
1、以migrate模式启动数据库
2、设置LEVEL=10的38003事件
测试发现这种方法只能解决一部分问题,对于一些引导对象还是不能修改,如下:
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MIGRATE
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size                  1250044 bytes
Variable Size             796921092 bytes
Database Buffers          268435456 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
INSTANCE_NAME    STATUS
---------------- ------------
yansp            OPEN MIGRATE
SQL> alter index I_H_OBJ#_COL# rebuild;
索引已更改。
SQL> alter index I_COL1 rebuild;  --对象I_COL1还是不可修改
alter index I_COL1 rebuild
*
第 1 行出现错误:
ORA-00701: 无法改变热启动数据库所需的对象

SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size                  1250044 bytes
Variable Size             796921092 bytes
Database Buffers          268435456 bytes
Redo Buffers                7135232 bytes
SQL> alter system set event='38003 trace name context forever, level 10' scope=spfile;
系统已更改。
SQL> STARTUP FORCE
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size                  1250044 bytes
Variable Size             796921092 bytes
Database Buffers          268435456 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> alter index I_H_OBJ#_COL# rebuild;
索引已更改。
SQL> ALTER INDEX I_ICOL1 REBUILD;
ALTER INDEX I_ICOL1 REBUILD
*
第 1 行出现错误:
ORA-00701: 无法改变热启动数据库所需的对象

SQL>
阅读(3700) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~