新的局点ORACLE上线时参数文件注意的几个要点
ORACLE参数文件说明(11gr2为例)
这2个文件里保存的内容是一样的,但PFILE就是普通的文本文件,我们可以直接修改,SPFILE是二进制文件,不能直接进行修改,再SPFILE可以RAMN备份;
我们打开这个目录以$ORACLE_HOME/dbs目录下面为
spfileiptvbms.ora snapcf_orcl.f init.ora这三个文件
snapcf_orcl.f 这个文件是控制文件的快照文件
[oracle@wiihong dbs]$ ls
hc_dave.dat initdave.ora init.ora lkDAVE orapwdave spfiledave.ora
mv init.ora init.ora.bak
mv initdave.ora initdave.ora.bak
mv spfiledave.ora spfiledave.ora.bak
SQL> shutdown immediate
SQL> startup
网上的例子启动顺序:spfileiptvbms.ora -->iptvbms.ora -->init.ora测试结果不是这样的
11G中的init.ora文件路径是写得不对的,所以如果没有PFILE,以及把SPFILE丢失后,ORACLE也是无法启动的?
cat init.ora
=========cat init.ora================
[oracle@dave dbs]$ cat init.ora
# Change '' to point to the oracle base (the one you specify at
# install time)
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest=''
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'
=====================
关键路径就如下面所示,写错了,所以无法启动?
db_recovery_file_dest='/flash_recovery_area'
init.ora
模板
结论:
11g 使用spfile -》 pfile
init.ora 是模板文件
1.1 spfile 与 pfile 说明
1.2 spfile 和 pfile 转换
create pfile='/u01/oracle/app/aa.ora' from spfile ;
create spfile from pfile='/u01/oracle/app/aa.ora';
如果我们想创建到其他的位置,那么在转换的时候,指定路径就可以了。
create pfile='/u01/initdave.ora' from spfile;
create pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora' from spfile='/u01/app/oracle/product/11.2.0/db_1/dbs/bak/spfileorcl.ora';
请问怎么样区别到底是PFILE启动的,还是SPFILE启动的呢??
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /opt/oracle/app/oracle/product
/11.1/db/dbs/spfileiptvbms.ora
SQL> select distinct ISSPECIFIED FROM V$spparameter;
ISSPEC
------
TRUE
FALSE
说明二种文件都存在,目前是用SPFILE启动
数据库的。
总结:
如果只有FALSE,使用的是PFILE,
如果有TRUE,说明用的是SPFILE
alter system set param=value scope=spfile;可以通过这样去设置一个参数在SPFILE的数据库重启之后重新生效。
数据库先查找spfile,若没有再找init.ora
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPEC
------
FALSE
TRUE表示是以pfile来启动的,注意备份一个PFILE,在必要时可以转化为SPFILE启动数据,而且可以往里面增加内容字段。
三. 相关参数说明
======================================================
2.1 如何查看参数是否立即修改
SQL> select distinct ISSPECIFIED from v$spparameter;
ISSPEC
------
FALSE
TRUE
2.1 如何查看参数是否立即修改
ISSES_MODIFIABLE VARCHAR2(5)
SQL> select name,value,ISSYS_MODIFIABLE from v$parameter where name like 'sga%';
NAME
--------------------------------------------------------------------------------
VALUE ISSYS_MOD
-------------------- ---------
sga_max_size
562036736