理解oracle10g的初始化参数文件

第一次发贴
翻译于oracle文档,还不全,如果有人需要我会陆续补上

理解oracle10g的初始化参数文件

  当oracle实例启动时,它从一个初始化参数文件中读取初始化参数。这个初始化参数文件可以是一个只读的文本文件,或者是可以读/写的二进制文件。 这个二进制文件被称作服务器参数文件(sever parameter file),它总是存储在服务器上。使用服务器参数文件,可以使得管理员用alter system命令对数据库所作的改变保存起来,即使重新启动数据库,改变也不会丢失。因此Oracle建议用户使用服务器参数文件。可以通过编辑过的文本 初始化文件,或者使用DBCA来创建服务器参数文件。
  在你创建服务器参数文件之前,你可以使用文本初始化参数文件启动数据库。在数据库启动时,ORACLE实例首先在默认位置查找服务器参数文件,如果没 找到,接着找文本初始化参数文件。你也可以使用 STARTUP 命令的相关参数指定一个文本文件来启动数据库,此时服务器参数文件并不起作用。

  默认的初始化参数文件名和默认路径
平台                默认名称                                        默认路径
Windows                init%ORACLE_SID%.ora                %ORACLE_HOME%/database

初始化参数文件模板(unix平台)

control_files = (/u0d/lcg03/control.001.dbf,
/u0d/lcg03/control.002.dbf,
/u0d/lcg03/control.003.dbf)
db_name = lcg03
db_domain = us.oracle.com
log_archive_dest_1 =
"LOCATION=/net/fstlcg03/private/yaliu/testlog/log.lcg03.fstlcg03/lcg03/arch"
log_archive_dest_state_1 = enable
db_block_size = 8192
pga_aggregate_target = 2500M
processes = 1000
sessions = 1200
open_cursors = 1024
undo_management = AUTO
shared_servers = 3
remote_listener = tnsfstlcg03
undo_tablespace = smu_nd1
compatible = 10.2.0
sga_target = 1500M
nls_language = AMERICAN
nls_territory = AMERICA
db_recovery_file_dest =
/net/fstlcg03/private/yaliu/testlog/log.lcg03.fstlcg03/lcg03/arch
db_recovery_file_dest_size = 100G

  oracle数据库提供了普遍使用的初始化参数模板,你可以通过此模版,或者通过dbca创建你自己的初始化参数文件。你可以根据你的数据库的需要编辑模板参数文件,修改或添加你自己的参数值,对于没有出现在该文件中的参数,oracle使用默认值。
  如果你第一次创建oracle数据库,oracle 建议对初始化参数不要改变太多。当你熟悉了数据库和计算机环境后,可以使用alter system命令动态调整很多初始化参数。如果你使用文本初始化参数文件,你所作的改变只会影响当前的实例,重新启动后会恢复为文本初始化参数文件中设置 的值。要使改变永久有效,还要手动更新文本初始化参数文件中的相应值。如果你使用服务器参数文件,alter system命令可以影响当前实例并同时更新服务器初始化文件,使得改变永久有效。
  以下介绍一些基本的初始化参数:
                确定全局数据库名称
                指定快速恢复区(Flash Recovery Area)
                指定控制文件
                指定数据块大小(Database block sizes)
                管理系统全局区
                指定最大进程数
                指定回滚空间的管理方法
                兼容性初始化参数和不能取消的兼容功能
                设置许可(License)参数
确定全局数据库名称
        全局数据库名称包含用户指定的本地数据库名和数据库所在的网络地址。DB_NAME初始化参数决定了本地名称,DB_DOMAIN指定了网络地址。这两个地址组成了数据库在网络上是唯一名称。
        比如,我们要创建一个名为test.us.acme.com的数据库,参数值如下
DB_NAME=test
DB_DOMAIN=us.acme.com
你可以使用ALTER DATABASE RENAME GLOBAL_NAME命令重新命名全局数据库名。不过在第一次改变db_name和db_domain之后,你必须重新启动数据库并且重新建立控制文件。
        DB_NAME初始化参数
DB_NAME必须为不大于八个字符的文本字符串。在创建数据库的过程中,DB_NAME中存储的数据库值会被记录在数据文件、重做日志文件,和控制文件中。如果再数据库实例启动时,参数文件中的DB_NAME值和控制文件中保存的值不一致会导致数据库启动失败。
        DB_DOMAIN初始化参数
                DB_DOMAIN是表示数据库所在的网络地址的文本字符窜。通常是拥有数据库的组织的域名。如果你将要建立的数据库是分布式数据库系统的一部分,一定要小心伺候这个参数。
指定快速恢复区
        快速恢复区是oracle可以存储和管理数据恢复相关文件的区域,它和数据库区域是不同的,数据库区域是指oracle管理当前数据库文件的目录(包含数据文件,控制文件,在现重做日志)
你可以使用下面的初始化参数指定快速恢复区域
        DB_RECOVERY_FILE_DEST :快速恢复区的位置。可以是目录,文件系统,或者自动存储管理硬盘组(ASM)。不能是原始文件系统(raw file system)
        在RAC(Real Application Clusters)环境中,这个位置必须在cluster文件系统上,ASM硬盘组,或者通过NFS建立的共享目录上。
        DB_RECOVERY_FILE_DEST_SIZE :指定了快速恢复区可以使用的最大字节数,这个参数必须要在DB_RECOVERY_FILE_DEST参数得到应用前指定。
        在RAC环境中,这两个参数值必须在所有的实例中设置相同的值。
如果你已经设置了LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST的值的话,上面提到的参数值不会起作用的。你必须禁用LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST后才能设置快速恢复区。作为替代,你可以配置LOG_ARCHIVE_DEST_n 的值。如果你没有为本地设置LOG_ARCHIVE_DEST_n 的值,那么设置快速恢复区将会把LOG_ARCHIVE_DEST_10设置为快速恢复区。
        Oracle建议使用快速恢复区,它可以简化恢复操作。

指定控制文件

        参数CONTROL_FILES指定一个或多个控制文件,当你创建数据库时,在该参数中指定的控制文件会被创建。
        如果没有设置该参数,oracle会帮你创建一个控制文件,或者如果你启用了oracle_managed files,将会创建oracle管理的控制文件。
        如果你想让数据库在创建控制文件的时候创建另外的文件作为备份,那么CONTROL_FILES参数中指定的文件列表中不能包含系统中已经存在的文件。如 果你想让数据库重新使用已经存在的文件,或者覆盖已有的文件,必须设置重新使用选项(警告,如果你选择重新使用选项,则已存在的文件中的内容会被覆盖)
        Oracle强烈建议每个数据库使用至少两个控制文件,存储在不同的物理硬盘上
指定数据库块大小
        DB_BLOCK_SIZE 初始化参数指定了标准的数据块大小。这个块大小被用于SYSTEM表空间,并且默认情况下也被用于其它的表空间。Oracle数据库可以支持最多四个额外的非标准块大小。
        DB_BLOCK_SIZE
标准块大小应该设为最普通的值,在很多情况下,你只需要设置这一个参数。比如4k或8k。如果你没有设置这个参数,默认大小是根据操作系统决定的,通常这就足够了。
创建数据库之后这个参数值就不能更改了,除非重新创建数据库。如果数据库块大小不同于操作系统的块大小,请确保数据库块大小是操作系统块大小的倍数。比如,如果操作系统块大小是2k(2048字节),那么以下的参数值是有效的
DB_BLOCK_SIZE=4096
        更大的块大小可以提供更有效的I/O操作。因此,在下面条件成立的情况下最好指定大于操作系统块大小的数据库块
1,        数据库在大型计算机系统上,拥有超大内存和超快硬盘。比如大型主机拥有巨大的硬件资源,通常设置4k或更大的块。
2,        操作系统的块大小太小。比如1k,如果数据库使用这么小的块,数据库会忙于进行大量的I/O操作。
非标准的块大小
        创建新的表空间时,可以指定非标准的块大小(不同于system表空间的块大小)。这些块大小可以使用任何2的密次方的值,比如2k,4k,8k,16k,32k等。最小值根据操作系统的限制有所不同,所以以上的值在某些系统中不能使用。
        要使用非标准的块,必须在SGA中为不同的非标准块配置缓存,配置方法稍后介绍。
        在移动数据库的时候这个非标准块的功能会特别有用。比如,你可以从OLAP环境下转移一个4k块大小的表空间到使用8k作为标准块大小的数据仓库中。

 

 

 

 

 

先来看看它们的名字:服务器参数文件(spfile) ,
                    文本参数文件(pfile),
                    控制文件(controlfile)。
这也是区别。


再来看看数据库的启动顺序:首先寻找服务器参数文件(spfile),没有找到,就去默认位置寻找文本参数文件(pfile); 接下来才根据初始化参数control_files的设置找到控制文件(controlfile) 。这也可以看出它们的区别 。


   补充:spfile是二进制文件,不能浏览,也不能用文本编辑器编辑。
   根据spfile来创建pfile:
sql>create  pfile='d:/oracle/product/10.2.0/db_1/database/pfileoamissid.ora'    from  spfile='d:/oracle/product/10.2.0/db_1/database/spfileoamissid.ora' ;
  同样,服务器参数文件也可以根据文本参数文件来创建。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值