将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
关闭数据库:
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文件,那么会覆盖已经修改的文件,并且数据库启动时也会用这个参数文件进行启动。
for linux and python