数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle 9i新特性研究系列之四 -- 延续性初始化参数文件


发布日期:2023年01月03日
 
Oracle 9i新特性研究系列之四 -- 延续性初始化参数文件

Oraclei引入了具有延续性的初始化参数文件SPFILE(Server Parameter FILE)所谓延续性是指对初始化参数的在线修改可以直接作用到参数文件中这样所有被修改的参数将永久生效

SPFILE有以下几个显着优点

ALTER SYSTEM所设定的参数可以直接保存在SPFILE中不像以前那样需要手工更改参数文件才可以使改动永久生效

RMAN支持对SPFILE的备份在这之前是无法做到使用RMAN来备份初始化参数文件的

可以实现在本地没有远程数据库的INITORA拷贝的时候远程启动数据库

在RAC的多个实例之间可以共享一个SPFILE

下面我们将详细讨论这几个新特性

SPFILE概述

SPFILE是一个很小的二进制文件有ORACLE服务器自动维护位于ORACLE服务器端($ORACLE_HOME/dbs/spfileora)因为ORACLE默认就是此SPFILE所以我们可以通过SQL*PLUS或OEM无需指定初始化参数在客户端远程启动数据库i可以吗?)

SPFILE的创建导出与更新

SYSDBA/SYSOPER(我不知道别人是不是使用SYSOPER反正我是从来不用这个^_^)可以在数据库处于任何状态下(IDLE/NOMOUNT/MOUNT/OPEN)通过下面的语句来创建一个SPFILE

CREATE SPFILE[=SPFILE_NAME] FROM PFILE[=PFILE_NAME];

而将这个语句反过来就可以通过SPFILE来建立PFILEORACLE称之为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 [COMMENT=COMMENT TEXT][SCOPE=MEMORY|SPFILE|BOTH]

通过SCOPE选项实现了对初始化参数更改的永久性

对于动态参数可以加上DEFERRED关键字来标明更改仅对以后的SESSIONS起作用

SQL> alter system set sort_area_size=

comment=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 namevalueupdate_comment from v$spparameter

where name=sort_area_size;

NAME VALUE UPDATE_COMMENT

sort_area_size temporary seting

共享初始化参数文件

i RAC中多个实例可以共享同一个初始化参数文件而各实例所特有的参数值可以通过在参数前加上实例名称来标示

hawk:sort_area_size=

hawk:sort_area_size=

关于SPFILE差不多就这些内容了请继续关注gototop为了你带来的其他Oracle i的文章也欢迎各位网友来信与我讨论和Oracle相关的一些问题

               

上一篇:如何自动获取Oracle数据库启动时在Shared pool里面的对象

下一篇:OracleSpatial数据加密问题的研究