/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/下面进行查看

Logo

一站式 AI 云服务平台

更多推荐