undo表空间管理测试2-----修改参数文件initORCL.ora配置,查看undo状态

本文详细记录了一次Oracle数据库的Undo管理测试,包括从自动模式切换到手动模式,修改initORCL.ora配置,注释undo管理参数,并创建及在线/离线回滚段的过程。在手动模式下未指定Undo表空间导致更新操作失败,通过创建并在线回滚段解决此问题。
摘要由CSDN通过智能技术生成


对   undo表空间管理测试1  的环境清理:

http://blog.csdn.net/wanghui5767260/article/details/20145959


SYS@ORCL>select tablespace_name,segment_name,status from dba_rollback_segs;



TABLESPACE_NAME                SEGMENT_NA STATUS
------------------------------ ---------- ----------------
SYSTEM                         SYSTEM     ONLINE
UNDOTBS1                       RBS1       ONLINE
UNDOTBS1                       _SYSSMU10$ OFFLINE
UNDOTBS1                       _SYSSMU9$  OFFLINE
UNDOTBS1                       _SYSSMU8$  OFFLINE
UNDOTBS1                       _SYSSMU7$  OFFLINE
UNDOTBS1                       _SYSSMU6$  OFFLINE
UNDOTBS1                       _SYSSMU5$  OFFLINE
UNDOTBS1                       _SYSSMU4$  OFFLINE
UNDOTBS1                       _SYSSMU3$  OFFLINE
UNDOTBS1                       _SYSSMU2$  OFFLINE


TABLESPACE_NAME                SEGMENT_NA STATUS
------------------------------ ---------- ----------------
UNDOTBS1                       _SYSSMU1$  OFFLINE


12 rows selected.


SYS@ORCL>alter rollback segment rbs1 offline;


Rollback segment altered.


SYS@ORCL>select tablespace_name,segment_name,status from dba_rollback_segs;


TABLESPACE_NAME                SEGMENT_NA STATUS
------------------------------ ---------- ----------------
SYSTEM                         SYSTEM     ONLINE
UNDOTBS1                       RBS1       OFFLINE
UNDOTBS1                       _SYSSMU10$ OFFLINE
UNDOTBS1                       _SYSSMU9$  OFFLINE
UNDOTBS1                       _SYSSMU8$  OFFLINE
UNDOTBS1                       _SYSSMU7$  OFFLINE
UNDOTBS1                       _SYSSMU6$  OFFLINE
UNDOTBS1                       _SYSSMU5$  OFFLINE
UNDOTBS1                       _SYSSMU4$  OFFLINE
UNDOTBS1                       _SYSSMU3$  OFFLINE
UNDOTBS1                       _SYSSMU2$  OFFLINE


TABLESPACE_NAME                SEGMENT_NA STATUS
------------------------------ ---------- ----------------
UNDOTBS1                       _SYSSMU1$  OFFLINE


12 rows selected.


SYS@ORCL>drop rollback segment rbs1;


Rollback segment dropped.


SYS@ORCL>shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SYS@ORCL>


开始本次试验:undo表空间管理测试2-----修改参数文件initORCL.ora配置,查看undo状态

SYS@ORCL>create pfile from spfile;


File created.


SYS@ORCL>!
[oracle@whgg ~]$ cd $ORACLE_HOME/dbs/
[oracle@whgg dbs]$ strings spfileORCL.ora 
ORCL.__db_cache_size=176160768
ORCL.__java_pool_size=4194304
ORCL.__large_pool_size=4194304
ORCL.__shared_pool_size=96468992
ORCL.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
*.background_dump_dest='/u01/app/oracle/admin/ORCL/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/app/oracle/oradata/ORCL/control02.ctl','/u01/app/oracle/oradata/ORCL/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/ORCL/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ORCL'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误一般是由于 undo 表空间损坏或不存在导致的。 首先,你可以检查一下数据库中是否存在该 undo 表空间,可以通过执行以下 SQL 语句进行检查: ``` SELECT tablespace_name FROM dba_tablespaces WHERE tablespace_name='<undo_tablespace_name>'; ``` 其中 `<undo_tablespace_name>` 应该替换成你要检查的 undo 表空间称。 如果查询结果为空,说明该表空间不存在,你需要创建一个新的 undo 表空间。如果查询结果不为空,则需要进一步检查该 undo 表空间是否正常。 你可以执行以下 SQL 语句检查 undo 表空间是否正常: ``` SELECT status FROM v$rollstat WHERE segment_name='<undo_tablespace_name>'; ``` 其中 `<undo_tablespace_name>` 应该替换成你要检查的 undo 表空间称。 如果查询结果为 `ONLINE`,则说明该 undo 表空间正常。如果查询结果为 `OFFLINE` 或者其他异常状态,则说明该 undo 表空间存在问题,需要进行修复或者重建。 如果你需要创建一个新的 undo 表空间,可以执行以下 SQL 语句: ``` CREATE UNDO TABLESPACE <undo_tablespace_name> DATAFILE '<path_to_undo_datafile>' SIZE <size_in_MB>; ``` 其中 `<undo_tablespace_name>` 是你要创建的 undo 表空间称,`<path_to_undo_datafile>` 是你要指定的 undo 数据文件路径,`<size_in_MB>` 是你要指定的 undo 表空间大小,单位为 MB。 如果你需要修复一个存在问题的 undo 表空间,可以参考以下步骤: 1. 首先备份该 undo 表空间对应的数据文件,以防止数据丢失。 2. 尝试在线修复该 undo 表空间,你可以执行以下 SQL 语句: ``` ALTER TABLESPACE <undo_tablespace_name> BEGIN BACKUP; ALTER TABLESPACE <undo_tablespace_name> END BACKUP; ``` 这两条 SQL 语句可以将该 undo 表空间置于备份模式,然后再退出备份模式。如果该 undo 表空间存在一些逻辑损坏,这两条 SQL 语句可能会修复这些问题。 3. 如果在线修复失败,你可以尝试离线修复该 undo 表空间,你可以执行以下 SQL 语句: ``` ALTER DATABASE DATAFILE '<path_to_undo_datafile>' OFFLINE; RECOVER DATAFILE '<path_to_undo_datafile>'; ALTER DATABASE DATAFILE '<path_to_undo_datafile>' ONLINE; ``` 这三条 SQL 语句可以将该 undo 数据文件置为离线状态,然后进行数据文件恢复,最后再将该数据文件置为在线状态。 4. 如果无法修复该 undo 表空间,你可以考虑重建该 undo 表空间,你可以执行以下 SQL 语句: ``` DROP TABLESPACE <undo_tablespace_name> INCLUDING CONTENTS AND DATAFILES; CREATE UNDO TABLESPACE <undo_tablespace_name> DATAFILE '<path_to_undo_datafile>' SIZE <size_in_MB>; ``` 这两条 SQL 语句可以先删除存在问题的 undo 表空间,然后重新创建一个新的 undo 表空间。请注意,这个操作会删除该 undo 表空间中的所有数据,所以请务必提前备份数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值