环境说明:
生产机:A机,solaris10,oralce9.2.0.8 db_name:nf
目标机:B机,solaris10,oralce11.2.0.1 db_name:nf
1、迁移数据文件:
A机上:
SQL>shutdown immediate
$tar cvf data.tar /data1
说明:这个包里包括了控制文件,数据文件,和日志文件。
将压好的包ftp到B机上相同的位置(不同也可以,相同省事),解压相应的文件。
$tar xvf data.tar
2、设置环境变量
stty istrip
PATH=/usr/bin:/usr/ucb:/etc:.
export PATH
ORACLE_BASE=/data1/oracle/u01
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#ORACLE_SID=NF
export ORACLE_BASE
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH LD_LIBRARY_PATH
if [ -f $HOME/.profile-EIS ]
then
echo "Sourcing $HOME/.profile-EIS....."
. $HOME/.profile-EIS
fi
#
# Remove #NOHEAD from next section for cluster node or domain
# If you do not use a vt100 change it to your terminal type.
#
if [ "`tty`" != "not a tty" ]
then
if [ "`tty`" = "/dev/console" ]
then
TERM=vt100
export TERM
echo ""
echo "TERM=$TERM"
echo ""
else
LOGINFROM=`who am i | cut -f2 -d"(" | cut -f1 -d")"`
DISPLAY=${LOGINFROM}
export LOGINFROM DISPLAY
echo ""
echo "DISPLAY=$DISPLAY"
echo ""
fi
fi
3、生成并修改pfile文件
$cat init.ora|grep -v ^#|grep -v ^$ > initNF.ora
参照原来的机器的相关参数修改相关参数即可
4.修改oratab,这儿要注意的是路径应该还是9i的,否则后面的DBUA会报错的
5.执行dbua
此过程及其漫长,大约1个半小时,甚至更多
6.重启数据库
7.检查invalid项
SQL>select count(*) from dba_invalid_objects;