将spfile存储在ASM中

数据库的spfile开始是存储在普通的文件系统中,如下所示:

SQL> show parameter spfile

NAME				     TYPE	VALUE
------------------------------------ ---------- ------------------------------
spfile				     string	/home/oracle/product/10.2.0/db
						_1/dbs/spfileorcl.ora

根据spfile参数文件创建pfile参数文件:

SQL> create pfile from spfile;

File created.

再根据pfile创建spfile,并将spfile存储在ASM中:

SQL> create spfile='+ASM' from pfile;

File created.

查看ASM中的spfile文件:

[oracle@kel dbs]$ asmcmd
ASMCMD> cd +ASM/orcl  
ASMCMD> ls
ARCHIVELOG/
AUTOBACKUP/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
ASMCMD> cd parameterfile
ASMCMD> pwd
+ASM/orcl/parameterfile
ASMCMD> ls
spfile.288.849740011


可以看到已经创建了spfile参数文件,并且存储在了ASM中。

关闭数据库:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

修改pfile参数文件:

[oracle@kel dbs]$ vim initorcl.ora.bak 
 内容为:spfile='+ASM/orcl/parameterfile/spfile.288.849740011'

删除存在的spfile参数文件,便于保存,可以进行做一个备份,仅修改名称即可:

[oracle@kel dbs]$ mv spfileorcl.ora spfileorcl.ora.bak

重新启动数据库:

SQL> startup
ORACLE instance started.

Total System Global Area  176160768 bytes
Fixed Size		    2019384 bytes
Variable Size		  100667336 bytes
Database Buffers	   71303168 bytes
Redo Buffers		    2170880 bytes
Database mounted.
Database opened.

检查spfile文件:

SQL> show parameter spfile;

NAME				     TYPE	VALUE
------------------------------------ ---------- ------------------------------
spfile				     string	+ASM/orcl/parameterfile/spfile
						.288.849740011

从而可以看到spfile文件已经存储在ASM中。

如果不指定位置,重新创建pfile文件,那么会覆盖已经修改的文件,并且数据库启动时也会用这个参数文件进行启动。


posted @ 2014-06-09 14:17  KEL  阅读(756)  评论(0编辑  收藏  举报