oralce如何更改spfile路径
oracle以spfile启动SQL*Plus: Release 11.1.0.6.0 - Production on Mon Jan 11 20:57:22 2010
Copyright (c) 1982, 2007, Oracle.All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameters spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /home/oracle/product/11g/dbs/spfilesmsgdb.ora
SQL>create pfile='/home/oracle/test.ora' from spfile='//home/oracle/product/11g/dbs/spfilesmsgdb.ora';
File created.
SQL> create spfile='/dev/mapper/smsgvg-lv_spfile' from pfile='/home/oracle/test.ora';
File created.
现在我要把数据库以spfile启动的spfile指向更改到 /dev/mapper/smsgvg-lv_spfile 上,该怎么做啊? 用sql语句可查:
select * from v$parameters where name='spfile'
里面有spfile的路径
但是没找到view v$parameters 的基表,似乎更改这个基表的内容就可以达到效果 最简单的办法:
编辑$ORACLE_HOME/dbs/init<sid>.ora
里面只写一行:SPFILE='/dev/mapper/smsgvg-lv_spfile'
回复 #3 山野村夫 的帖子
嗯,这是一个不错的办法SQL>shutdown immediate
$ mv $ORACLE_HOME/dbs/spfile<sid>.ora $ORACLE_HOME/dbs/spfile<sid>.ora.bak
$ echo 'spfile=/dev/raw/raw7'>$ORACLE_HOME/dbs/initsmsgdb.ora
##我的smsg-lv_spfile与/dev/raw/raw7 做了绑定的
SQL>startup
ORACLE instance started.
Total System Global Area422670336 bytes
Fixed Size 1300352 bytes
Variable Size 251660416 bytes
Database Buffers 163577856 bytes
Redo Buffers 6131712 bytes
Database mounted.
Database opened.
SQL> show parameters spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /dev/raw/raw7
还有一种就是建一个软连接
$ ln -s /dev/raw/raw7 $ORACLE_HOME/dbs/spfile<sid>.ora
$ ls -l
lrwxrwxrwx1 oracle oinstall 13 Jan 11 22:04 spfilesmsgdb.ora -> /dev/raw/raw7
SQL>startup
.....
.....
SQL> show parameters spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /home/oracle/product/11g/dbs/spfilesmsgdb.ora
从表面上看SPFILE还是在本地,但实际上是由裸设备接替了
不知还有其他方法没有?实现SPFILE的重定向,比较直接一点的 SQL>shutdown immediate
$ mv $ORACLE_HOME/dbs/spfile<sid>.ora $ORACLE_HOME/dbs/spfile<sid>.ora.bak
$ echo 'spfile=/dev/raw/raw7'>$ORACLE_HOME/dbs/initsmsgdb.ora
##我的smsg-lv_spfile与/dev/raw/raw7 做了绑定的
改完了不? startupspfile='/xx/xx/xxxxx'
回复 #4 my_sir 的帖子
从原理上讲,还是我那个方法比较合适oracle启动就是从dbs目录下寻找init.ora或者spfile.ora 感谢大家,学习了。 学习了 回复 7# 山野村夫
那windows的要在哪儿改呢?
页:
[1]