理论教育 Oracle数据库管理:设置初始化参数

Oracle数据库管理:设置初始化参数

时间:2023-10-30 理论教育 版权反馈
【摘要】:静态参数和动态参数根据在实例运行期间是否能够修改当前实例的初始化参数值这一标准,可以将Oracle的初始化参数分为静态参数和动态参数两类。表5.2初始化参数修改方法Oracle数据库的初始化参数非常多,而pfile或spfile中设置的参数往往非常有限,对于未设置的初始化参数,Oracle数据库将使用其默认值。在Oracle数据库下次启动时,未设置的初始化参数将使用它们的默认值。

Oracle数据库管理:设置初始化参数

(1)静态参数和动态参数

根据在实例运行期间是否能够修改当前实例的初始化参数值这一标准,可以将Oracle的初始化参数分为静态参数和动态参数两类。

①静态参数。静态参数的值在实例运行期间无法修改。静态参数又可分为两小类:一类为只读参数,这类参数在数据库创建之后,其值就不能再修改,如DB_NAME(数据库名)、DB_BLOCK_SIZE(数据块大小)等参数;另一类是虽然无法修改当前实例的参数值,但可以修改初始化参数文件中的值,这些修改在实例重新启动后生效,如CONTROL_FILES(控制文件参数)、LOG_ARCHIVE_FORMAT(归档日志文件命名格式参数)等均属于这一类参数。对于后一类静态参数,如果实例用pfile启动,则只能用文本编辑器修改其中的参数值;如果实例使用spfile启动,则只能用ALTER SYSTEM语句的SET子句设置。

②动态参数。动态参数在实例运行期间可以修改其值。动态参数又分为两类:一类是会话级动态参数,如NLS_DATE_FORMAT(指出默认的日期格式)等,对它们的修改需要调用ALTER SESSION语句;另一类是系统级动态参数,它们影响数据库和所有会话,这类参数的值只能调用ALTER SYSTEM语句修改,如SGA_TARGET(分配给SGA组件的内存总量)、OPEN_CURSORS(一个会话可打开的游标总数)等均为系统级动态参数。

(2)设置初始化参数值

对于pfile,由于Oracle只能读取而不能修改其中的初始化参数,所以需要用文本编辑器添加、修改或者删除其中的初始化参数。

而spfile则不同,它是二进制格式文件,所以不能用文本编辑器进行编辑,而只能调用ALTER SYSTEM语句进行设置。

对于当前实例,只能修改动态参数的值,根据要修改的初始化参数属于系统级还是会话级,分别调用ALTER SYSTEM或者ALTER SESSION进行修改。

Oracle数据库初始化参数的修改方法见表5.2。

表5.2 初始化参数修改方法

Oracle数据库的初始化参数非常多,而pfile或spfile中设置的参数往往非常有限,对于未设置的初始化参数,Oracle数据库将使用其默认值。

设置初始化参数时,ALTER SYSTEM语句的语法格式为

ALTER SYSTEM SET参数名=参数值[,参数值]

[SCOPE={SPFILE|MEMORY|BOTH}][DEFERRED];

该语句中的SCOPE选项说明初始化参数修改何时生效,其取值有以下3种。

①MEMORY:修改只影响当前实例,当实例重新启动后,该语句所作修改不复存在。实例使用pfile启动时,该选项是默认设置。

②SPFILE:只有在当前实例使用服务器参数文件启动时才能使用该选项。对初始化参数的修改被写入服务器参数文件,但不影响当前实例,因此其修改只有在实例重新启动后才生效。

③BOTH:修改当前实例的初始化参数值,如果当前实例使用spfile启动,该选项是默认设置,它还会修改服务器参数文件中的参数值。(www.daowen.com)

DEFERRED选项说明ALTER SYSTEM语句对初始化参数所作修改只影响此后所建立的用户会话,修改之前已建立的会话则不受其影响。只有动态性能视图V parameter的issys_modifiable列值是DEFERRED的参数,才可以在调用ALTER SYSTEM语句时使用DEFERRED选项推迟参数修改对会话的影响。

例如,下面语句把当前实例的sga_target参数值设置为800 MB。

ALTER SYSTEM SET sga_target=800M SCOPE=MEMORY;

下面语句把当前实例和spfile中的共享服务器进程数量设置为10。

ALTER SYSTEM SET shared servers=10 SCOPE=BOTH;

(3)会话级初始化参数设置

ALTER SESSION语句设置会话级动态参数,其设置结果只影响当前用户会话,该语句的语法格式为:

ALTER SESSION SET参数名=参数值;

例如,下面语句修改NLS_DATE_LANGUAGE参数,改变拼写日期所使用的语言。从查询语句的输出结果可以看到修改NLS_DATE_LANGUAGE所产生的影响。

(4)清除spfile中的初始化参数值

调用ALTER SYSTEM RESET语句可以删除当前实例所用spfile中的参数设置。在Oracle数据库下次启动时,未设置的初始化参数将使用它们的默认值。

ALTER SYSTEM RESET语句的语法格式如下:

由于该语句只能清除spfile中的初始化参数,所以没必要再提供SCOPE=SPFILE选项。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