oracle创建参数文件,Oracle PFILE/SPFILE 初始化参数文件

01fac6460a22031b8af8da5848698a70.png

Oracle PFILE/SPFILE 初始化参数文件

初始化参数文件

要启动一个例程,Oracle 服务器必须读取初始化参数文件。

6b5d69abb63788af92b644250908a58d.png

初始化参数文件

文件中的条目专用于要启动的例程

有两种类型的参数:

–显式:文件中有一个条目

–隐式:文件中没有条目,但假定取 Oracle缺省值

可存在多个初始化参数文件

对文件中条目的更改的生效时间,取决于使用的初始化参数文件类型

–静态参数文件 PFILE

–永久参数文件 SPFILE

Oracle 服务器在启动例程时读取初始化参数文件。共有两种类型的初始化参数文件:

静态参数文件 PFILE,一般名为 initSID.ora。

永久参数文件 SPFILE,一般名为 spfileSID.ora。

初始化参数文件内容:

例程参数列表

与该例程相关联的数据库的名称

系统全局区 (SGA) 的内存结构的分配

如何处理已满的联机重做日志文件

控制文件的名称和位置

有关撤消段的信息

为在各种不同情况下优化性能,一个例程可有多个初始化参数文件。

初始化参数文件

使用 Oracle Enterprise Manager查看初始化参数

从“OEM 控制台”(OEM Console):

导航到“数据库”(Databases) >“例程”(Instance) >“配置” (Configuration)。

2.从“常规”(General) 页选择“全部初始化参数”( All Initialization Parameters)。

PFILEinitSID.ora

文本文件

使用操作系统编辑器进行修改

手动进行修改

所作更改在下次启动时生效

仅在例程启动过程中打开

缺省位置为 $ORACLE_HOME/dbs

PFILE

PFILE 是可使用标准的操作系统编辑器进行维护的文本文件。PFILE 在例程启动过程

中是只读的。如果文件发生修改,则必须关闭然后重新启动例程以使新的参数值生效。

缺省情况下,该文件位于 $ORACLE_HOME/dbs 目录中,文件名是 initSID.ora。

创建 PFILE

cp init.ora$ORACLE_HOME/dbs/initdba01.ora

使用样本 init.ora 文件创

样本文件由 Oracle Universal Installer 安装

使用操作系统复制命令复制样本

由数据库 SID 唯一标识

修改 initSID.ora

编辑参数

针对数据库要求

样本 init.ora 文件由 Universal Installer 在安装过程中创建。该样本 init.ora 文件可用于创建特定于某一例程的 initSID.ora。可使用文本编辑器修改 initSID.ora 文件中的参数。

PFILE 示例

# Initialization Parameter File: initdba01.ora

db_name = dba01

instance_name = dba01

control_files = ( home/dba01/ORADATA/u01/control01dba01.ctl,

home/dba01/ORADATA/u02/control01dba02.ctl)

db_block_size = 4096

db_cache_size = 4M

shared_pool_size = 50000000

java_pool_size = 50000000

max_dump_file_size = 10240

background_dump_dest = /home/dba01/ADMIN/BDUMP

user_dump_dest = /home/dba01/ADMIN/UDUMP

core_dump_dest = /home/dba01/ADMIN/CDUMP

undo_management = AUTO

undo_tablespace = UNDOTBS

. . .

以这样的格式指定值:keyword=value(关键字 = 值)。

服务器为每个参数都设置了缺省值。根据参数的不同,缺省值可能与操作系统相关。

可以按任意顺序指定参数,但也存在例外。

注释行以 # 符号开头。

参数中如果包括字符文字,可将参数用双引号括起。

可以使用关键字 IFILE 使参数中包括其它文件。

如果使用的操作系统区分大小写,那么文件名也区分大小写。

如果有多个值,应该用圆括号将它们括起来,用逗号隔开。

注:请为参数的列出顺序指定一个标准:按字母顺序列出或按功能进行分组。PFILE 根据例程的不同而变化,不一定与上例相同。

PFILE 与SPFILE的差异

c372a91140f0b8f91f2a3dcc193de7cd.png

