oracle之参数文件探究(四)

2014-11-24 16:16:02 · 作者: · 浏览: 4
rk area TRUE DEFERRED
SYS@orcl#
SYS@orcl#alter system set sort_area_size=32768 deferred;
系统已更改。
SYS@orcl#show parameter sort_area_size
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
sort_area_size integer
65536
SYS@orcl#exit
从 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
oracle@oracle:~> sqlplus "/as sysdba"
SQL*Plus: Release 11.1.0.6.0 - Production on 星期六 6月 15 16:48:04 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@orcl#show parameter sort_area_size
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
sort_area_size integer
32768
SYS@orcl#
在告警日志中可以看到如许:Sat Jun 15 16:51:09 2013
ALTER SYSTEM SET sort_area_size=32768 DEFERRED SCOPE=BOTH;
总结:
当我们要修改一个参数的时候,可能会出现无法修改情况,这是我们一定要查看一下这个参数到底具有哪些限制,应该采用哪种命令。切不可随便修改,如果在RAC下修改参数的时候需要指定sid如果为*说明修改所有实例的该参数 ,另外当使一个参数文件恢复到默认状态可以使用reset ,alter system reset parameter_name scope=xxxx sid=xxx;。
刚刚在前面查看了一下show parameter processes 参数的跟踪文件,在其中我们看到了两个内部试图X$KSPPI和X$KSPPCV,在数据库中存在隐含参数。获取隐含参数命令如下:
select a.ksppinm,a.ksppdesc,b.ksppstvl from x$ksppi a,x$ksppcv b where a.indx=b.indx and a.ksppinm like '%&name%';
eg:
SYS@orcl#r
1 select a.ksppinm,b.ksppstvl from x$ksppi a,x$ksppcv b where a.indx=b.indx and a.ksppinm like '%&name%'
2*
输入 name 的值: allow_resetlogs
KSPPINM KSPPSTVL
------------------------------------------------------------ --------------------
_allow_resetlogs_corruption FALSE
SYS@orcl#
3)参数文件的创建以及数据库启动实例搜索参数文件顺序
在数据库建库的脚本中看一下:
oracle@oracle:~/admin/ORCL01/scripts> grep init.ora ./*
./CreateDB.sql:startup nomount pfile="/opt/oracle/admin/ORCL01/scripts/init.ora";
./postDBCreation.sql:create spfile='/opt/oracle/product/10.2/db_1/dbs/spfileORCL01.ora' FROM pfile='/opt/oracle/admin/ORCL01/scripts/init.ora';
也就是说刚刚数据库在创建的时候使用的是pfile从init.ora进行的,这个文件是二进制文件,然后在创建spfile的时候是从pfile开始的。
spfile是一个二进制文件,另外一个信息是我们可以从spfile和pfile中互相创建:
eg:
SYS@orcl#create pfile='/opt/oracle/pfile.ora' from spfile;
文件已创建。
SYS@orcl#create spfile='/opt/oracle/spfile.ora' from pfile='/opt/oracle/pfile.ora';
文件已创建。
SYS@orcl#
当然在数据库关闭的情况下同样可以进行创建:
SYS@orcl#
SYS@orcl#shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SYS@orcl#create spfile from pfile='/opt/oracle/pfile.ora';
文件已创建。
SYS@orcl#create pfile from spfile;
文件已创建。
SYS@orcl#
数据库实例之所以能够启动那么搜索参数文件的顺序为spfile@.ora,spfile.ora.init@.ora,@为数据库实例的名称
oracle@oracle:~> echo $ORACLE_SID
orcl
4)参数文件的备份与恢复,以及覆盖恢复。
备份参数文件可以使用rman,或是在操作系统层面进行copy。
eg:
oracle@oracle:~> rman target /
恢复管理器: Release 11.1.0.6.0 - Production on 星期六 6月 15 17:35:28 2013
Copyright (c) 1982