重庆思庄Oracle、Redhat认证学习论坛

标题: 修改(切换)当前数据库的UNDO表空间 [打印本页]

作者: jiawang    时间: 2018-1-10 11:47
标题: 修改(切换)当前数据库的UNDO表空间
UNDO 表空间——为了保护数据的一致性而存储数据旧的镜像的表空间

当修改数据未提交的时候,修改的进程直接修改数据块,这个数据库块的旧的镜像被转移到UNDO中存储,此时没有提交的时候为了防止其他用户修改发生错乱,这个行会被加锁,如果查询这个数据的话,发现有锁,就直接到UNDO中去查询数据的旧的镜像。

SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO --UNDO的管理方式:AUTO
undo_retention integer 900 --undo数据在undo段中保留的最大时间为900s
undo_tablespace string UNDOTBS1 --当前数据库默认的undo表空间


SQL> select name from v$datafile; (查看数据文件位置)

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/sztech1/system01.dbf
/u01/app/oracle/oradata/sztech1/sysaux01.dbf
/u01/app/oracle/oradata/sztech1/undotbs01.dbf
/u01/app/oracle/oradata/sztech1/users01.dbf
/u01/app/oracle/oradata/sztech1/example01.dbf

修改(切换)当前数据库的UNDO表空间
1、创建一个新的UNDO 表空间
SQL> create undo tablespace undotbs2 datafile '/u01/app/oracle/oradata/sztech1/undo02.dbf' size 500M;
Tablespace created.


2、切换

SQL> alter system set undo_tablespace=undotbs2 scope=both;
System altered.

SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS2









欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2