发表于: 2008.07.07 23:31
分类: ORACLE
出处: http://yangtingkun.itpub.net/post/468/465985
---------------------------------------------------------------
RAC的多个实例可以分别用不同的SPFILE进行启动。
RAC环境中的初始化文件:http://yangtingkun.itpub.net/post/468/293782
首先需要说明的是,不推荐这种做法,因为这种方法需要手工同步多个不同的SPFILE,使得SPFILE的优势丧失。
写这篇文章的主要目的是回到一个网友的问题:http://www.itpub.net/thread-1015167-1-1.html
不过不同实例指定不同的SPFILE也不是一点意义都没有,比如两个实例的工作性能不同,不希望对一个实例的参数修改影响另一个实例,那么可以考虑使用这种方法。
一个简单的例子:
SQL> conn system@testrac1输入口令: ****已连接。
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
testrac1
SQL> select name from v$database;
NAME
---------
TESTRAC
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DISK/testrac/spfiletestrac.ora
SQL> conn system@testrac2输入口令: ****已连接。
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
testrac2
SQL> select name from v$database;
NAME
---------
TESTRAC
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DISK/testrac/spfiletestrac.ora
这时默认情况,下面在其他位置构造一个SPFILE
bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 5月 2 19:09:28 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> create pfile='/export/home/oracle/inittestrac2.ora' from spfile;
文件已创建。
SQL> create spfile='/export/home/oracle/spfiletestrac2.ora' from pfile='/export/home/oracle/inittestrac2.ora';
文件已创建。
SQL> shutdown immediate数据库已经关闭。已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host
$ vi inittemp.ora
"inittemp.ora" [New file]
spfile=/export/home/oracle/spfiletestrac2.ora
"inittemp.ora" [New file] 1 line, 46 characters
$ exit
SQL> startup pfile=/export/home/oracle/inittemp.ora
ORACLE 例程已经启动。
Total System Global Area 2147483648 bytes
Fixed Size 2031480 bytes
Variable Size 536871048 bytes
Database Buffers 1593835520 bytes
Redo Buffers 14745600 bytes数据库装载完毕。数据库已经打开。
现在再来检查一下两个实例的SPFILE:
SQL> CONN SYSTEM@TESTRAC1输入口令: ****已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac1
SQL> SELECT NAME FROM V$DATABASE;
NAME
---------
TESTRAC
SQL> SHOW PARAMETER SPFILE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DISK/testrac/spfiletestrac.ora
SQL> CONN SYSTEM@TESTRAC2输入口令: ****已连接。
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
----------------
testrac2
SQL> SELECT NAME FROM V$DATABASE;
NAME
---------
TESTRAC
SQL> SHOW PARAMETER SPFILE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /export/home/oracle/spfiletestrac2.ora











