您的位置:首页 > 数据库 > Oracle

Linux x86-64上手动升级Oracle10204到 10205

2012-04-19 21:32 405 查看

作者 阿九【转载时请务必以超链接形式标明文章原始出处和作者信息】

Linux x86-64上手动升级Oracle10204到 10205

1、查看系统信息

[root@SXDS18 software]# uname -a

Linux SXDS18 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

[root@SXDS18 software]#

2、查看主机名

[root@SXDS18 software]# hostname

SXDS18

[root@SXDS18 software]#

3、关闭应用后关闭数据库

[root@SXDS18 software]# su - oracle

[oracle@SXDS18 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 星期四 4月 19 17:38:26 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

SQL> conn /as sysdba

Connected.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

4、关闭监听

[oracle@SXDS18 ~]$ lsnrctl stop

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 19-4月 -2012 17:44:27

Copyright (c) 1991, 2007, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SXDS18)(PORT=1521)))

The command completed successfully

[oracle@SXDS18 ~]$

5、查看后台数据库进程是否还存在

[oracle@SXDS18 ~]$ ps -ef | grep ora

root 4240 4214 0 Mar06 ? 00:17:25 hald-addon-storage: polling /dev/hda

root 21773 21676 0 16:13 pts/4 00:00:00 su - oracle

oracle 21774 21773 0 16:13 pts/4 00:00:00 -bash

root 22766 22719 0 17:38 pts/2 00:00:00 su - oracle

oracle 22767 22766 0 17:38 pts/2 00:00:00 -bash

oracle 22881 22767 0 17:47 pts/2 00:00:00 ps -ef

oracle 22882 22767 0 17:47 pts/2 00:00:00 grep ora

oracle 25309 1 0 Mar14 ? 00:00:00 /usr/libexec/bonobo-activation-server --ac-activate --ior-output-fd=16

[oracle@SXDS18 ~]$

6、使用tar命令冷备份数据库(软件和数据库文件)

主要备份,oracle主目录和数据文件所在目录

[root@SXDS18 software]# tar -zcvf /software/oradate_gxxt19.tar.gz /oracle/product/oradata/gxxt19

[root@SXDS18 software]# tar -zcvf /software/db10g.tar.gz /oracle/product/db10g

7、上传并解压升级补丁文件

p8202632_10205_Linux-x86-64.zip

8、安装补丁

进入解压后的目录执行

[oracle@SXDS18 Disk1]$ ./runInstaller

Starting Oracle Universal Installer...

Checking installer requirements...

Checking operating system version: must be redhat-3, SuSE-9, SuSE-10, redhat-4, redhat-5, redhat-6, UnitedLinux-1.0, asianux-1, asianux-2, asianux-3, enterprise-4, enterprise-5 or SuSE-11

Passed

All installer requirements met.















运行root脚本

[root@SXDS18 ~]# /oracle/product/db10g/root.sh

Running Oracle 10g root.sh script...

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME= /oracle/product/db10g

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)

: y

Copying dbhome to /usr/local/bin ...

The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)

: y

Copying oraenv to /usr/local/bin ...

The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)

: y

Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

HFinished running generic part of root.sh script.

Now product-specific root actions will be performed.

[root@SXDS18 ~]#

[root@SXDS18 ~]#



9、以升级模式启动数据库

[oracle@SXDS18 admin]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.5.0 - Production on ??? 4? 19 20:29:13 2012

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

SQL> conn /as sysdba

Connected to an idle instance.

SQL> startup upgrade;

ORACLE instance started.

Total System Global Area 1828716544 bytes

Fixed Size 2097080 bytes

Variable Size 1157627976 bytes

Database Buffers 654311424 bytes

Redo Buffers 14680064 bytes

Database mounted.

Database opened.

SQL>

10、执行升级后的脚本

SQL> spool /software/catupgrd.txt

SQL> @catupgrd.sql

。。。。。。

TIMESTAMP

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

COMP_TIMESTAMP UPGRD_END 2012-04-19 21:05:56

.

Oracle Database 10.2 Upgrade Status Utility 04-19-2012 21:05:56

.

Component Status Version HH:MM:SS

Oracle Database Server VALID 10.2.0.5.0 00:16:08

JServer JAVA Virtual Machine VALID 10.2.0.5.0 00:03:11

Oracle XDK VALID 10.2.0.5.0 00:00:37

Oracle Database Java Packages VALID 10.2.0.5.0 00:00:33

Oracle Text VALID 10.2.0.5.0 00:00:21

