清理oracle数据库undo表空间(oracle11g)
切换至oracle用户$ export ORACLE_SID=实例名$ sqlplus “/as sysdba”查询当前undo表名字show parameter undo;创建一个命名为undotbs01.dbf的undo表空间,并设置代号为UNDOTBS1,设置起始大小为10M,最大最大为20G(最高不能超过30G);,create undo tablespace UNDOTBS1 datef
/u01/ora11203/app/dbs/该路径为数据库安装路径
/u02/rmts/oradata/rmts/该路径为实例数据存放路径
具体操作如下:
切换至oracle用户
$ export ORACLE_SID=实例名
$ sqlplus “/as sysdba”
查询当前undo表名字
show parameter undo;
创建一个命名为undotbs01.dbf的undo表空间,并设置代号为UNDOTBS1,设置起始大小为10M,最大最大为20G(最高不能超过30G);,
create undo tablespace UNDOTBS1 datefile '/u02/rmts/oradata/rmts/undotbs01.dbf' size 10M autoextend on MAXSIZE 20G;
将undo表设置为新创建的undo表空间,用于替换就旧的undo表空间
alter system set undo_tablespace='UNDOTBS1';
关闭数据库
shutdown immediate;
查看/u01/ora11203/app/dbs/iniruds.ora中的undo_tablespace字段是否为新替换的UNDORBS1;若是没有更新的话可以将undo_tablespace字段的信息修改为新创建的UNDOTBS1;例:undo_tablesspace=‘UNDOTBS1’
启动数据库(注:启动之前需要查看数据库安装路径的iniruds.ora文件;也可能是其他的文件名,例如initapis.ora,因为uds为我们实例名)
startup;
数据库实例迁移之后,启动数据库报错如下:
ORA-01092:ORACLE instance terminated.Disconnection forced
ORA-30012:undo tablespace 'UNDOTBS1'does not exist or wrong type
Process ID:27773
Session ID:4 Serial number:7
解决办法:
修改数据库下inituds.ora文件中的undo_tablesspace字段,改为当前实例undo表空间名字;当前UNDO表空间名字可以到/u02/rmts/oradata/rmts/下面进行查看
更多推荐




所有评论(0)