SUSE 10 sp2下Oracle 10.2.0.1升级到10.2.0.4


SUSE 10 sp2下Oracle 10.2.0.1升级到10.2.0.4过程笔记:

一:停止监听及数据库
oracle@www.bkjia.com:~> lsnrctl stop

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 12-MAY-2010 13:30:30

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

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
The command completed successfully

oracle@www.bkjia.com:~> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed May 12 13:31:33 2010

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


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

二:准备升级软件
oracle@www.bkjia.com:~> unzip p6810189_10204_Linux-x86.zip
oracle@www.bkjia.com:~> cd Disk1/
oracle@www.bkjia.com:~/Disk1> ./runInstaller     该阶段为图形界面,在升级过程中不需要选择更改东西,直接下一步就可以,大概用时15分钟

linux-rpu7:/opt/oracle/product/10.2/db_1 # ./root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/oracle/product/10.2/db_1

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
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.


三:升级数据字典
oracle@www.bkjia.com:~/Disk1> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Wed May 12 12:32:21 2010

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

Connected to an idle instance.

SQL> startup upgrade
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size              71306536 bytes
Database Buffers           92274688 bytes
Redo Buffers                2924544 bytes
Database mounted.
Database opened.
SQL>spool /opt/oracle/upgrade.log
SQL>start /opt/oracle/product/10.2/db_1/rdbms/admin/catupgrd.sql    该步大概需要一个小时左右

upgrade.log后部分内容。要求检查rpgrade.log中是否有error,或者not valid
Total Upgrade Time: 00:39:36
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>spool off

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1266392 bytes
Variable Size             130026792 bytes
Database Buffers           33554432 bytes
Redo Buffers                2924544 bytes
Database mounted.
Database opened.
编译失效对象
SQL> start /opt/oracle/product/10.2/db_1/rdbms/admin/utlrp.sql
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN  2010-05-12 13:23:05
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  2010-05-12 13:24:35
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
-------------------
                  0
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> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production


SQL> col comp_id format a20
SQL> col version format a20
SQL> col status format a10
SQL> select comp_id,version,status from dba_registry;

COMP_ID              VERSION              STATUS
-------------------- -------------------- ----------
CATALOG              10.2.0.4.0           VALID
CATPROC              10.2.0.4.0           VALID
OWM                  10.2.0.4.3           VALID
JAVAVM               10.2.0.4.0           VALID
XML                  10.2.0.4.0           VALID
CATJAVA              10.2.0.4.0           VALID
EXF                  10.2.0.4.0           VALID
ODM                  10.2.0.4.0           VALID
CONTEXT              10.2.0.4.0           VALID
XDB                  10.2.0.4.0           VALID
RUL                  10.2.0.4.0           VALID
ORDIM                10.2.0.4.0           VALID
APS                  10.2.0.4.0           VALID
XOQ                  10.2.0.4.0           VALID
AMD                  10.2.0.4.0           VALID
SDO                  10.2.0.4.0           VALID
EM                   10.2.0.4.0           VALID

相关内容