很简单的一个方法:先通过spfile创建一个pfile,然后再通过这个pfile创建路径指向移动目的地的spfile。
在10g rac中,每个节点的$ORACLE_HOME/dbs/下面都有个该节点的init pfile配置文件,该文件内容是指向共享存储中的spfile,rac节点启动时候先读取该
文件,通过该文件中的指向路径找到共享存储中的spfile,因此需要改变oracle的spfile或者是asm的spfile路径的步骤如下:
1、先通过spfile创建一个pfile,然后在通过pfile在新的共享存储裸设备上创建新的spfile:
bash-3.00$ ls
ab_+ASM2.dat hc_+ASM2.dat hc_pridb2.dat init+ASM2.ora init.ora initdw.ora initpridb1.ora orapw+ASM2
orapwpridb2
bash-3.00$
bash-3.00$ sqlplus '/as sysdba'
SQL*Plus: Release 10.2.0.5.0 - Production on Wed Oct 13 16:41:34 2010
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL>
SQL> create pfile='/export/home/oracle/pfile.ora' from spfile;
SQL>
SQL> create spfile='/dev/rdsk/emcpower57e' from pfile='/export/home/oracle/pfile.ora';
File created.
SQL> show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
/dev/rdsk/emcpower0d
2、修改$ORACLE_HOME/dbs/下的init文件内容,使其指向新的共享存储设备:
修改前:
bash-3.00$ pwd
/opt/oracle/product/10.2.0/rac_db/dbs
bash-3.00$ ls
ab_+ASM1.dat hc_+ASM1.dat hc_pridb1.dat init+.ora init+ASM1.ora init.ora initdw.ora initpridb1.ora
orapw+ASM1 orapwpridb1
bash-3.00$ cat init+ASM1.ora
SPFILE='/dev/rdsk/emcpower0d'
bash-3.00$
修改后:
bash-3.00$ cat init+ASM1.ora
SPFILE='/dev/rdsk/emcpower57e'
bash-3.00$
注意需要在每个节点都要修改,保存重启各个asm实例。
SQL> shutdown abort
ASM instance shutdown
SQL>
SQL>
SQL> startup
ASM instance started
Total System Global Area 130023424 bytes
Fixed Size 2050360 bytes
Variable Size 102807240 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
SQL> show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
/dev/rdsk/emcpower57e
SQL>
SQL>
SQL>
SQL> exit
之后更改crs
修改数据库spfile:
bash-3.00$ srvctl modify database -d pridb -p /dev/rdsk/emcpower57e
bash-3.00$ srvctl modify database -d pridb -p +ARCH/pridb/spfilepridb.ora
bash-3.00$ srvctl stop database -d pridb
bash-3.00$ srvctl start database -d pridb
修改asm spfile:
bash-3.00$ srvctl modify asm -n racdb1 -i +ASM1 -p /dev/rdsk/emcpower57e
bash-3.00$
阅读(3528) | 评论(0) | 转发(0) |