单实例升级

单实例升级:from 10.2.0.1 to 10.2.0.4 (linux 32bit 单实例)

 

Oracle升级

环境:centos5.6

Oracle :   10.2.0.1

目标:from10.2.0.1to10.2.0.4

 

总结:

1、升级前关闭oracle与相关服务

2system,undo,shared_pool大小

3、慎用startup downgrade

 

1、设置密码文件

[ora@dg-pp ~]$orapwd file=/opt/oracle/product/10.2.0/db_1/dbs/orapwtest password=oracle force=y

2、正常关闭oracle

sys@TEST>shutdown immediate;

3、重新relink oracle

[ora@dg-pp ~]$cd $ORACLE_HOME/rdbms/lib

[ora@dg-pp lib]$make -f ins_rdbms.mk dv_off

make: *** No rule to make target `dv_off'. Stop.

[ora@dg-pp lib]$cd $ORACLE_HOME/bin

[ora@dg-pp bin]$relink oracle

chmod 755 /opt/oracle/product/10.2.0/db_1/bin

mv -f /opt/oracle/product/10.2.0/db_1/bin/oracle /opt/oracle/product/10.2.0/db_1/bin/oracleO

mv /opt/oracle/product/10.2.0/db_1/rdbms/lib/oracle /opt/oracle/product/10.2.0/db_1/bin/oracle

chmod 6751 /opt/oracle/product/10.2.0/db_1/bin/oracle

 

4、开启数据库

test>startup

5、设置环境变量

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=test

export PATH=$ORACLE_HOME/bin:$PATH

 

6、关闭oracle数据库和oracle相关服务

[ora@dg-pp ~]$emctl stop dbconsole

 

TZ set to PRC

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 

Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.

http://dg-pp:5500/em/console/aboutApplication

Stopping Oracle Enterprise Manager 10g Database Control ...

 ... Stopped.

 

[ora@dg-pp ~]$isqlplusctl stop

iSQL*Plus 10.2.0.1.0

Copyright (c) 2003, 2005, Oracle. All rights reserved.

iSQL*Plus instance on port 5560 is not running ...

 

[ora@dg-pp ~]$lsnrctl stop

sys@TEST>shutdown immediate;

 

7、解压升级补丁

[ora@dg-pp opt]$unzip p6810189_10204_Linux-x86-64.zip

 

8、图形安装

图形省略

[root@dg-pp ~]#/opt/oracle/product/10.2.0/db_1/root.sh

Running Oracle10 root.sh script...

 

The following environment variables are set as:

   ORACLE_OWNER= ora

   ORACLE_HOME= /opt/oracle/product/10.2.0/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]:

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

[n]:

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

[n]:

 

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.

 

 

9、启动listener

[ora@dg-pp opt]$lsnrctl start

Services Summary...

Service "PLSExtProc" has 1 instance(s).

 Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

 

10dbua升级

图形省略

 

11、检测错误

[ora@dg-pp opt]$cd $ORACLE_HOME/install

 

Do you wish to continue (y/n) [n]: y

Spooling the error log /tmp/changePerm_err.log...

12

SQL>conn /as sysdba

Connected.

SQL>shutdown immediate;

SQL>startup

 

13

SQL>DROP FUNCTION DVSYS.REALM_SDML_AUTHORIZED ;

DROP FUNCTION DVSYS.REALM_SDML_AUTHORIZED

*

ERROR at line 1:

ORA-01435: user does not exist

SQL>DROP PROCEDURE DVSYS.SYNCHRONIZE_POLICY_FOR_OBJECT;

DROP PROCEDURE DVSYS.SYNCHRONIZE_POLICY_FOR_OBJECT

*

ERROR at line 1:

ORA-01435: user does not exist

SQL>DECLARE

 2               CURSOR stmt IS

 3                        SELECT u.name, o.name, r.pname

 4                            FROM user$ u, obj$ o, rls$ r

 5                        WHERE u.user# = o.owner#

 6                            AND r.obj# = o.obj#

 7                            AND bitand(r.stmt_type,65536) > 0;

 8  

 9                        object_schema VARCHAR2(32) := NULL;

 10                        object_name VARCHAR2(32) := NULL;

 11                        policy_name VARCHAR2(32) := NULL;

 12  

 13                        BEGIN

 14                         OPEN stmt;

 15                           LOOP

 16                                FETCH stmt INTO object_schema,

 17                                                object_name,

 18                                                policy_name;

 19                                EXIT WHEN stmt%NOTFOUND;

 20                                DBMS_RLS.DROP_POLICY(

 21                                '"'||object_schema||'"',

 22                                '"'||object_name||'"',

 23                                '"'||policy_name||'"');

 24                           END LOOP;

 25                         CLOSE stmt;

 26                        END;

 27                       /

 

PL/SQL procedure successfully completed.

 

14

SQL>shutdown immediate;

[ora@dg-pp install]$cd $ORACLE_HOME/rdbms/lib

[ora@dg-pp lib]$make -f ins_rdbms.mk dv_on

[ora@dg-pp lib]$relink oracle

SQL>startup

 

15、重新编译对象

SQL>shutdown immediate;

SQL>startup

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

 

 

16、升级回退(慎用如果你不想回退到升级前)

SQL>startup downgrade;

SQL>spool downgrade.out

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

SQL>spool off

 

17、修改兼容性参数

SQL>alter system set compatible='10.2.0.4.0' scope=spfile;

 

18、升级检测

SQL>select comp_name,version,status from sys.dba_registry;

检查组件的升

SQL>select * from utl_recomp_errors;

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


你可能感兴趣的:(单实例升级)