当前位置:数据库 > Oracle >>

新的局点ORACLE上线时参数文件注意的几个要点

新的局点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 '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
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='<ORACLE_BASE>/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<sid>.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            FALSE
sga_target
557842432            IMMEDIATE
 
SQL> set linesize 100
SQL> col value for a20
SQL> select name,value ,ISSYS_MODIFIABLE from v$parameter where name like 'sga%';
SQL>  select name,value,issys_modifiable from v$parameter where name like 'pga%';
SQL>  select name,value,issys_modifiable from v$parameter where name like 'pga%';
NAME                                                                             VALUE                ISSYS_MOD
-------------------------------------------------------------------------------- -------------------- ---------
pga_aggregate_target                                                             184549376            IMMEDIATE
SQL> select name,value,issys_modifiable from v$parameter where name like 'memory%';
SQL> select name,value,issys_modifiable from v$parameter where name like 'memory%';
NAME                                                                             VALUE                ISSYS_MOD
-------------------------------------------------------------------------------- -------------------- ---------
memory_target                                                                    0                    IMMEDIATE
memory_max_target                                                                0                    FALSE
DEFERRED   ----->也是动态参数,对于当前session
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,