1 旧服务器 windows 2008 R2 DB oracle 11.2.0.1.0
2 新服务器 windows 2008 R2 DB: oracle 11.2.0.4.0
3 需求,要把旧服务器数据迁移到新服务器,旧数据库数据量不大,方案1 exp/expdp 按用户导出再导入,比较麻烦
方案2 考虑rman备份恢复,版本不同好像不能恢复(待验证)
方案3 旧服务器关库,拷贝参数文件,数据文件,控制文件,redo文件,临时文件到新服务器,为了方便路径设置一样
这样 软件相当于已经升级了,然后在升级库,旧可以了
4 按方案3升级,
dbua或者脚本方式(dbua方式不行)
4.1 以upgrade 方式启动数据库
set ORACLE_SID=jhmet
sqlplus / as sysdba
startup upgrade pfile='E:\jhmetpfile.ora';
spool upgrade.log
SQL> @$ORACLE_HOME/rdbms/admin /catupgrd.sql;
SQL> spool off
SQL> Shutdown immediate
$ sqlplus "/as sysdba"
SQL> STARTUP
SQL> @utlu112s.sql
运行 $ORACLE_HOME/rdbms/admin 目录下的 catuppst.sql,完成不需要在数据库处于 UPGRADE 模式下操作的其它升级的动作:
SQL> @catuppst.sql
这个脚本可以和 utlrp.sql 并行运行. 在另一个 session 里运行 utlrp.sql 来重新编译剩下的 PL/SQL 和 Java代码:
SQL> @utlrp.sql
运行从下面文档中得到的 dbupgdiag.sql 来检查升级后数据库的完整性。
Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
如果 dbupgdiag.sql 发现了一些失效对象,那么多次执行 $ORACLE_HOME/rdbms/admin/utlrp.sql 来重新编译这些失效对象,直到失效对象的数目不再变化。
在重新编译这些失效对象之后,再次运行 dbupgdiag.sql 确认一切都是正常的。
升级后步骤
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25846553/viewspace-3058946/ ,如需转载,请注明出处,否则将追究法律责任。