Linux x86-64上手動升級Oracle10204到 10205

作者 阿九【轉載時請務必以超鏈接形式標明文章原始出處和作者信息】 




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)

[n]: y

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

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

[n]: y

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

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

[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>

 

至此,數據庫升級完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章