Oracle XML Database VALID 10.2.0.5.0 00:01:55

Oracle Workspace Manager VALID 10.2.0.5.0 00:00:30

Oracle Data Mining VALID 10.2.0.5.0 00:00:20

OLAP Analytic Workspace VALID 10.2.0.5.0 00:00:18

OLAP Catalog VALID 10.2.0.5.0 00:01:09

Oracle OLAP API VALID 10.2.0.5.0 00:00:55

Oracle interMedia VALID 10.2.0.5.0 00:02:14

Spatial VALID 10.2.0.5.0 00:02:01

Oracle Expression Filter VALID 10.2.0.5.0 00:00:19

Oracle Enterprise Manager VALID 10.2.0.5.0 00:00:58

Oracle Rule Manager VALID 10.2.0.5.0 00:00:09

.

Total Upgrade Time: 00:32:54

DOC>#######################################################################

DOC>#######################################################################

DOC>

DOC> The above PL/SQL lists the SERVER components in the upgraded

DOC> database, along with their current version and status.

DOC>

DOC> Please review the status and version columns and look for

DOC> any errors in the spool log file. If there are errors in the spool

DOC> file, or any components are not VALID or not the current version,

DOC> consult the Oracle Database Upgrade Guide for troubleshooting

DOC> recommendations.

DOC>

DOC> Next shutdown immediate, restart for normal operation, and then

DOC> run utlrp.sql to recompile any invalid application objects.

DOC>

DOC>#######################################################################

DOC>#######################################################################

DOC>#

SQL>

SQL> spool off

11、关闭数据库并使用正常模式打开数据库

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 1828716544 bytes

Fixed Size 2097080 bytes

Variable Size 1191182408 bytes

Database Buffers 620756992 bytes

Redo Buffers 14680064 bytes

Database mounted.

Database opened.

SQL>

12、执行编译无效对象的脚本

SQL> @utlrp.sql

TIMESTAMP

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

COMP_TIMESTAMP UTLRP_BGN 2012-04-19 21:14:14

DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid

DOC> objects in the database. Recompilation time is proportional to the

DOC> number of invalid objects in the database, so this command may take

DOC> a long time to execute on a database with a large number of invalid

DOC> objects.

DOC>

DOC> Use the following queries to track recompilation progress:

DOC>

DOC> 1. Query returning the number of invalid objects remaining. This

DOC> number should decrease with time.

DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);

DOC>

DOC> 2. Query returning the number of objects compiled so far. This number

DOC> should increase with time.

DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;

DOC>

DOC> This script automatically chooses serial or parallel recompilation

DOC> based on the number of CPUs available (parameter cpu_count) multiplied

DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu).

DOC> On RAC, this number is added across all RAC nodes.

DOC>

DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel

DOC> recompilation. Jobs are created without instance affinity so that they

DOC> can migrate across RAC nodes. Use the following queries to verify

DOC> whether UTL_RECOMP jobs are being created and run correctly:

DOC>

DOC> 1. Query showing jobs created by UTL_RECOMP

DOC> SELECT job_name FROM dba_scheduler_jobs

DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC>

DOC> 2. Query showing UTL_RECOMP jobs that are running

DOC> SELECT job_name FROM dba_scheduler_running_jobs

DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%';

DOC>#

TIMESTAMP

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

COMP_TIMESTAMP UTLRP_END 2012-04-19 21:14:29

DOC> The following query reports the number of objects that have compiled

DOC> with errors (objects that compile with errors have status set to 3 in

DOC> obj$). If the number is higher than expected, please examine the error

DOC> messages reported with each object (using SHOW ERRORS) to see if they

DOC> point to system misconfiguration or resource constraints that must be

DOC> fixed before attempting to recompile these objects.

DOC>#

OBJECTS WITH ERRORS

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

30

DOC> The following query reports the number of errors caught during

DOC> recompilation. If this number is non-zero, please query the error

DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors

DOC> are due to misconfiguration or resource constraints that must be

DOC> fixed before objects can compile successfully.

DOC>#

ERRORS DURING RECOMPILATION

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

0

SQL>

这里注意到有30个对象存在错误,我们通过dba_objects试图可以查看到是哪些对象错误

SQL> select owner,object_name,object_type from dba_objects where status <> 'VALID';

OWNER OBJECT_NAME OBJECT_TYPE

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

SXDS SP_AS_UPGRADE PROCEDURE

SXDS SP_DB_EDIT_REPORT_RESERVE PROCEDURE

