Oracle DB:spfile和init.ora文件有什么区别?

mal*_*esh 3 database oracle oracle11g

我试图通过oracle docs了解但是无法正常使用任何正文请解释.spfile和init.ora文件有什么区别?

谢谢.

use*_*er1 8

init.ora文件

  • init.ora或pfile(参数文件)是一个简单的文本文件,可以通过标准编辑器(如vi)进行更新,该编辑器包含启动数据库实例时使用的各种初始化参数.这是一个示例init.ora文件:

db_cache_size = 176000M

db_2k_cache_size = 2048M

db_16k_cache_size = 99000M

db_keep_cache_size = 600000M

db_recycle_cache_size = 64000M

shared_pool_size = 14000M

  • 我们需要在使用文本编辑器编辑init.ora之后重新启动数据库,以便更改生效.
  • 如果我们想要启动远程数据库,我们需要一个本地pfile.
  • 有助于数据备份恢复过程的RMAN(恢复管理器)不保留pfile或init.ora文件的备份.

SPFILE

  • Oracle spfile是基于文本的init.ora文件或pfile(参数文件)的二进制表示,其中包含启动数据库实例时使用的各种初始化参数.在Oracle 9i中和之后存在.

  • 我们不使用编辑器编辑此文件,因为它是一个二进制文件,可能会损坏,这可能导致您的数据库实例无法启动,而是通过使用alter system查询进行更改.编辑spfile的示例:
    ALTER SYSTEM SET open_cursors=300 SCOPE=SPFILE;

  • 运行后更改生效Alter system query,我们不需要重新启动数据库.

  • 如果需要启动远程数据库,我们在spfile的情况下不需要本地副本.

  • 由于此文件由服务器维护,因此在接受参数之前验证参数.
  • RMAN保留spfile的备份.
  • 默认情况下,我们的数据库使用pfile启动我们可以通过使用以下查询来更改它并从pfile或init.ora文件创建spfile,我们甚至不需要重新启动数据库.

    sqlplus / as sydba; CREATE SPFILE FROM PFILE='/u01/oracle/dbs/init.ora;