我在 oradata01 和 oradata02 中的空间不足。有没有办法移动或重新平衡 oradata03?
/opt/oracle/oradata01/x/undotbs01.dbf 4 100 %
/opt/oracle/oradata02/x/undotbs02.dbf 17 100 %
/opt/oracle/oradata03/x/undotbs03.dbf 25 1 %
我在 oradata01 和 oradata02 中的空间不足。有没有办法移动或重新平衡 oradata03?
/opt/oracle/oradata01/x/undotbs01.dbf 4 100 %
/opt/oracle/oradata02/x/undotbs02.dbf 17 100 %
/opt/oracle/oradata03/x/undotbs03.dbf 25 1 %
您可以简单地创建一个新的撤消 Ts 并删除旧的。
show parameter undo
名称类型值
undo_management string 自动
undo_retention 整数 900
undo_tablespace 字符串 UNDOTBS1
SQL> CREATE UNDO TABLESPACE undotbs2 DATAFILE '+DATA_NEWPATH' SIZE 100M AUTOEXTEND ON;
http://www.oracle-base.com/articles/9i/AutomaticUndoManagement.php
SQL> alter system set undo_tablespace=undotbs2;
之后可以删除 UNDOTBS1。在这里查看更多信息。
问候
如果您使用的是 12c,那就很简单了——只需在线移动数据文件。
如果您使用的是较低版本,并且您有能力停止实例,那么
1)关闭数据库
2) 通过os命令移动数据文件到oradata03
3)挂载数据库
4)重命名数据文件
如果你不能停止实例,那么你可以创建另一个撤消表空间并在线切换到它。 https://docs.oracle.com/cd/B28359_01/server.111/b28310/undo005.htm#ADMIN11470
您也可以尝试调整数据文件的大小,如果数据文件末尾没有活动/保留撤消段,它将起作用。