oracle11g怎么记录sql,oracle10g升级到oracle11g操作记录

最近在测试环境做了一个数据库的升级,将相关操作步骤简要记录如下:

1.将10.2.0.1升级到10.2.0.4

1.1更新oracle TimeZone版本

1.1.1查询源库TimeZone版本

SQL> select * from v$timezone_file;

FILENAME        VERSION

------------ ----------

timezlrg.dat          2

1.1.2检查是否存储含有TZ的用户数据

select c.owner || '.' || c.table_name || '(' || c.column_name || ') -' || c.data_type || ' ' col

from dba_tab_cols c, dba_objects o

where c.data_type like '%TIME ZONE'

and c.owner=o.owner

and c.table_name = o.object_name

and o.object_type = 'TABLE'

order by col

/

查询结果的owner如果只包含sys和WMSYS则表示不包含用户的TZ数据

查询是否含有非标准的scheduler_job

SQL> SELECT object_name FROM dba_objects WHERE object_id IN (SELECT obj# FROM scheduler$_window);

OBJECT_NAME

-----------------------------

WEEKNIGHT_WINDOW

WEEKEND_WINDOW

SQL> SELECT object_name FROM dba_objects WHERE object_id IN (SELECT obj# FROM scheduler$_job);

OBJECT_NAME

-----------------------------

PURGE_LOG

FGR$AUTOPURGE_JOB

GATHER_STATS_JOB

AUTO_SPACE_ADVISOR_JOB

RLM$EVTCLEANUP

RLM$SCHDNEGACTION

查询结果中包含有以上结果之外的话表示含有非标准的scheduler_job,即用户自定义scheduler_job

除了数据库中既不包含TZ的用户数据又没有自定义的scheduler_job外,其余任何情况都需要校验哪些数据受时区影响

1.1.3查询受时区影响的数据

1.1.3.1下载utltzpv4.sql脚本

1.1.3.2运行utltzpv4.sql脚本

1.1.3.3查询运行结果

SQL> select * from sys.sys_tzuv2_temptab;

no rows selected

如果无结果返回则表示时区更新操作可以忽略,如果有返回数据则可以调用以下相应脚本解决!

prepare_tzuv.sql:自动创建备份表

restore_tzuv.sql:更新完时区文件后可以使用该脚本还原原始数据

clean_tzuv.sql:  确认数据正确恢复后可以使用该脚本删除备份表

1.2停止oracle所有相关进程

emctl stop dbconsole

isqlplusctl stop

lsnrctl stop

sqlplus / as sysdba

SQL> SHUTDOWN IMMEDIATE

1.3备份系统

Oracle Inventory

Oracle 10g home

1.4安装10.2.0.4 Patchset(覆盖安装)

./runInstaller

1.5更新Oracle database 10.2.0.1 to 10.2.0.4(可以使用dbua或者手动更新,这里我选择手动更新)

1.5.1运行更新前信息工具

SQL> STARTUP UPGRADE

SQL> SPOOL upgrade_info.log

SQL> @?/rdbms/admin/utlu102i.sql

SQL> SPOOL OFF

检查upgrade_info.log日志信息,将相关警告及错误一一解决

1.5.2更新数据库

lsnrctl start

sqlplus / as sysdba

SQL> STARTUP UPGRADE

SQL> SPOOL patch.log

SQL> @?/rdbms/admin/catupgrd.sql

SQL> SPOOL OFF

检查patch.log日志信息,将相关警告及错误一一解决

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP

SQL> @?/rdbms/admin/utlrp.sql

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

如果以上输出的status都为valid则表示升级成功

2.将10.2.0.4升级到11.2.0.3

2.1安装11.2.0.3的PATCHSET(安装在新的ORACLE_HOME下)

2.2升级前的预检查

sqlplus / as sysdba

SQL> SPOOL upgrade_info.log

SQL> @$11g_ORACLE_HOME/rdbms/admin/utlu112i.sql

SQL> SPOOL OFF

检查upgrade_info.log日志信息,将相关警告及错误一一解决

2.3手动升级数据库

SQL> SHUTDOWN IMMEDIATE

SQL> STARTUP UPGRADE

SQL> SPOOL upgrade.log

SQL> @catupgrd.sql

SQL> STARTUP

SQL> @utlu112s.sql

SQL> @catuppst.sql

SQL> @utlrp.sql

SQL> SELECT count(*) FROM dba_invalid_objects;

SQL> SELECT distinct object_name FROM dba_invalid_objects;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20801486/viewspace-1062624/,如需转载,请注明出处,否则将追究法律责任。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值