在数据库的正常模式中,ORACLE不允许修改bootstrap对象。
SQL> SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;
INSTANCE_NAME STATUS
---------------- ------------
yansp OPEN
---------------- ------------
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事件
2、设置LEVEL=10的38003事件
测试发现这种方法只能解决一部分问题,对于一些引导对象还是不能修改,如下:
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP MIGRATE
ORACLE 例程已经启动。
数据库已经关闭。
已经卸载数据库。
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;
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
---------------- ------------
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: 无法改变热启动数据库所需的对象
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;
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 例程已经启动。
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;
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: 无法改变热启动数据库所需的对象
ALTER INDEX I_ICOL1 REBUILD
*
第 1 行出现错误:
ORA-00701: 无法改变热启动数据库所需的对象
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26838534/viewspace-722255/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26838534/viewspace-722255/