1.创建undo表空间
create undo TABLESPACE undotbs03 DATAFILE '/opt/oracle/oradata/ORCLCDB/undotbs03.dbf' SIZE 500M
REUSE AUTOEXTEND on;
2.删除undo表空间
1.注意无法删除正在活动的表空间
drop tablespace undotbs02; --------------没有删除操作系统文件
----删除表空间并清除当中的数据,删除操作系统文件
SQL> drop tablespace undotbs03 including contents and datafiles;
3.设置OMF 自动命名undo表空间
在未指定路径的情况下,默认创建在下列路径。
SQL> show parameter db_create_file_dest
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------
-
db_create_file_dest string /opt/oracle/oradata/ORCLCDB
4.undo表空间初始参数
undo_management string AUTO 将数据库
undo_retention integer 86400
undo_tablespace string UNDOTBS1
undo_management | AUTO | 设置数据库为自动撤销管理,修改需要重启实例才能生效 |
---|---|---|
undo_retention | 86400 | 保留撤销时间的最小时间量 |
undo_tablespace | UNDOTBS1 | 指定用于撤销管理的表空间,可以有多个undo表空间但是只能有一个时活动的 |
temp_undo_enabled | FALSE | 设置数据库级别撤销 |
5.切换undo表空间
注意之前事务的信息任保留在上一个undo 表空间中,直到事务提交,此时无法脱机切换之前的表空间。
alter system set undo_tablespace='UNDOTBS1';
6.修改表空间名
在修改表空间名的时候同时也会修改spfile当中的undo_tablespace参数,因此在下次系统重启是生效。
select * from dba_tablespaces where contents LIKE 'UNDO';
SQL> show parameter undo_tablespace;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
SQL>
alter tablespace UNDOTBS1 rename to UNDOTBS;
7.为表空间添加新的数据文件
alter TABLESPACE UNDOTBS add DATAFILE/'路径' [AUTOEXTEND on];
alter TABLESPACE UNDOTBS add DATAFILE/'路径' [AUTOEXTEND on];
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='UNDOTBS';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
/opt/oracle/oradata/ORCLCDB/undotbs01.dbf
UNDOTBS
/opt/oracle/oradata/ORCLCDB/ORCLCDB/datafile/o1_mf_undotbs_gp1dxnwq_.dbf
UNDOTBS