10G RAC安装:
实验环境:
Redhat Linux 5.5_node1 | 主机名 hostname:node1 |
Redhat Linux 5.5_node2 | 主机名 hostname:node2 |
节点node1的设置:
[root@node1 ~]# vim /etc/sysctl.conf #修改内核参数详见官方文档
kernel.core_uses_pid = 1
fs.file-max = 65536
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
kernel.shmmni = 4096
kernel.sem = 500 64000 100 128
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
[root@node1 ~]# vim /etc/sysconfig/network #设置主机名 *注意主机名小写
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node1
[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth* #设置网卡的ip地址
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.0.0 *生产环境中public的网关必须填写否则阻止vip的启动
[root@node1 ~]# vim /etc/hosts #设置主机ip对应解析
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.1 node1
10.0.0.1 node1priv
192.168.1.2 node2
10.0.0.2 node2priv
192.168.1.100 node1vip
192.168.1.200 node2vip
[root@node1 ~]# groupadd -g 1000 dba #创建dba组并且指定GID
[root@node1 ~]# useradd -g dba -u 1001 oracle #创建oracle用并且加入dba组指定UID
[root@node1 ~]# su - oracle #切换oracle用户
[root@node2 ~]# passwd oraacle #为oracle设置密码
[oracle@node1 ~]$ id #查看当前用户的信息
uid=1001(oracle) gid=1000(dba) groups=1000(dba)
节点node2的设置:
[root@node1 ~]# vim /etc/sysconfig/network #设置主机名 *注意主机名小写
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=node2
[root@node1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth* #设置网卡的ip地址
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.0
[root@node1 ~]# vim /etc/hosts #设置主机ip对应解析
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.1 node1
10.0.0.1 node1priv
192.168.1.2 node2
10.0.0.2 node2priv
192.168.1.100 node1vip
192.168.1.200 node2vip
[root@node1 ~]# groupadd -g 1000 dba #创建dba组并且指定GID
[root@node1 ~]# useradd -g dba -u 1001 oracle #创建oracle用并且加入dba组指定UID
[root@node2 ~]# passwd oraacle #为oracle设置密码
[root@node1 ~]# su - oracle #切换oracle用户
[oracle@node1 ~]$ id #查看当前用户的信息
uid=1001(oracle) gid=1000(dba) groups=1000(dba)
节点互信设置node1:
[oracle@node1 ~]$ /usr/bin/ssh-keygen -t rsa #产生公钥与私钥对.
[oracle@node1 ~]$ /usr/bin/ssh-keygen -t dsa
[oracle@node1 .ssh]$ pwd
/home/oracle/.ssh
[oracle@node1 .ssh]$ ll
-rw------- 1 oracle dba 668 May 26 15:55 id_dsa
-rw-r--r-- 1 oracle dba 602 May 26 15:55 id_dsa.pub
-rw------- 1 oracle dba 1675 May 26 15:55 id_rsa
-rw-r--r-- 1 oracle dba 394 May 26 15:55 id_rsa.pub
-rw-r--r-- 1 oracle dba 1598 May 26 16:04 known_hosts
节点互信设置node2:
[oracle@node1 ~]$ /usr/bin/ssh-keygen -t rsa #产生公钥与私钥对.
[oracle@node1 ~]$ /usr/bin/ssh-keygen -t dsa
[oracle@node2 .ssh]$ pwd
/home/oracle/.ssh
[oracle@node2 .ssh]$ ll
-rw------- 1 oracle dba 668 May 26 15:56 id_dsa
-rw-r--r-- 1 oracle dba 602 May 26 15:56 id_dsa.pub
-rw------- 1 oracle dba 1675 May 26 15:56 id_rsa
-rw-r--r-- 1 oracle dba 394 May 26 15:56 id_rsa.pub
-rw-r--r-- 1 oracle dba 1598 May 26 16:05 known_hosts
节点之间公钥和私钥对的互传:
[oracle@node2 .ssh]$ scp id_rsa.pub node1:/home/oracle/.ssh/id_rsa.pub2 #将noode2节点的公钥和私钥对传输到node1节点
[oracle@node1 .ssh]$ ll #查看远程copy的密钥对
-rw------- 1 oracle dba 668 May 26 15:55 id_dsa
-rw-r--r-- 1 oracle dba 602 May 26 15:55 id_dsa.pub
-rw-r--r-- 1 oracle dba 602 May 26 16:01 id_dsa.pub2
-rw------- 1 oracle dba 1675 May 26 15:55 id_rsa
-rw-r--r-- 1 oracle dba 394 May 26 15:55 id_rsa.pub
-rw-r--r-- 1 oracle dba 394 May 26 16:01 id_rsa.pub2
-rw-r--r-- 1 oracle dba 1598 May 26 16:04 known_hosts
[oracle@node1 .ssh]$ cat id_dsa.pub id_dsa.pub2 id_rsa.pub id_rsa.pub2>authorized_keys #生成密钥对文件
[oracle@node1 .ssh]$ scp authorized_keys node2:/home/oracle/.ssh/
#将node1节生成的密钥对远程copy到node2节点
[oracle@node2 .ssh]$ pwd #在node2节点上查看copy的密钥对
/home/oracle/.ssh
[oracle@node2 .ssh]$ ll
-rw-r--r-- 1 oracle dba 1992 May 26 16:03 authorized_keys
-rw------- 1 oracle dba 668 May 26 15:56 id_dsa
-rw-r--r-- 1 oracle dba 602 May 26 15:56 id_dsa.pub
-rw------- 1 oracle dba 1675 May 26 15:56 id_rsa
-rw-r--r-- 1 oracle dba 394 May 26 15:56 id_rsa.pub
-rw-r--r-- 1 oracle dba 1598 May 26 16:05 known_hosts
[oracle@node1 ~]$ ssh node2 date #互信验证
Tue May 26 22:58:16 CST 2015
[oracle@node1 ~]$ ssh node1 date *注意:互信必须通过不交互输入密码
Tue May 26 22:58:19 CST 2015
[oracle@node1 ~]$ ssh node1priv date
Tue May 26 22:58:22 CST 2015
[oracle@node1 ~]$ ssh node2priv date
Tue May 26 22:58:27 CST 2015
两个节点node1/2 创建目录:
[root@node1 ~]# mkdir /oracle
[root@node1 ~]# chown -R oracle:dba /oracle/
[root@node1 ~]# chmod -R 775 /oracle/
[root@node2 ~]# mkdir /oracle
[root@node2 ~]# chown -R oracle:dba /oracle/
[root@node2 ~]# chmod -R 775 /oracle/
映射裸设备:
[root@node1 ~]# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 514048+ 83 Linux
/dev/sda2 65 574 4096575 82 Linux swap / Solaris
/dev/sda3 575 2610 16354170 83 Linux
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System *存放
/dev/sdb1 1 74 594373+ 83 Linux
/dev/sdb2 75 148 594405 83 Linux
/dev/sdb3 149 1044 7197120 83 Linux
[root@node1 ~]# vim /etc/udev/rules.d/60-raw.rules #设置裸设备映射关系
ACTION=="add", KERNEL=="sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdc2",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdc3",RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",KERNEL=="raw[1-5]", OWNER="oracle", GROUP="dba", MODE="660"
[root@node2 ~]# partprobe #扫描分区或者重启服务器
[root@node2 ~]# start_udev #启动裸设备映射服务两个节点都需要启动
Starting udev: [ OK ]
node1节点安装crs软件:
*注意:上传软件注意权限问题
[oracle@node1 oracle]$ pwd
/oracle
[oracle@node1 oracle]$ ll
-rwxrwxr-x 1 oracle dba 328253440 May 26 23:07 10201_clusterware_linux_x86_64.cpio.gz
-rwxrwxr-x 1 oracle dba 801603584 May 26 23:05 10201_database_linux_x86_64.cpio
drwxrwx--- 3 oracle dba 4096 May 26 23:19 app
drwxrwxr-x 10 oracle dba 4096 Oct 23 2005 clusterware
drwxrwxr-x 6 oracle dba 4096 Oct 23 2005 database
-rwxrwxr-x 1 oracle dba 1249857866 May 26 23:06 p8202632_10205_Linux-x86-64.zip
#将10201_clusterware_linux_x86_64.cpio.gz文件解压命令如下:
[oracle@node1 oracle]$ gunzip 10201_clusterware_linux_x86_64.cpio.gz #解压.gz后缀文件
[oracle@node1 oracle]$ cpio -idcmv< 10201_clusterware_linux_x86_64.cpio #解压.cpio后缀文件
解压后进入clusterware目录:
[oracle@node1 oracle]$ cd clusterware/
[oracle@node1 clusterware]$ ll
drwxrwxr-x 2 oracle dba 4096 Oct 23 2005 cluvfy
drwxrwxr-x 6 oracle dba 4096 Oct 20 2005 doc
drwxrwxr-x 4 oracle dba 4096 Oct 23 2005 install
drwxrwxr-x 2 oracle dba 4096 Oct 23 2005 response
drwxrwxr-x 2 oracle dba 4096 Oct 23 2005 rootpre
drwxrwxr-x 2 oracle dba 4096 Oct 23 2005 rpm
-rwxrwxr-x 1 oracle dba 2643 Oct 23 2005 runInstaller #安装脚本
drwxrwxr-x 9 oracle dba 4096 Oct 23 2005 stage
drwxrwxr-x 2 oracle dba 4096 Oct 23 2005 upgrade
-rwxrwxr-x 1 oracle dba 3466 Oct 20 2005 welcome.html
[oracle@node1 clusterware]$ ./runInstaller -igonreSysPrereqs #执行安装脚本并且忽略系统版本检测
*注意:node1节点的node1vip的ip地址是否冲突,修改/etc/hosts文件对应节点ip地址
*注意;在远程copy的时候注意是否拷贝成功
*错误:NO KEYS WERE WRITTEN. Supply -force parameter to override. 原因可能是/dev/raw*裸设备有数据信息没有格式化
Now formatting voting device: /dev/raw/raw2 #格式化磁盘
[root@node1 ~]# dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=2000
Linux:
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -Rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
cp /etc/inittab.orig /etc/inittab
rm -rf /etc/Ora*
rm -rf /oracle/app/
rm -rf /tmp/Ora*
rm -rf /tmp/.oracle
rm -rf /var/tmp/.oracle
ps -ef | grep crs
root 1340 3350 0 17:13 pts/2 00:00:00 grep crs
[root@node2 etc]# kill -9 **
[root@node2 bin]# vim /oracle/app/oracle/product/10.2/crs/bin/vipca
[root@node2 bin]# ./oifcfg setif -global eth0/192.168.1.0:public #设置全局ip 将网卡信息写入OCR中规定了两块网卡哪个是对外的哪个是对内的
[root@node2 bin]# ./oifcfg setif -global eth1/10.0.0.0:cluster_interconnect #设置集群连接ip将网卡信息写入OCR中
[root@node2 bin]# ./oifcfg getif #将网卡信息写入OCR中
[root@node2 bin]# ./oifcfg iflist #查看注册的vip
eth0 192.168.1.0
eth1 10.0.0.0
[root@node2 bin]# ./vipca #手动注册vip调出图形界面
[root@node1 ]# cd /oracle/app/oracle/product/10.2/crs/bin
[root@node1 bin]# ./crs_stat -t #查看各个节点状态
Name Type Target State Host
------------------------------------------------------------
ora.node1.gsd application ONLINE ONLINE node1
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip application ONLINE ONLINE node1
ora.node2.gsd application ONLINE ONLINE node2
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip application ONLINE ONLINE node2
*注意:这是再去脚本的界面点OK它会检查对应环境所以到这一步再去点OK谨记,crs软件安装完成
安装oracle数据库软件:
[oracle@node1 oracle]$ gunzip 10201_database_linux_x86_64.cpio.gz
[oracle@node1 oracle]$ cpio -idcmv<10201_database_linux_x86_64.cpio #解压数据库软件
[oracle@node1 database]$ ./runInstaller -ignoreSysprereqs #安然数据库软件oracle10g忽略操作系统版本
设置环境变量:
node1:
export PATH
ORACLE_BASE=/oracle/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2/db
ORA_CRS_HOME=$ORACLE_BASE/product/10.2/crs
ORACLE_SID=test
PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORA_CRS_HOME ORACLE_SID PATH
node2:
export PATH
OEACLE_BASE=/oracle/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2/db
ORA_CRS_HOME=$ORACLE_BASE/product/10.2/crs
ORACLE_SID=test1
PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORA_CRS_HOME ORACLE_SID PATH
创建监听:
[oracle@node1 ~]$ netca #配置监听
[oracle@node1 ~]$ crs_stat -t #查看集群是否两个节点存在监听
Name Type Target State Host
------------------------------------------------------------
ora....E1.lsnr application ONLINE ONLINE node1
ora.node1.gsd application ONLINE ONLINE node1
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip application ONLINE ONLINE node1
ora....E2.lsnr application ONLINE ONLINE node2
ora.node2.gsd application ONLINE ONLINE node2
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip application ONLINE ONLINE node2
建立库:
[oracle@node1 ~]$ dbca #创建库
*SID注意这里的test只是节点头部标识在node2上会出现test1
*注意:如果存在没有mount状态无大小显示可能是磁盘头有信息
ps -ef | grep asm
oracle 4873 1 0 19:23 ? 00:00:00 asm_pmon_+ASM2
oracle 4875 1 0 19:23 ? 00:00:00 asm_diag_+ASM2
oracle 4877 1 0 19:23 ? 00:00:00 asm_psp0_+ASM2
oracle 4879 1 0 19:23 ? 00:00:01 asm_lmon_+ASM2
oracle 4881 1 0 19:23 ? 00:00:00 asm_lmd0_+ASM2
oracle 4906 1 0 19:23 ? 00:00:00 asm_lms0_+ASM2
oracle 4913 1 0 19:23 ? 00:00:00 asm_mman_+ASM2
oracle 4915 1 0 19:23 ? 00:00:00 asm_dbw0_+ASM2
oracle 4917 1 0 19:23 ? 00:00:00 asm_lgwr_+ASM2
oracle 4919 1 0 19:23 ? 00:00:00 asm_ckpt_+ASM2
oracle 4921 1 0 19:23 ? 00:00:00 asm_smon_+ASM2
oracle 4923 1 0 19:23 ? 00:00:00 asm_rbal_+ASM2
oracle 4925 1 0 19:23 ? 00:00:00 asm_gmon_+ASM2
oracle 4977 1 0 19:23 ? 00:00:00 asm_lck0_+ASM2
*注意:这里的mounted2/2是2个节点都能挂在使用ASM磁盘组
[oracle@node1 ~]$ crs_stat -t #asm
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE node1
ora....E1.lsnr application ONLINE ONLINE node1
ora.node1.gsd application ONLINE ONLINE node1
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip application ONLINE ONLINE node1
ora....SM2.asm application ONLINE ONLINE node2
ora....E2.lsnr application ONLINE ONLINE node2
ora.node2.gsd application ONLINE ONLINE node2
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip application ONLINE ONLINE node2
ora.test.db application ONLINE ONLINE node1
ora....t1.inst application ONLINE ONLINE node1
ora....t2.inst application ONLINE ONLINE node2
[oracle@node2 ~]$ ps -ef | grep ora_ #在node2上面会出现实例前缀加1所以现在的实例名是test2更对.bash_pfile
oracle 1742 29527 0 20:01 pts/1 00:00:00 grep ora_
oracle 15148 1 0 19:49 ? 00:00:00 ora_pmon_test2
oracle 15150 1 0 19:49 ? 00:00:00 ora_diag_test2
oracle 15152 1 0 19:49 ? 00:00:00 ora_psp0_test2
oracle 15154 1 0 19:49 ? 00:00:02 ora_lmon_test2
oracle 15156 1 0 19:49 ? 00:00:02 ora_lmd0_test2
oracle 15158 1 0 19:49 ? 00:00:03 ora_lms0_test2
oracle 15162 1 0 19:49 ? 00:00:00 ora_mman_test2
oracle 15164 1 0 19:49 ? 00:00:00 ora_dbw0_test2
oracle 15166 1 0 19:49 ? 00:00:00 ora_lgwr_test2
oracle 15168 1 0 19:49 ? 00:00:00 ora_ckpt_test2
oracle 15170 1 0 19:49 ? 00:00:00 ora_smon_test2
oracle 15172 1 0 19:49 ? 00:00:00 ora_reco_test2
oracle 15174 1 0 19:49 ? 00:00:00 ora_cjq0_test2
oracle 15176 1 0 19:49 ? 00:00:00 ora_mmon_test2
oracle 15178 1 0 19:49 ? 00:00:00 ora_mmnl_test2
oracle 15205 1 0 19:49 ? 00:00:00 ora_lck0_test2
oracle 15410 1 0 19:49 ? 00:00:00 ora_asmb_test2
oracle 15414 1 0 19:49 ? 00:00:00 ora_rbal_test2
oracle 15491 1 0 19:49 ? 00:00:00 ora_o000_test2
oracle 15929 1 0 19:49 ? 00:00:00 ora_qmnc_test2
oracle 16215 1 0 19:50 ? 00:00:00 ora_q000_test2
oracle 16217 1 0 19:50 ? 00:00:00 ora_q001_test2
oracle 30683 1 0 19:59 ? 00:00:00 ora_pz99_test2
*注意:你的test是前缀你所查看的进程名字加后缀的是你实例的具体名称1个库多个实例
升级CRS:
[oracle@node1 oracle]$ ls -l p8202632_10205_Linux-x86-64.zip
#crs和oracle10.2都是一个升级包
-rwxrwxr-x 1 oracle dba 1249857866 May 26 16:23 p8202632_10205_Linux-x86-64.zip
[oracle@node1 oracle]$ unzip p8202632_10205_Linux-x86-64.zip
[oracle@node1 Disk1]$ ls
install patch_note.htm response runInstaller stage
[oracle@node1 Disk1]$ ./runInstaller #执行升级脚本
[root@node1 ~]# /oracle/app/oracle/product/10.2/crs/bin/crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued. #两个节点都需要停止集群服务
[root@node1 ~]# /oracle/app/oracle/product/10.2/crs/install/root102.sh #copy软件两个节点都需要执行
[oracle@node1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE node1
ora....E1.lsnr application ONLINE ONLINE node1
ora.node1.gsd application ONLINE ONLINE node1
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip application ONLINE ONLINE node1
ora....SM2.asm application ONLINE ONLINE node2
ora....E2.lsnr application ONLINE ONLINE node2
ora.node2.gsd application ONLINE ONLINE node2
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip application ONLINE ONLINE node2
ora.test.db application ONLINE ONLINE node1
ora....t1.inst application ONLINE ONLINE node1
ora....t2.inst application ONLINE ONLINE node2
*注意:升级完成
数据库升级10.2.1---10.2.5:
[root@node1 ~]# /oracle/app/oracle/product/10.2/crs/bin/crsctl stop crs
#停掉2个节点集群
[root@node2 ~]# /oracle/app/oracle/product/10.2/crs/bin/crsctl stop crs
[root@node1 oracle]# unzip p8202632_10205_Linux-x86-64.zip #解压升级包
[oracle@node1 Disk1]$ /oracle/Disk1/runInstaller #执行升级脚本
*安装完成.
[oracle@node1 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM1.asm application ONLINE ONLINE node1
ora....E1.lsnr application ONLINE ONLINE node1
ora.node1.gsd application ONLINE ONLINE node1
ora.node1.ons application ONLINE ONLINE node1
ora.node1.vip application ONLINE ONLINE node1
ora....SM2.asm application ONLINE ONLINE node2
ora....E2.lsnr application ONLINE ONLINE node2
ora.node2.gsd application ONLINE ONLINE node2
ora.node2.ons application ONLINE ONLINE node2
ora.node2.vip application ONLINE ONLINE node2
ora.test.db application ONLINE OFFONLINE *只有db启动不起来
ora....t1.inst application ONLINE OFFONLINE
ora....t2.inst application ONLINE OFFLINE
[oracle@node2 ~]$ vim /oracle/app/oracle/admin/test/bdump/alert_test2.log
ORA-00704: bootstrap process failure *核心进程失败
ORA-39700: database must be opened with UPGRADE option
sqlplus / as sysdba
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 587202560 bytes
Fixed Size 2098016 bytes
Variable Size 159386784 bytes
Database Buffers 419430400 bytes
Redo Buffers 6287360 bytes
SQL> create pfile='/tmp/a.txt' from spfile; #生成文本pfile;
[oracle@node1 ~]$ vim /tmp/a.txt #编辑pfile文件并且更改db为false
*.cluster_database=false
[oracle@node1 dbs]$ more inittest1.ora
SPFILE='+DATADG/test/spfiletest.ora'
SQL> create pfile='/tmp/b.txt' from SPFILE='+DATADG/test/spfiletest.ora'; #生成pfile文件通过目录形式
SQL> startup upgrade pfile='/tmp/a.txt'; #通过生成的pfile文件启动实例数据库到升级模式
SQL> @?/rdbms/admin/catupgrd.sql #升级生产数据库
*注释:也可以先升级后建库;