Oracle中SPFILE文件特点及其具体操作
Oracle i引入了具有延续性的初始化参数文件SPFILE(Server Parameter FILE) 所谓延续性是指对初始化参数的在线修改可以直接作用到参数文件中 这样所有被修改的参数将永久生效
SPFILE有以下几个显著优点
ALTER SYSTEM 所设定的参数可以直接保存在SPFILE中 不像以前那样需要手工更改参数文件才可以使改动永久生效
RMAN支持对SPFILE的备份 在这之前是无法做到使用RMAN来备份初始化参数文件的
可以实现在本地没有远程数据库的INIT ORA拷贝的时候 远程启动数据库
在RAC的多个实例之间可以共享一个SPFILE
下面我们将详细讨论这几个新特性
SPFILE概述
SPFILE是一个很小的二进制文件 有ORACLE服务器自动维护 位于ORACLE服务器端($ORACLE_HOME/dbs/spfile ora) 因为ORACLE默认就是此SPFILE 所以我们可以通过SQL*PLUS或OEM无需指定初始化参数在客户端远程启动数据库
SPFILE的创建 导出与更新
SYSDBA/SYSOPER(我不知道别人是不是使用SYSOPER 反正我是从来不用这个)可以在数据库处于任何状态下(IDLE/NOMOUNT/MOUNT/OPEN) 通过下面的语句来创建一个SPFILE
CREATE SPFILE[= SPFILE_NAME ] FROM PFILE[= PFILE_NAME ];
而将这个语句反过来就可以通过SPFILE来建立PFILE ORACLE称之为SPFILE的导出
CREATE PFILE[= PFILE_NAME ] FROM SPFILE[= SPFILE_NAME ];
导出的文件格式如下
* background_dump_dest= /oracle/app/oracle/admin/ora /bdump patible= ntrol_files= /dev/rcon /dev/rcon /dev/rcon re_dump_dest= /oracle/app/oracle/admin/ora /cdump * db_block_size= * db_cache_size= #changed at * db_domain= * db_file_multiblock_read_count= * db_name= ora
导出SPFILE由两个主要的用途 批量修改参数 作为SPFILE的一种备份方式(如果数据库采用RMAN备份方式 我们可以直接用RMAN来备份SPFILE) 当批量修改(编辑PFILE)完成后 我们可以通过重新创建SPFILE来实现对SPFILE的更新
参数的修改
对于单个参数的修改 我们可以通过下面的语句来完成
ALTER SYSTEM SET PARAMETER=value [MENT= MENT TEXT ][SCOPE=MEMORY|SPFILE|BOTH]
通过SCOPE选项实现了对初始化参数更改的永久性
对于动态参数 可以加上DEFERRED关键字来标明更改仅对以后的SESSIONS起作用
SQL> alter system set sort_area_size= ment= temporary seting scope=spfile; System altered
启动时参数文件的读取顺序
数据库启动时STARTUP默认使用初始化参数文件的顺序是
[指定的PFILE >] SPFILE > $ORACLE_HOME/dbs/PFILE
当然在PFILE中也可以指向SPFILE
读取SPFILE参数设置
我们可以从v$spparameter v$parameter v$parameter 中获得相关参数的信息 也依旧可以使用SHOW SGA
SQL> select name value update_ment from v$spparameter where name= sort_area_size ; NAME VALUE UPDATE_MENT sort_area_size temporary seting
共享初始化参数文件
在 i RAC中 多个实例可以共享同一个初始化参数文件 而各实例所特有的参数值可以通过在参数前加上实例名称来标示
hawk :sort_area_size= hawk :sort_area_size=
lishixinzhi/Article/program/Oracle/201311/18785
2024-07-24 广告