为RAC不同的实例指定不同的SPFILE
上一篇 / 下一篇 2008-07-07 23:31:20 / 个人分类:Bug
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
.@ Sz9h#K0输入口令: ****ITPUB个人空间#jh~)[)d4| }
已连接。ITPUB个人空间Rp5BB6Mhg
SQL> select instance_name from v$instance;
INSTANCE_NAME
9[4gJWfu7t0----------------
*dv-a!OU#u:Qd
]0testrac1
SQL> select name from v$database;
NAMEITPUB个人空间8DZ;x+T;Q^&y%Y`
---------ITPUB个人空间?n3Od-\ty:jC Dk
TESTRAC
SQL> show parameter spfile
NAME TYPE VALUE
t4E a{l/he0------------------------------------ ----------- ------------------------------ITPUB个人空间;P;s9k,d#^"J9CRU7U
spfile string +DISK/testrac/spfiletestrac.ora
*kT.?(btf0SQL> conn system@testrac2
8trL^n{:G0输入口令: ****ITPUB个人空间6s)m0Pp5foWBK/]$s4D
已连接。
tR8kaY^B0SQL> select instance_name from v$instance;
INSTANCE_NAMEITPUB个人空间%i)Y(x-t2TX;PUw#X/H
F
----------------
C_BT#[E
H%K0testrac2
SQL> select name from v$database;
NAME
lm
LRQG]7B#I0---------
w&`3fr K`Sz1Y6G/P0TESTRAC
SQL> show parameter spfile
NAME TYPE VALUE
o^ T Tn
a0------------------------------------ ----------- ------------------------------
@F&v|SR!u"X0spfile string +DISK/testrac/spfiletestrac.ora
这时默认情况,下面在其他位置构造一个SPFILE
bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ITPUB个人空间0V%ceu3_;O
连接到:
0^3Qv1~Ib0Oracle Database
#eo DH+R1W_pv i0With 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
U9a!G_2f@y0数据库已经关闭。
)v
Bei{\ ]0已经卸载数据库。ITPUB个人空间4q-d5|ME E9M#BT/u3~
ORACLE例程已经关闭。ITPUB个人空间 V%e2]PJM
SQL> hostITPUB个人空间3C? E$f:J
$ vi inittemp.oraITPUB个人空间g6qD1z;x)WB3T8f9R
"inittemp.ora" [New file]
r
R&d*_0d
l@^@,r|0spfile=/export/home/oracle/spfiletestrac2.oraITPUB个人空间o}5C6K JD6swm5Q~
"inittemp.ora" [New file] 1 line, 46 characters
jEote%jP5U c6_0$ exit
SQL> startup pfile=/export/home/oracle/inittemp.ora
$x
M5|5`.|O n0}5RTP3W0ORACLE例程已经启动。
Total System Global Area 2147483648 bytes
\L,D`W0Fixed Size 2031480 bytes
z#P0P:MR`jc0Variable Size 536871048 bytes
^Xh{$Tn&]Qw0Database Buffers 1593835520 bytesITPUB个人空间/N!k'xYX;|+uq]+te
Redo Buffers 14745600 bytes
x._]Lg0数据库装载完毕。
q
N9O1jx[;@_h+T/U0数据库已经打开。
现在再来检查一下两个实例的SPFILE:
SQL> CONN SYSTEM@TESTRAC1ITPUB个人空间;^w+t+R
u#_O?P k
输入口令: ****
Io~hP7zL0已连接。
I.o0n1h$s0SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAMEITPUB个人空间;R2d$\8i7eME
----------------
(fy BWbmG0testrac1
SQL> SELECT NAME FROM V$DATABASE;
NAMEITPUB个人空间xPf [f/o
---------
-r5na^cb)T3_0TESTRAC
SQL> SHOW PARAMETER SPFILE
NAME TYPE VALUEITPUB个人空间
p}v
n@4ppq
------------------------------------ ----------- ------------------------------
N$F,@)v9y"Dl0spfile string +DISK/testrac/spfiletestrac.oraITPUB个人空间7I5D @"z}
t
M
SQL> CONN SYSTEM@TESTRAC2
5T{
gC;w2I9r0输入口令: ****
5sp5d
ei?&u
Y#Q0已连接。ITPUB个人空间3G5[ q,eDCC0i
SQL> SELECT INSTANCE_NAME FROM V$INSTANCE;
INSTANCE_NAME
+I'H WY%F[4i0----------------
%b{+gY#IN w-h0testrac2
SQL> SELECT NAME FROM V$DATABASE;
NAME
D9oL7OIa)g\0---------
[U.qQg!p}5K0TESTRAC
SQL> SHOW PARAMETER SPFILE
NAME TYPE VALUEITPUB个人空间'C*Sa$wx
------------------------------------ ----------- ------------------------------ITPUB个人空间,[]u:T^
spfile string /export/home/oracle/spfiletestrac2.ora
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG: