首页 > 技术文章 > RAC修改spfile位置

Clark-cloud-database 2017-11-10 11:21 原文

RAC修改spfile位置 
 
[root@rac1 ~]# su - oracle 
[oracle@rac1 ~]$ sqlplus  / as sysdba 
SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 8 22:36:39 2014 
Copyright (c) 1982, 2011, Oracle.  All rights reserved. 
Connected to: 
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, 
Data Mining and Real Application Testing options 
 
SQL> select status from gv$instance; 
 
STATUS 
------------------------ 
OPEN 
OPEN  
 
SQL> show parameter db_name 
 
NAME                                 TYPE                   VALUE 
------------------------------------ ---------------------- ------------------------------ 
db_name                              string                  orcl 
 
 
1.查看当前的DATABASE spfile 位置 
 
SQL> show parameter spfile  
 
NAME                                 TYPE        VALUE 
------------------------------------ ----------- ------------------------------ 
spfile                               string      +ORCLDG/orcl/spfileorcl.ora 
 
 
2.备份 pfile 
[oracle@rac1 ~]$ cd $ORACLE_HOME/dbs 
[oracle@rac1 ~]$ more initorcl1.ora 
 
    spfile='+ORCLDG/orcl/spfileorcl.ora' 
 
[oracle@rac1 ~]$ cp initorcl1.ora  initorcl1.orabak 
 
3.重新在指定路径创建 spfile 
 
[oracle@rac1 ~]$ sqlplus / as sysdba 
 
SQL> create  pfile from spfile; 
 
SQL> create spfile='+ORCL_FRA' from pfile; 
 
 
 
4.查看新创建spfile位置 
[oracle@rac1 ~]$ su - grid  
[grid@yyzfrac1 ~]$ asmcmd 
ASMCMD> lsdg 
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name 
MOUNTED  NORMAL  N         512   4096  1048576      6144     5218             2048            1585              0             Y  OCRDG/ 
MOUNTED  EXTERN  N         512   4096  1048576    204800   204704                0          204704              0             N  ORCLDG/ 
MOUNTED  EXTERN  N         512   4096  1048576    204800   204704                0          204704              0             N  ORCL_FRA/ 
 
ASMCMD> cd ORCL_FRA 
ASMCMD> ls 
ORCL/ 
ASMCMD> cd orcl 
ASMCMD> ls 
CONTROLFILE/ 
PARAMETERFILE/ 
control01.ctl 
control02.ctl 
ASMCMD> cd PARAMETERFILE/ 
ASMCMD> ls 
spfile.258.836345535 
 
 
5.指定新的spfile别名 
ASMCMD>mkalias +ORCL_FRA/ORCL/PARAMETERFILE/spfile.258.836345535   +ORCL_FRA/ORCL/spfileorcl.ora 
 
6.用srvctl修改新的rac数据库spfile 位置 
 
[oracle@yyzfrac2 dbs]$ srvctl  modify database -d orcl -p +orcl_fra/orcl/spfileorcl.ora 
 
 
7.删除原来的spfile  
 
[oracle@rac1 ~]$ sqlplus / as sysdba 
 
SQL>alter diskgroup orcldg drop file '+orcldg/orcl/spfileorcl.ora'; 
 
8.分别在两个节点中更新initorcl1.ora initorcl2.ora 
 
   内容为spfile='+orcl_fra/orcl/spfileorcl.ora' 
 
 
9.重新启动数据库 
 
[oracle@rac1 ~]$srvctl stop database -d orcl  
[oracle@rac1 ~]$srvctl start database -d orcl  
 
10.在两节点查看spfile位置 
SQL> set line 3000 
SQL> show parameter spfile  
 
NAME                                 TYPE        VALUE 
------------------------------------ ----------- ------------------------------ 
spfile                               string      +ORCL_FRA/orcl/spfileorcl.ora 

推荐阅读