SPFILEspfileSID.ora

SPFILE

SPFILE 是 Oracle9i中新增的二进制文件。该文件不能手动修改,且必须始终驻留在服务器端。创建该文件后,即由 Oracle 服务器进行维护。如果进行手动修改,SPFILE 将无效。SPFILE 具有对数据库进行永久更改的功能,不受关闭和启动操作的影响,它还提供自动调节记录在文件中的参数值的功能。使用 SPFILE,RMAN 可以支持初始化参数文件的备份,因为 SPFILE 驻留在服务器端。缺省情况下,它位于 $ORACLE_HOME/dbs 目录中,缺省名称为 spfileSID.ora。

二进制文件

由 Oracle服务器进行维护

始终驻留在服务器端

所做更改永久有效,不受关闭和启动的影响

可以自行调节参数值

使恢复管理器能够备份初始化参数文件

创建 SPFILE

SPFILE 是使用 CREATE SPFILE 命令从 PFILE 文件创建的。该命令需要具有 SYSDBA 权限才能执行。该命令可在例程启动之前或之后执行。

SQL> CREATE SPFILE [=’SPFILE-NAME’]

2 FROM PFILE[=’PFILE-NAME’]

其中:

SPFILE-NAME:要创建的 SPFILE 的名称

PFILE-NAME:用于创建 SPFILE 的 PFILE 的名称。PFILE 必须在服务器端可用

如果在语法中未包括 SPFILE-NAME 和 PFILE-NAME,Oracle 将使用缺省 PFILE 来生成 SPFILE(其名称由系统生成)。

SQL> CREATE SPFILE FROM PFILE;

从 PFILE 文件创建

CREATE SPFILE =‘$ORACLE_HOME/dbs/spfileDBA01.ora’FROM PFILE =‘$ORACLE_HOME/dbs/initDBA01.ora’;

其中

SPFILE-NAME:要创建的 SPFILE

PFILE-NAME:用于创建 SPFILE 的 PFILE

可在例程启动之前或之后执行

导出 SPFILE:

可将 SPFILE 的内容导出到 PFILE 中。

SQL> CREATE PFILE FROM SPFILE;

以上命令在服务器端创建了一个文本文件格式的 PFILE 。该命令可在例程启动之前或

之后执行。这样就提供了一种查看 SPFILE 并进行修改的简单方法:

将 SPFILE 导出到 PFILE

编辑 PFILE

从编辑过的 PFILE 重新创建 SPFILE

将 SPFILE 导出到 PFILE 还可用作创建永久参数文件的备份的备用方法。

注:使用 Oracle9i,RMAN 还可备份永久参数文件。

V$SPPARAMETER

如上所述,查看 SPFILE 内的参数设置时有几个选项。V$SPPARAMETER 是显示和查看 SPFILE 的内容的另一种方法。

创建 SPFILE

使用 Oracle Enterprise Manager创建 SPFILE

从 OEM 控制台:

从主菜单选择“对象”(Object) >“创建 spfile”(Create spfile)。

使用 Oracle Enterprise Manager导出 SPFILE

从 OEM 控制台:

1.从主菜单选择“对象”(Object)>“创建 pfile”(Create pfile)。

SPFILE 示例

*.background_dump_dest=‘/home/dba01/ADMIN/BDUMP’

*.compatible='9.0.0'

*.control_files='/home/dba01/ORADATA/u01/ctrl01.ctl’ *.core_dump_dest=‘/home/dba01/ADMIN/CDUMP’

*.db_block_size=4096

*.db_name='dba01‘

*.db_domain=‘world’

*.global_names=TRUE

*.instance_name='dba01'

*.remote_login_passwordfile='exclusive‘

*.java_pool_size=50000000’

*.shared_pool_size=50000000

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS'

. . .

SPFILE 示例

PFILE 中的参数设置行上指定的注释保留在 SPFILE 中。所有其它注释都被忽略。

尽管 SPFILE 中的文本在 UNIX 中易于查看,但 SPFILE 是一个二进制文件,对