SXDS SP_FA_RPT_MO_GATHER_ALL_DATA PROCEDURE

SXDS SP_FA_RPT_MO_YMQKTJB PROCEDURE

SXDS SP_FA_RPT_MO_YMQKTJB_UP PROCEDURE

SXDS SP_FA_RPT_NBYB_CARD PROCEDURE

SXDS TR_GL_BANK_CTRAST_BEFOREINSERT TRIGGER

SXDS TRIG_FASC_COMPANY TRIGGER

SXDS SP_IMP30_SEQUENCE PROCEDURE

SXDS SP_LP_BASICDATA_COLLECT PROCEDURE

SXDS SP_V51TOV52_ALL PROCEDURE

SXDS SP_V51TOV52_UPDATE_PROJECT PROCEDURE

SXDS UPDATEGLJZFA PROCEDURE

SXDS INTEGRITYPACKAGE PACKAGE

SXDSOLD SP_IMP30_SEQUENCE PROCEDURE

SXDSOLD SP_GL_VOUCHERPOST PROCEDURE

UFSXDS SP_FA_RPT_MO_YMQKTJB PROCEDURE

UFSXDS SP_FA_RPT_MO_YMQKTJB_UP PROCEDURE

UFSXDS SP_FA_RPT_NBYB_CARD PROCEDURE

UFSXDS SP_IMP30_SEQUENCE PROCEDURE

UFSXDS SP_LP_BASICDATA_COLLECT PROCEDURE

UFSXDS SP_V51TOV52_ALL PROCEDURE

UFSXDS SP_V51TOV52_UPDATE_PROJECT PROCEDURE

UFSXDS UPDATEGLJZFA PROCEDURE

UFSXDS SP_AS_UPGRADE PROCEDURE

UFSXDS SP_DB_EDIT_REPORT_RESERVE PROCEDURE

UFSXDS SP_FA_RPT_MO_GATHER_ALL_DATA PROCEDURE

UFSXDS INTEGRITYPACKAGE PACKAGE

UFSXDS TR_GL_BANK_CTRAST_BEFOREINSERT TRIGGER

UFSXDS TRIG_FASC_COMPANY TRIGGER

SQL> select count(1) from dba_objects where status <> 'VALID';

COUNT(1)

----------

30

SQL>

可以看到报错的对象不属于系统用户,是应用用户下的,这个不影响也不在升级的范围内。忽略过。

13、重启数据库完成升级

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 1828716544 bytes

Fixed Size 2097080 bytes

Variable Size 1191182408 bytes

Database Buffers 620756992 bytes

Redo Buffers 14680064 bytes

Database mounted.

Database opened.

SQL>

14、验证组件升级成功

SQL> set linesize 200

SQL> col comp_name for a30

SQL> col version for a30

SQL> col status for a30

SQL> set linesize 200

SQL> select comp_name,version,status from dba_registry;

COMP_NAME VERSION STATUS

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

Spatial 10.2.0.5.0 VALID

Oracle interMedia 10.2.0.5.0 VALID

OLAP Catalog 10.2.0.5.0 VALID

Oracle Enterprise Manager 10.2.0.5.0 VALID

Oracle XML Database 10.2.0.5.0 VALID

Oracle Text 10.2.0.5.0 VALID

Oracle Expression Filter 10.2.0.5.0 VALID

Oracle Rule Manager 10.2.0.5.0 VALID

Oracle Workspace Manager 10.2.0.5.0 VALID

Oracle Data Mining 10.2.0.5.0 VALID

Oracle Database Catalog Views 10.2.0.5.0 VALID

Oracle Database Packages and T 10.2.0.5.0 VALID

ypes

JServer JAVA Virtual Machine 10.2.0.5.0 VALID

Oracle XDK 10.2.0.5.0 VALID

Oracle Database Java Packages 10.2.0.5.0 VALID

OLAP Analytic Workspace 10.2.0.5.0 VALID

Oracle OLAP API 10.2.0.5.0 VALID

SQL>

15、退出SQLPLUS,重新登陆查看版本

[oracle@SXDS18 admin]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.5.0 - Production on 星期四 4月 19 21:22:09 2012

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

SQL> conn /as sysdba

Connected.

SQL> select * from v$version;

BANNER

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

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bi

PL/SQL Release 10.2.0.5.0 - Production

CORE 10.2.0.5.0 Production

TNS for Linux: Version 10.2.0.5.0 - Production

NLSRTL Version 10.2.0.5.0 - Production

SQL>

至此,数据库升级完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: