[oracle@orcl ~]$ cat pfile.ora wilson.__db_cache_size=92274688 wilson.__java_pool_size=4194304 wilson.__large_pool_size=4194304 wilson.__oracle_base='/u01'#ORACLE_BASE set from environment wilson.__pga_aggregate_target=142606336 wilson.__sga_target=272629760 wilson.__shared_io_pool_size=0 wilson.__shared_pool_size=155189248 wilson.__streams_pool_size=8388608 *.audit_file_dest='/u01/admin/wilson/adump' *.audit_trail='DB' *.compatible='11.2.0.0.0' *.control_files='/u01/oradata/WILSON/controlfile/o1_mf_6bcsqm50_.ctl','/u01/flash_recovery_area/WILSON/controlfile/o1_mf_6bcsqmd8_.ctl' *.db_block_size=8192 *.db_create_file_dest='/u01/oradata' *.db_domain='' *.db_name='wilson' *.db_recovery_file_dest='/u01/flash_recovery_area' *.db_recovery_file_dest_size=3145728000 *.diagnostic_dest='/u01' *.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)' *.memory_target=415236096 *.open_cursors=300 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.shared_servers=2 *.undo_tablespace='UNDOTBS1'
1、单独实例与全局实例参数设置差异 在我们导出的参数ASCII文件中,可以明显看到参数的现实格式为“Key-value”配对方式显示。具体看,参数名称key格式为“.”。 其中,sid表示参数效用范围实例。从上面的例子中看,wilson.就表示该参数起效果的实例是在wilson实例之上。此外,一些参数的sid位置是用“*”表示,这样的含义就是该参数其效果是在全局RAC下作用。 通常我们的数据库环境都是单实例(后台进程+共享内存)外加单数据库。而RAC(Real Application Cluster)是Oracle推出的数据库集群解决方案。简单的说,就是多台PC上部署多个Oracle实例,而对应的数据库(数据文件)却只有一份。使用RAC技术,一般可以提高数据库系统整体的可用性和负载均衡特性。 如果参数sid中使用“*”号,就表示这个参数要在整个RAC多个实例上同时作用。 2、遗留实例容量参数 在参数文件中,包括一些以“_”开头的参数文件参数,如“_db_cache_size”等。这些参数可以成为遗留实例容量参数。这些参数大都是一些描述共享内存SGA、PGA区容量的参数,如large_pool、java_pool的大小。见下表: 那么,这些参数加入“__”的含义是什么呢?在Oracle中,数据库内存空间分配,特别是SGA各个子分区的分配一直是一个难题。从Oracle 10g开始,Oracle开始推出了自动管理内存空间各个分区的技术。数据库配置人员只需要配置出SGA或者总共Oracle使用数据库的空间target,Oracle会自动根据负载和工作量进行各个分区调节。这样,通常是可以实现内存分布的最优化目标。 在Oracle进行各分区调节的时候,会将当前的空间已“__”的参数计入到系统参数文件中。当重新启动Oracle的时候,会首先按照这部分的参数设置来配置实例的内存空间。这样的有点是能够保留下系统经历“千辛万苦”才调节出的参数组合。 3、关键路径、容量参数配置 除了用于进行Oracle实例内存构建的参数之外,还包括如下一些关键路径信息和容量参数信息: 数据库块datablock大小 参数文件中确定说明了data block的大小,示例中数据库块大小为8k。 control_files控制文件配置目录 控制文件包括了数据库诸多参数和当前状态信息。参数文件加载之后,Oracle启动mount、open很大程度上需要读取控制文件内容。参数文件中会定义当前系统的控制文件位置和名称。如当前实例中,就有: *.control_files='/u01/oradata/WILSON/controlfile/o1_mf_6bcsqm50_.ctl','/u01/flash_recovery_area/WILSON/controlfile/o1_mf_6bcsqmd8_.ctl' 控制文件极其重要,如果意外损坏或者误删除影响重大。所以,通常会采用多份备份的方法进行保存。同时在使用RMAN等备份手段时,也存在专门针对控制文件的备份方法。 audit_审计信息保存参数 数据库审计是Oracle提供的一个可选组件功能。参数文件Parameter File中包括如下内容: *.audit_file_dest='/u01/admin/wilson/adump' *.audit_trail='DB' 其中表示数据库审计信息策略(Database)和审计文件存放的文件系统位置。 恢复文件位置和大小 设置存放恢复文件,如Archivelog Files和一些备份信息的物理位置。这个位置存放大小可以通过dest_size参数进行控制。 *.db_recovery_file_dest='/u01/flash_recovery_area' *.db_recovery_file_dest_size=3145728000 OMF创建参数设置 Oracle推出了OMF技术(Oracle Managed File),实现各类型文件的自动化管理。用户不需要负责文件名称设置,在创建文件的时候,会自动在设置的目录上建立文件。 *.db_create_file_dest='/u01/oradata' 参数db_create_file_dest为数据文件创建的目录。这样,在建立表空间的时候,只需要指定表空间名称,不需要指定数据文件名称。Oracle会自动的在db_create_file_dest目录下建立相关名称数据文件。 4、实例相关参数 除了实例使用容量信息外,Oracle参数文件中还指定了一些进程和连接模式信息。 共享连接模式设置 Oracle两种连接方式:共享模式和独占模式。在通常情况下,两种模式是可以并存的。一般默认的连接是独占dedicate模式,此时允许一些服务是使用共享连接模式。通常Oracle在安装的时候是有XML数据库服务的,这些在设置中是使用共享连接模式。 *.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)' *.shared_servers=2 参数dispatcher和shared_servers分别是共享连接模式的设置参数。Dispatcher设置共享连接支持的服务名称和连接协议。Shared_server表示共享连接池中默认存放的数据库连接数量。 实例进程数量和开启游标数量 Parameter File中还包括一些实例后台进程个数配置信息。 *.open_cursors=300 *.processes=150 Processes参数表示Oracle实例能够同时支持的服务进程Server Process个数。如果实际连接超过Process参数数量,Oracle会拒绝新连接或者强制断开不活跃连接。 open_cursors是表示一个session会话中可以开启的最大游标数量。 数据库名称信息 参数文件中,也包括了数据库实例的名称信息。 *.db_domain='' *.db_name='wilson' 5、结论 参数文件中包括了数据库系统中一些最基本的参数内容,是启动过程中一个不可缺少的环节。本篇中展示了笔者示例数据库中的参数文件参数。但是,并不是说每个参数都是必需的。 其中,如db_block_size、control_files、processes和undo_management都是称为basic参数。如果这些参数不设置,就会影响到Oracle的正常启动,启动过程会报错。其他一些Advanced参数Oracle都有默认值可以供使用。
|