SPFILE 进行手动修改将使之无效。如果需要查看 SPFILE 的特定内容或进行一些

更改,可将 SPFILE 导出到 PFILE。

STARTUP 命令行为

优先顺序:

使用命令 STARTUP 时,服务器端的 spfileSID.ora 用于启动例程。

如果找不到 spfileSID.ora,则使用服务器端的缺省 SPFILE 来启动例程。

如果找不到缺省 SPFILE,将使用服务器端的 initSID.ora 来启动例程。

指定的 PFILE 可覆盖缺省 SPFILE 来启动例程。

可在 PFILE 中包含一个定义以指示要使用 SPFILE。这是在非缺省位置使用 SPFILE

启动例程的唯一方法。要使用非缺省位置的 SPFILE 启动数据库,必须在 PFILE 中指

定 SPFILE=。

示例:SPFILE=$HOME/ADMIN/PFILE/$ORACLE_SID.ora。

优先顺序

spfileSID.ora

缺省 SPFILE

initSID.ora

缺省 PFILE

指定的 PFILE 可覆盖优先顺序

STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora

PFILE 可指示要使用 SPFILE

SPFILE = /database/startup/spfileDBA1.ora

修改 SPFILE 中的参数

ALTER SYSTEM SET 命令用于更改例程参数的值。

ALTER SYSTEM SET parameter_name = parameter_value

[COMMENT ‘text’] [SCOPE = MEMORY|SPFILE|BOTH]

[SID= ‘sid’|’*’]

其中

parameter_name:要更改的参数的名称

parameter_value:要将参数更改为的值

COMMENT:添加在 SPFILE 中被更改的参数旁的注释

SCOPE:确定应在内存中、在 SPFILE 中还是同时在这两个位置进行更改

MEMORY:只能在当前运行的例程中更改参数值

SPFILE:只能在 SPFILE 中更改参数值

BOTH:在当前运行的例程和 SPFILE 中均可更改参数值

SID:标识要使用的 SPFILE 的 ORACLE_SID

‘sid’:更改 SPFILE 时使用的特定 SID

‘*’:使用缺省 SPFILE

使用 ALTER SYSTEM 更改参数值

ALTER SYSTEM SETundo_tablespace=‘UNDO2’;

指定所做更改是临时的还是永久的

ALTER SYSTEM SETundo_tablespace= ‘UNDO2’SCOPE=BOTH;

删除或重置值

ALTER SYSTEM RESETundo_suppress_errorsSCOPE=BOTH SID=’*’;

示例:

SQL>  SHOW PARAMETERS undo_suppress_errors

NAME                   TYPE        VALUE

———————- ———– ——-

undo_suppress_errors   boolean     FALSE

SQL> ALTER SYSTEM SET undo_suppress_errors = TRUE

2  COMMENT = ‘temporary testing’ SCOPE=BOTH

3  SID=‘DBA01’;

SQL> SHOW PARAMETERS undo_suppress_errors

NAME                   TYPE        VALUE

———————- ———– ——-

undo_suppress_errors   boolean     TRUE

ALTER SYSTEM RESET 命令用于删除或还原为缺省值。

SQL> ALTER SYSTEM RESET parameter_name [SCOPE = MEMORY|SPFILE|BOTH] [SID= ‘sid’|’*’]

示例:

SQL> ALTER SYSTEM RESET undo_suppress_errors

2  SCOPE=BOTH SID=‘dba01’;

从 SPFILE 中删除一个参数有以下几种方法:

将参数重设为缺省值来模拟使用 ALTER SYSTEM SET 的删除操作。

使用 CREATE SPFILE FROM PFILE 重新创建 SPFILE。

使用 ALTER SYSTEM RESET 从 SPFILE 删除参数。

修改 SPFILE 中的参数(续)

使用 Oracle Enterprise Manager修改 SPFILE 配置

从 OEM 控制台:

1.导航到“数据库”(Databases) >“例程”(Instance)。

2.单击“配置”(Configuration)。

在“常规”(General) 页上,单击“全部初始化参数”( All Initialization Parameters)。

在参数值栏中修改参数 。

单击“确定”(OK)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值