我数据库里有两个撤销表空间UNDOTBS01和MYUNDO
我现在把数据库的撤销的空间从UNDOTBS01更该为了MYUNDO,并且将UNDOTBS01设置为了offline
现在我运行DDL语句的时候老是报下面的错误,请大鸟赐教
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-00376: 此时无法读取文件 2
ORA-01110: 数据文件 2: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF'
我现在把数据库的撤销的空间从UNDOTBS01更该为了MYUNDO,并且将UNDOTBS01设置为了offline
现在我运行DDL语句的时候老是报下面的错误,请大鸟赐教
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-00376: 此时无法读取文件 2
ORA-01110: 数据文件 2: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF'
sql>alter tablespace tablespace_name begin backup;
2、在切换UNDO表空间时,如果还来的事务还没有完成,则仍然使用原来的UNDO表空间,你是否是原来的事务并未完成。
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> create undo tablespace myundotbs datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G\MYUNDOTBS01.DBF' size 50M;
Tablespace created
SQL> alter system set undo_tablespace=myundotbs;
System alteredSQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string MYUNDOTBSSQL> alter tablespace undotbs1 offline;
Tablespace alteredSQL> SELECT t.tablespace_name, t.status FROM dba_tablespaces t;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 OFFLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
MYUNDOTBS ONLINE
7 rows selected
SQL> insert into t values(20);
1 row inserted
SQL> commit;
Commit complete
SQL>
shutdown immediate
startup mount
alter database datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF' offline drop
startup
SQL> conn /as sysdba
已连接。
SQL> show parameter undoNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> select name from v$tablespace
2 /NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS
TEMPSQL> create undo tablespace UNDOTBS2
2 datafile 'F:\oracle\product\10.2.0\oradata\orcl\UNDOTBS2.01.dbf' size 25M
3 /表空间已创建。SQL> alter system set undo_tablespace=UNDOTBS2
2 /系统已更改。
SQL> alter system set undo_tablespace=UNDOTBS2 scope=both
2 /系统已更改。
SQL> drop tablespace UNDOTBS1 including contents and datafiles
2 /表空间已删除。SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 213912452 bytes
Database Buffers 390070272 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter undoNAME TYPE VALUE
------------------------------------ ----------- --------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS2
SQL> select tablespace_name,status from dba_tablespaces
2 /TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
UNDOTBS2 ONLINESQL> conn scott/sys
已连接。
SQL> insert into emp select * from emp_test
2 /已创建14行。SQL> commit
2 /提交完成。