一、升级环境及目的:
目的:一般是由于业务规划,现有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