Oracle9i升级到oracle10g

一、升级环境及目的:

目的:一般是由于业务规划,现有oracle9i的版本不能满足需求,需要跨大版本升级。

环境:我实验的环境如下:

 

 

升级前

升级后

OS 版本

Linux AS4( 32bit)

Linux AS4( 32bit)

Oracle 版本

9iR2(9.2.0.4)

10.2.0.1

dbua支持直接升级的数据库版本:
1)、oracle 8版本8.0.6
2)、oracle 8i版本8.1.7
3)、oracle 9i版本9.0.1
4)、oracle 9i版本9.2.0

目前安装oracle9i的环境:

[root@DB2product]# su - oracle

[oracle@DB2 ~]$id

uid=501(oracle)gid=501(dba) groups=501(dba),502(oinstall)

[oracle@DB2 ~]$cat .bashrc

# .bashrc

# User specificaliases and functions

# Source globaldefinitions

if [ -f /etc/bashrc]; then

        . /etc/bashrc

fi

exportDISPLAY=:1.0

exportORACLE_BASE=/u01/oracle

exportORACLE_HOME=/u01/oracle/product/9.2.0

exportORACLE_SID=ora9i

exportNLS_LANG=american_america.ZHS16GBK

exportORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

exportPATH=$PATH:/usr/sbin:/etc:$ORACLE_HOME/bin

exportLANG=en_US

#exportLANG=zh_CN.GB18030

exportLD_ASSUME_KERNEL=2.4.1

exportTHREADS_FLAG=native

 

[oracle@DB2 ~]$sqlplus "/as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Productionon Mon May 3 20:15:23 2010

Copyright (c)1982, 2002, Oracle Corporation.  Allrights reserved.

SQL>Selectfile_name,file_id,Tablespace_name,bytesFrom Dba_Data_Files;

/u01/oracle/oradata/ora9i/system01.dbf 1     SYSTEM

/u01/oracle/oradata/ora9i/undotbs01.dbf       2     UNDOTBS1

/u01/oracle/oradata/ora9i/cwmlite01.dbf      3     CWMLITE

/u01/oracle/oradata/ora9i/drsys01.dbf   4     DRSYS

/u01/oracle/oradata/ora9i/example01.dbf      5     EXAMPLE

/u01/oracle/oradata/ora9i/indx01.dbf    6     INDX

/u01/oracle/oradata/ora9i/odm01.dbf    7     ODM

/u01/oracle/oradata/ora9i/tools01.dbf    8     TOOLS

/u01/oracle/oradata/ora9i/users01.dbf    9     USERS

/u01/oracle/oradata/ora9i/xdb01.dbf     10    XDB

 

二、升级步骤:

主要是安装oracle10g数据库软件,注意只装软件不建库;然后用DBUA工具升级。

1、 创建oracle10g安装目录

[root@DB2 ~]$mkdir -p /u02/oracle

[root@DB2 ~]$chown oracle /u02/oracle

[root@DB2 ~]$chgrp dba /u02/oracle

[root@DB2 ~]$ su– oracle

 

2、 启动图形界面安装oracle10g

用vnc工具连接

[root@DB2 ~]# su– oracle

[oracle@DB2database]$ ls

doc  install response  runInstaller  stage welcome.html

[oracle@DB2database]$ ./ runInstaller 

在选择安装路径时选择

PATH:/u02/oracle/product/10g

注意:10g的安装路径一要与9i的路径分开,否则会报错,我在开始安装时就是选择的是和9i相同的$ORACLE_BASE,结果安装不成功,具体报错信息,在下面的“升级遇到的问题”说明。

直到下面的步骤:

下一步:1

下一步:2

 

下一步:3

下一步:4

 

 

 

下一步:5

 

下一步:6

 

 

 

下一步:7

 

下一步:8

 

 

下一步:9

 

下一步:10

 

 

 

下一步:11

 

下一步:12

下一步:13

 

 

3、 更改$ORACLE_HOME为10g环境变量,如下:

[oracle@DB2 ~]$ cat .bashrc

# .bashrc

# User specific aliases and functions

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

export DISPLAY=:1.0

export ORACLE_BASE=/u02/oracle

export ORACLE_HOME=/u02/oracle/product/10g

#export ORACLE_HOME=/u01/oracle/product/9.2.0

export ORACLE_SID=ora9i

export NLS_LANG=american_america.ZHS16GBK

export ORA_NLS33=$ORACLE_HOME/nls/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

export PATH=$PATH:/usr/sbin:/etc:$ORACLE_HOME/bin

#export LANG=en_US

export LANG=zh_CN.GB18030

export LD_ASSUME_KERNEL=2.4.1

export THREADS_FLAG=native

 

4、 关掉或删除9i的监听,启动10g的监听

[oracle@DB2 bin]$ pwd

/u01/oracle/product/9.2.0/bin

[oracle@DB2 bin]$ ./lsnrctl stop

为了节省空间和避免混乱,可以把9i引擎的$ORACLE_HOME删掉

[oracle@DB2 ~]$ pwd

/u01/oracle

[oracle@DB2 ~]$ rm –rfproduct

 

开启oracle10g的监听:

[oracle@DB2 bin]$ lsnrctl start

 

 

5、 查看升级后的数据文件

SQL> col file_name for a40

SQL> col tablespace_name for a20

SQL> Selectfile_name,file_id,Tablespace_name,bytes From Dba_Data_Files order by FILE_ID;

 

FILE_NAME                  FILE_ID TABLESPACE_NAME           BYTES

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

/u01/oracle/oradata/ora9i/system01.dbf            1 SYSTEM                639631360

/u01/oracle/oradata/ora9i/undotbs01.dbf           2 UNDOTBS1              791674880

/u01/oracle/oradata/ora9i/cwmlite01.dbf           3 CWMLITE                20971520

/u01/oracle/oradata/ora9i/drsys01.dbf             4 DRSYS                  20971520

/u01/oracle/oradata/ora9i/example01.dbf           5 EXAMPLE               157941760

/u01/oracle/oradata/ora9i/indx01.dbf              6 INDX                   26214400

/u01/oracle/oradata/ora9i/odm01.dbf               7 ODM                    20971520

/u01/oracle/oradata/ora9i/tools01.dbf             8 TOOLS                  10485760

/u01/oracle/oradata/ora9i/users01.dbf             9 USERS                  26214400

/u01/oracle/oradata/ora9i/xdb01.dbf              10 XDB                    50462720

/u01/oracle/oradata/ora9i/sysaux01.dbf           11 SYSAUX                524288000

11rows selected

 

发现比升级前多了个SYSAUX表空间。

 

 

三、升级遇到的问题

1、9i和10g使用同一个$ORACLE_BASE时,在安装到86%时会报下面的错:

 

2、升级后数据库不能正常登录,详细见下面的贴子

http://www.itpub.net/thread-1298987-1-1.html

 

你可能感兴趣的:(Oracle,版本升级)