www.hj8828.comOracle服务器参数文件管理的注意事项

当用户通过网络访问Oracle数据库时,在客户端要为应用程序分配用户进程;与之同时,要在服务器端为期分配服务器进程。而且,客户应用的所有SQL操作最终都由服务器进程来执行的。那么客户端进程与服务器进程之间如何协调工作呢?这就主要是通过初始化参数来实现的。在Oracle数据库中,初始化参数包括默认的初始化参数和以参数文件控制的初始化参数。默认的初始化参数有200多个,在通常情况下,数据库管理员不需要对其进行更改。数据库管理员平时要管理的就是参数文件。而参数文件中保存的就是一些非默认参数。

转:

参数文件主要用于保存数据库启动例程所需要的初始化参数。作为Oracle数据库管理员来说,默认参数往往不需要进行更改。其日常需要维护的主要就是参数文件中保存的非默认参数。在Oracle10之后的版本中,其同时支持两种类型的参数文件,分别为Pfile(文本参数文件)和Spfile(服务器参数文件)。这两个参数文件虽然起到的作用是相同的,但是其有很大的不同。

  一、更改日志操作模式三步走。

在Oracle数据库中,主要有两种日志操作模式,分别为非归档模式与归档模式。默认情况下,数据库采用的是非归档模式。作为一个合格的数据库管理员,应当深入了解这两种日志操作模式的特点,并且在数据库建立时,选择合适的操作模式

一、Pfile参数文件与Spfile参数文件的区别

  默认情况下,Oracle数据库采用的是非归档模式。但是,非归档模式不能够防止因物理损坏而导致丢失数据问题。为此数据库管理员可能需要把日志操作模式从非归档模式转换为归档模式。其实,要进行这个转换的话,只需要通过简单的三个步骤即可。不过在进行操作之前,要需要注意。以下的操作都必须要求用户具有数据库管理员的权限,即只有SYSDBA或者SYSOPER身份才能够执行如下的操作。

 

在Oracle数据库比较早的版本中,初始化参数都是以Pfile(文本参数文件)的形式来保存的。而在Oracle
9之后的版本中,则引入了Spfile(服务器参数文件)。Oracle官方是建议数据库管理员采用Spfile参数文件。这主要是因为若采用后者这种形式的参数文件,其有两个优点。一是比较容易备份,因为服务器参数文件可以利用RMAN备份工具进行备份,而文本参数文件则不行。二是服务器参数文建管理起来比较方便。文本参数文件其维护起来相对比较繁琐。

  要更改日志操作模式,具体操作步骤如下。

 

不过入道比较早的数据库管理员,还是比较喜欢采用Pfile(文本参数文件)。若数据库管理员采用这种类型的参数文件来管理启动参数的话,则需要注意以下几个问题。

  第一步:先确定当前的日志操作模式。当数据库管理员更改当前操作日志模式之前,需要先确定一下当前日志操作模式。此时数据库管理员可以查询动态性能视图,来确认当前日志操作模式。如可以利用如下语句来查询我们所需要的信息。动态性能视图中存储着很多数据库运行信息。从中我们数据库管理员可以获取很多有用的信息。如现在要了解当前数据库的日志操作模式,就可以从数据库动态性能视图中获知。

笔者今天就谈谈自己对这两种操作模式的理解,并且给出一些可行的建议,跟大家一起来提高Oracle数据库的安全性。 

1、是初始化参数不能够重复。也就是说,数据库管理员在修改或者增加初始化参数之前,首先需要检查初始化参数是否存在。若数据库管理员想要更改或者设置的初始化参数已经存在的话,那么就必需直接更改原有的参数。只有在不存在的情况下,才能够在文件末尾添加新的参数。即当相关参数重复时,Oracle数据库不会自动采用最后的参数,而是会报错。

  第二步:关闭数据库。如果确认数据库当前的日志操作模式为非归档模式,需要把它改为归档操作模式,需要先关闭当前运行的数据库,然后重新装载数据库。需要注意的是,更改日志操作模式只能够在MOUNT状态下进行,因此必须首先关闭数据库,然后重新装载数据库。另外,如果需要更改日志操作模式,那么在关闭数据库时不能够使用SHUTDOWN
ABORT命令。SHUTDOWN
ABORT命令的作用其实跟KILL进程具有同样的效果。若利用这个命令的话,可能会给数据库带来一些不利的因素。如可能导致文件状态不一致。在数据库正常关闭的时候,数据库会同步校验各个文件,使得重新启动的时候文件时间点一致并且不用进行崩溃修复。而使用这个命令不会进行这个检验。所以,采用SHUTDOWN
ABORT命令关闭数据库的时候,可能会导致数据库启动出错,导致已经递交的数据丢失,甚至出现数据库崩溃的噩梦。所以,无论是在更换数据库日志操作模式,又或者其他原因需要关闭数据库的,最好不要采用这个命令。只有在采用其他关闭数据库命令不能够奏效的情况下,才能够使用这个命令。笔者建议通过SHUTDOWN
IMMEDIATE命令来关闭数据库。

一、非归档模式的利与弊。 

www.hj8828.com,2、是需要注意文本参数文件修改格式方面的问题。如在文本参数文件中,每一行都只能够设置一个参数,不能再同一行中设置多个不同的参数。如参数若是字符型的则可以利用引号引住;但是,若参数是数字型的,则不能够使用引号引住。但是,若同一个参数有多个值,则可以放在同一行中,只是不同值之间必须要用逗号进行分割。无论是引号还是逗号,都必须是英文状态下的符号。
3、是在文本参数文件中,有个特殊的符号即#。当数据库管理员不需要某个参数时,我们往往不建议直接删除它;而是建议数据库管理员把参数屏蔽掉。这对于日后维护是很有必要的。此时,数据库管理员若要屏蔽某个参数,就可以直接在某个参数前面加入#符号。通过这种方式,就可以让Oracle数据库服务器忽略这个被屏蔽的参数。

  数据库关闭之后,再利用Startup命令,把数据库启动到MOUNT状态。再次提醒一次,只有在Mount状态下才能够更改日志操作模式。

  非归档模式是指不保留重做历史的日志操作模式,只能够用于保护例程失败,而不能够保护介质损坏。如果数据库采用的是日志操作模式的话,则进行日志切换时,新的日志会直接覆盖原有日志文件的内容,不会保留原有日志文件中的数据。 
  这么说听起来可能比较难理解。笔者举一个简单的例子,就会清楚许多。如现在Oracle数据库中有四个日志组,日志序列号分别为11、
12、13、14。当数据库事务变化写满第一个日志组文件(序列号为11)时,Oracle数据库就会自动切换到第二个日志组文件(序列号为12)中。依次类推。当第三个日志组文件(序列号为13)写满时,就会切换到第四个日志组(序列号为14)。当第四个日志组(序列号为14)满时,其就会切换到第一个日志组(序列号为15)。这里,序列号虽然与刚才第一个日志文件组不同,但是日志组仍然是同一个。此时,由于数据库的操作模式选择为非归档模式,所以第一组日志文件(序列号为11)中的内容并没有归档。新的日志文件的内容将直接覆盖第一个日志组文件中的内容。若第一个日志组文件(序列号为15)满时,切换到第二个日志文件组时,新的内容又会在第二个日志文件组没有归档的情况下,直接覆盖日志文件12中的原有数据。