1.创建undo表空间
create undo TABLESPACE undotbs03 DATAFILE '/opt/oracle/oradata/ORCLCDB/undotbs03.dbf' SIZE 500MREUSE 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_destNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_create_file_dest string /opt/oracle/oradata/ORCLCDB
4.undo表空间初始参数
undo_management string AUTO 将数据库undo_retention integer 86400undo_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 UNDOTBS1SQL>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.dbfUNDOTBS/opt/oracle/oradata/ORCLCDB/ORCLCDB/datafile/o1_mf_undotbs_gp1dxnwq_.dbfUNDOTBS
