Oracle参数文件
程序员文章站
2022-07-11 16:35:37
初始化参数文件有两种,文本初始化参数文件 pfile 和二进制初始化参数文件 spfile。 动态参数文件spfile 这是Oracle推荐的初始化参数文件类型。这是一个可以写入和读取的二进制文件,不能手动进行编辑。此文件在Oracle服务器上,不受数据库关闭和启动的影响。 此文件的默认名称为spf ......
初始化参数文件有两种,文本初始化参数文件 pfile 和二进制初始化参数文件 spfile。
动态参数文件spfile
这是oracle推荐的初始化参数文件类型。这是一个可以写入和读取的二进制文件,不能手动进行编辑。此文件在oracle服务器上,不受数据库关闭和启动的影响。
此文件的默认名称为spfile<sid>.ora,启动时会自动搜索此文件,例如sid为 orcl,则参数文件名为 spfileorcl.ora。
文件默认位置 $oracle_home/dbs
静态参数文件pfile:
这类初始化参数文件必须使用文本编辑器手动设置和更改初始化参数设置,这些设置是永久的,不受数据库关闭或启动的影响,更改参数后,必须重启数据库,在生成环境下不建议有重启数据库的操作,所以在实际生产应用中不建议使用此初始化参数文件。
此文件的默认名称为init<sid>.ora,如果启动时未找到spfile,则自动搜索此文件,如initorcl.ora。
注:在linux上,oracle db会在$oracle_home/dbs目录中搜索初始化文件。 采用asm时,spfile通常位于asm磁盘组中。
在这种情况下,$oracle_home/dbs目录中应当有一个init<sid>.ora文件,该文件标识了spfile的位置。
使用sql*plus查看参数
查看参数及其属性
sql>select name,value from v$parameter;
查看sga
sql>show parameter sga
查看pga
sql>show parameter pga
pfile 与spfile 能相互创建,互为备份:
sid = orcl
创建参数文件的几种方式
1、根据指定路径的方式,根据指定路径的参数文件 initorcl.ora 创建参数文件 spfileorcl.ora 到指定路径。
create spfile='$oracle_home/dbs/spfileorcl.ora' from pfile='$oracle_home/dbs/initorcl.ora';
2、根据默认pfile创建spfile到指定路径。
create spfile='$oracle_home/dbs/spfileorcl.ora' from pfile;
3、根据指定的pfile创建spfile到默认路径
create spfile from pfile='path/initorcl.ora';
4、根据默认pfile创建spfile到默认路径
create spfile from pfile;
修改spfile 参数的语句:
alter system set parameter_name = parameter_value [comment 'text'] [scope = memory|spfile|both] [sid= 'sid'|'*']
三种修改模式
scope=spfile
此更改仅在服务器参数文件中应用。不会对当前实例进行更改。
对于动态和静态参数,更改在下一次启动后生效,并且永久保持有效。对于静态参数来说,只允许指定该scope值spfile。
scope=memory
此更改仅应用到内存中。会对当前实例进行更改,且更改立即生效。对于动态参数,更改立即生效,但不会永久保持,因为服务器参数文件不会进行更新。对于静态参数,不允许指定该值。
scope=both
此更改会应用到服务器参数文件和内存中。会对当前实例进行更改,且更改立即生效。对于动态参数,更改永久保持有效,因为服务器参数文件会进行更新。对于静态参数,不允许指定该值。如果实例不是使用服务器参数文件启动的,则更改初始化参数值
例:因参数问题无法启动数据库,如果需要修改参数,则只能修改文本初始化参数文件
使用spfile参数生成pfile过程(生产库一定要用spfile参数启动)!!!
path 实际生成的路径。
启动到nomount状态;
startup nomount;
创建静态参数文件到指定路径;
create pfile='path/initsid.ora' from spfile;
关闭数据库;
shutdown immediate
指定参数文件启动数据库;
startup pfile='path/initsid.ora';
根据指定的pfile创建spfile;
create spfile from pfile='path/initsid.ora';
启动数据库;
startup
启动数据库后查看是否使用的是spfile参数启动
show parameter spfile;
如果有spfile路径,则是使用的spfile启动的数据库,生产环境中一定要使用spfile启动数据库。
更改初始化参数值
静态参数:只能在参数文件中更改,更改后必须重新启动实例才能生效,大约有110个参数。
动态参数:可以在数据库联机时更改,也可以在会话级别、系统级别、在会话持续期间有效,或有效性取决于scope设置,使用alter session和alter system命令进行更改,总共约234个参数。
更改方式
alter system 系统
alter session 当前会话
上一篇: 存储过程为参数NULL时的处理方法
下一篇: What identity values you get with the @@IDENTITY and SCOPE_IDENTITY functions
推荐阅读