oracle parameter file,oracle参数文件pfile,spfile

1、每一个数据库中,都有一个操作系统文件,叫初始化参数文件,在10g版本中位于“C:oracleproduct10.1.0db_1database”目录下,它决定了数据库的物理结构、内存、数据库的极限值及大量的默认值。是进行数据库设计和优化的重要文件。

2、可以分为文本参数文件(pfile text parameter file)和服务器参数文本文件(spfile server parameter file)两种。9i以后才有此spfile。

3、Oracle在起动时,必须要一个参数文件。在使用startup时,它先找spfile,如果没有,再找pfile。数据库启动时spfile和pfile的加载顺序

初始化参数是在数据库实例启动时(startup nomount)加载。

如果startup命令中未指定pfile参数,在windows系统中数据库启动时会按如下顺序查找启动参数文件:

%ORACLE_HOME%databaseSPFILE.ora

%ORACLE_HOME%databaseSPFILE.ora

%ORACLE_HOME%databaseinit.ora

在unix或linux系统中数据库启动时会按如下顺序查找启动参数文件:

%ORACLE_HOME%dbsSPFILE.ora

%ORACLE_HOME%dbsSPFILE.ora

%ORACLE_HOME%dbsinit.ora[@more@]也就是说先找spfile.ora文件,如果spfile.ora没有则找spfile.ora文件,最后才会去找 init.ora的pfile文件.

如果要使用pfile,则必须使用pfile子句:startup force pfile=’d: PFILEORCL.ORA’。

4、参数文件的导出:原因有三

。服务器参数文件的备份

。列出例程当前使用的所有参数,以便查找原因。

。通过先导出spfile,再编辑pfile,再创建spfile,达到修改服务器参数的目的。

5、导出spfile文件的操作方法:

。创建pfile

SQL> create pfile from spfile;

在参数文件目录下,会产生一个INITorcl.ORA文件,该文件可以用记事本打开编辑,千万记住spfile不能这样做。也可以指定路径和文件名:

SQL> create pfile='d:backup.ora' from spfile

。导出spfile

SQL> create pfile='c:test.ora' from spfile='c:oracleproduct10.1.0db_1databaseSPFILEORCL.ORA';

6、创建spfile,

SQL> create spfile from pfile='c:test.ora';

会在默认位置产生按默认规则命名的spfile文件。

该语句应该在使用startup pfile启动的数据库环境下或在startup命令完成以前,否则会出现下面的提示错误:

7、更改参数文件

修改

alter system set parameter_name = parameter_value [, parameter_value ]...

[ COMMENT 'text' ]

[ DEFERRED ]

[ SCOPE = { MEMORY | SPFILE | BOTH } ]

[ SID = { 'sid' | * } ]

删除

alter system reset parameter_name

[ SCOPE = { MEMORY | SPFILE | BOTH } ]

[ SID = 'sid' ]

也可以使用 ALTER SYSTEM SET PARAMETER=''达到相同的效果;

使用alrer system语句来设置、更改或删除(还原到默认值)初始化参数的值。注意,对于使用pfile参数文件启动的例程的修改只在当前例程中有效,要想将修改应用在未来的例程中,必须手动更新pfile文本参数文件,而spfile则不需要,所以尽量使用spfile启动。

另外,还要用scope子句来指明范围,通常有三种:

Scope=spfile只更改服务器参数文件,适用于动态和静态参数,并且在下一次启动时才生效

Scope=memory只更改内存中的参数,对于动态参数,立即生效,但由于没有更改spfile所以更改不能永久保留。不允许更改静态参数

Scope=both既更改服务器参数文件的参数,也更改内存中的参数。结果是对于动态参数立即生效并永久保留。不允许更改静态参数。

SQL> alter system set open_cursors=30 scope=both;

如果没有使用spfile参数文件,那么在指定scope=spfile或scope=both时会出错。

如果使用spfile参数文件启到例程,默认设置scope=spfile;如果使用pfile,默认设置scope=memory。

对于动态参数,可以指定deferred关键值,这样更改只影响将来的会话。

8、查看初始化参数

。show parameters 查看当前使用的参数值。

SQL> show parameters open_cursors;

NAME TYPE VALUE

------------------------------------ ----------- ------

open_cursors integer 30

也可以导出所有的参数

SQL> show parameters > c:t.txt

。show parameter spfile 查看当前的spfile文件,

SQL> show parameter spfile

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

spfile string C:ORACLEPRODUCT10.1.0DB_1

DATABASESPFILEORCL.ORA

如果没有使用该文件启动例程,则返回值为空。

SQL> show parameter spfile

NAME TYPE VALUE

------------------------------------ ----------- -------------

spfile string

。v$parameter 该视图显示当前使用的参数值

SQL> select name,value from v$parameter where name='open_cursors';

NAME

-----------------------------------------------------------------------

VALUE

-----------------------------------------------------------------------

open_cursors

300

。v$spparameter 该视图显示spfile参数文件中的当前内容,如果没有使用Spfile,则返回为空。

SQL> select name,value from v$spparameter where name='open_cursors';

NAME

---------------------------------------------------------------------

VALUE

---------------------------------------------------------------------

open_cursors

300

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值