oracle的初始化参数⽂件学习:
⼀、服务器初始化参数⽂件概述
oracle的初始化参数⽂件保存了数据库实例创建和启动时所必须的初始化参数配置信息。
初始化参数⽂件损坏,数据库⽆法启动。
11g中,初始化参数有341个,分显式和隐式两种。
9i之前的版本,将显式参数及其存储在⼀个⽂本⽂件中,称之为⽂本初始化参数⽂件。默认名称为INIT<SID>.ORA。默认位置
为%ORACLE_HOME%/database⽬录。
11g数据库在创建的时候,⾃动在%ORACLE_DATABASE%/admin/<SID>/pfile⽬录。
⽂本初始化参数⽂件时本地的⼀个初始化参数⽂件,⽆论启动本地数据库还是远程数据库,都需要读取本地的⼀个⽂本初始化参数⽂件,并使⽤其中的参数设置来配置数据库实例。因此要远程启动数据库,必须在远程主机中保存⼀份初始化参数⽂件的副本。此外,⽂本初始化参数⽂件的修改必须通过管理⼿动进⾏。
由于以上原因,9i之后的数据库中引⼊了服务器初始化参数⽂件。服务器初始化参数⽂件是⼀个保存在数据库服务器端的⼆进制⽂件。实例会⾃动从服务器中读取服务器初始化参数⽂件。此外,在数据中执⾏alter system语句对初始化参数进⾏了修改,在默认情况下
(socope=both),都会永久的记录在服务器初始化参数⽂件中。
服务器初始化参数⽂件是使⽤create spfile 语句基于已有的⽂本初始化参数⽂件创建的。在使⽤dbca创建数据库时⾃动创建服务器初始化参数⽂件。服务器初始化参数⽂件默认名称为SPFILE<SID>.ORA。默认位置存放于%ORACLE_HOME%/dbs⽬录。
>可以使⽤记事本或者写字板等⽅式打开服务器初始化参数⽂件,并查看其中内容。但是不可以修改其中内容。否则导致⽂件损坏。
在执⾏startup语启动数据库时,系统按照下列顺序寻初始化参数⽂件:
1、检查是否⽤pfile参数指定了⽂本初始化参数⽂件
2、如果没有使⽤pfile参数,则在默认位置寻默认名称服务器初始化参数⽂件
3、没有到默认的服务器初始化参数⽂件,则在默认的位置寻默认名称的⽂本初始化参数⽂件
可以⽤show parameter spfile 命令或者查询动态性能视图v$parameter查看当前数据库所使⽤的服务器初始化参数⽂件
⼆、创建服务器初始化参数⽂件
1、创建⼀个⽂本初始化参数⽂件,⽂件中包含显式初始化参数,并将该⽂件存放在数据库服务器上。
⽂本初始化参数⽂件创建时需要注意以下事项:
*初始化参数⽂件中只对需要设置的初始化参数进⾏设置,其他采⽤系统默认
*初始化参数⽂件只能包括赋值语句和注释语句,注释语句以#开头,单⾏
*初始化参数⽂件的参数部分前后次序,参数名称与值不区分⼤⼩写
*如果⼀⾏设置多个参数,需要⽤空格隔开
*如果参数具有多个值,将这些值⽤括号括起来,⽤逗号隔开
*对于具有字符串类型值的参数,如果字符创中包含空格或者制表符,必须使⽤单引号或双引号字符串引起来
2、以sysoper或者sysdba⾝份连接到oracle数据库
3、利⽤⽂本初始化参数⽂件创建服务器初始化参数⽂件
create spfile=[='spfile name'] from pfile[='spfile name']|memory;
三、常⽤初始化参数:
processes = 150 说明: 指定可同时连接到⼀个 Oracle Server 上的操作系统⽤户进程的最⼤数量。该值应允许执⾏所有后台进程, 如: 作业队列 (SNP) 进程和并⾏执⾏ (Pnnn) 进程。值范围: 6 到根据操作系统⽽定的⼀个值。默认值: 由 PARALLEL_MAX_SERVERS 确定
timed_statistics = TRUE 说明: 收集操作系统的计时信息, 这些信息可被⽤来优化数据库和 SQL 语句。要防⽌因从操作系统请求时间⽽引起的开销, 请将该值设置为零。将该值设置为 TRUE 对于查看长时间操作的进度也很有⽤。值范围: TRUE | FALSE 默认值: FALSE
shared_pool_size = 50331648 说明: 以字节为单位, 指定共享池的⼤⼩。共享池包含如: 共享游标, 存储的过程, 控制结构和并⾏执⾏消息缓冲区等对象。较⼤的值能改善多⽤户系统的性能。值范围:300 KB - 根据操作系统⽽定。默认值: 如果是 64 位操作系统, 值为 64MB; 其他情况下, 值为 16MB。
large_pool_size = 8388608 说明 : 指定⼤型池的分配堆的⼤⼩, 它可被共享服务器⽤作会话内存, ⽤作并⾏执⾏的消息缓冲区以及⽤作RMAN备份和恢复的磁盘 I/O 缓冲区。值范围: 600K (最⼩值); >= 20000M (最⼤值是根据操作系统⽽定的)。默认值 : 0, 除⾮配置了并⾏执⾏或 DBWR_IO_SLAVES
java_pool_size = 33554432 说明: 以字节为单位, 指定 Java 存储池的⼤⼩, 它⽤于存储 Java 的⽅法和类定义在共享内存中的表⽰法, 以及在调⽤结束时移植到 Java 会话空间的 Java 对象。值范围: 根据操作系统⽽定。默认值: 根据操作系统⽽定
control_files = d:\oracle\oradata\mydb\CONTROL01.CTL, d:\oracle\oradata\mydb\CONTROL02.CTL,
d:\oracle\oradata\mydb\CONTROL03.CTL 说明: 指定⼀个或多个控制⽂件名。Oracle 建议对于不同设备或 OS ⽂件镜象使⽤多个⽂件。值范围: 1 - 8 ⽂件名 (带路径名)。
默认值: 根据操作系统⽽定
db_block_size = 8192 说明: ⼀个 Oracle 数据库块的⼤⼩ (字节)。该值在创建数据库时设置, ⽽且此后⽆法更改。
值范围: 1024 - 65536 (根据操作系统⽽定)。默认值: 2048 (根据操作系统⽽定)
db_cache_size = 25165824 说明: 为⾼速缓存指定标准块⼤⼩的缓冲区。值范围: ⾄少 16M。默认值: 48M
compatible = 9.2.0.0.0 说明: 允许您使⽤⼀个新的发⾏版, 同时保证与先前版本的向后兼容性。值范围: 默认为当前发⾏版。默认值: 由发⾏版确定
db_file_multiblock_read_count= 16 说明: 在涉及⼀个完全连续扫描的⼀次 I/O 操作过程中读取的块的最⼤数量。值范围: 根据操作系统⽽定。默认值: 8
fast_start_mttr_target = 300 说明: 指定从单个数据库例程崩溃中恢复所需的时间 (估计秒数)。FAST_START_MTTR_TARGET 将在内部被转换为⼀组参数, ⽤于修改数据库的操作, 从⽽将它的恢复时间控制在总 "恢复平均时间 (MTTR)" 中的⼀定范围之内。只有具有 "快速启动故障恢复" 功能的版本才⽀持此参数。值范围: [0, 3600]。它将计算数据缓冲区⾼速缓存条⽬数之上, 且⼤于最⼤⽇志中的块数的限值。默认值: 0
undo_management = AUTO 说明: 指定系统应使⽤哪种撤消空间管理模式。如果设置为 AUTO, 例程将以 SMU 模式启动。否则将以 RBU 模式启动。在RBU 模式下, 撤消空间会象回退段⼀样在外部分配。在 SMU 模式下, 撤消空间会象撤消表空间⼀样在外部分配。值范围: AUTO 或 MANUAL 默认值: 如果启动第⼀个例程时忽略了 UNDO_MANAGEMENT 参数, 则将使⽤默认值 MANUAL, 并且例程将以 RBU 模式
启动。如果这不是第⼀个例程, 则将按其他现有例程启动时使⽤的撤消模式来启动该例程。
undo_tablespace = UNDOTBS1 说明: 撤消表空间仅⽤于存储撤消信息。UNDO_TABLESPACE 仅允许在系统管理撤消 (SMU)模式下使⽤。例程将使⽤指定的撤消表空间, <undoname>。如果该表空间不存在, 或不是撤消表空间, 或正在由另⼀例程使⽤, 则例程 STARTUP 将失败。默认值: 每个数据库都包含 0 个或更多的撤消表空间。在 SMU 模式下, 将为每个 ORACLE 例程分配⼀个 (且仅限⼀个) 撤消表空间。undo_retention = 10800 说明: UNDO_RETENTION 参数⽤来指定要在数据库中保留的已提交的撤消信息总量。可在例程启动时设置该参数值。可以计算满⾜撤消保留要求所需的撤消空间量: UndoSpace = RD * UPS, 其中 UndoSpace 以撤消块数来表⽰, RD ⽤以秒为单位的UNDO_RETENTION 来表⽰, UPS 以每秒撤消块数来表⽰。值范围: 所允许的最⼤值为 (2 ** 32) 秒。默认值: 30 秒。oracle11g 创建数据库
remote_login_passwordfile= EXCLUSIVE 说明: 指定操作系统或⼀个⽂件是否检查具有权限的⽤户的⼝令。如果设置为 NONE, Oracle 将忽略⼝令⽂件。如果设置为EXCLUSIVE, 将使⽤数据库的⼝令⽂件对每个具有权限的⽤户进⾏验证。如果设置为 SHARED, 多个数据库将共享 SYS 和 INTERNAL ⼝令⽂件⽤户。值范围:NONE | SHARED | EXCLUSIVE 默认值: NONE
db_domain = 说明: 指定数据库名的扩展名 (例如:US.ORACLE.COM) 为使⼀个域中创建的数据库名唯⼀, 建议指定该值。值范围: 由句点分隔的任何字符串, 最长可以有 128 个字符。默认值: WORLD
instance_name = mydb 说明: 在多个例程使⽤相同服务名的情况下, ⽤来唯⼀地标识⼀个数据库例程。INSTANCE_NAME 不应与 SID 混淆,它实际上是对在⼀台主机上共享内存的各个例程的唯⼀标识。值范围: 任何字母数字字符。
默认值: 数据库 SID
dispatchers = (PROTOCOL=TCP) (SERVICE=mydbXDB) 说明 : 为设置使⽤共享服务器的共享环境⽽设置调度程序的数量和类型。可以为该参数指定⼏个选项。有关详细信息, 请参阅“Oracle8i 管理员指南”和“Oracle Net Administrator's Guide”。这是字符串值的⼀个⽰例:
'(PROTOCOL=TCP)(DISPATCHERS=3)'。值范围: 参数的有效指定值。默认值 : NULL
job_queue_processes = 10 说明: 只⽤于复制环境。它指定每个例程的 SNP 作业队列进程的数量 (SNP0, ... SNP9, SNPA, ... SNPZ)。要⾃动更新表快照或执⾏由 DBMS_JOB 创建的请求, 请将该参数设置为 1 或更⼤的值。值范围: 0 到 36 默认值: 0
hash_join_enabled = TRUE 说明: 如果设置为 TRUE, 优化程序将在计算最有效的联接⽅法时考虑散列联接。Oracle 建议数据仓库应⽤程序应使⽤ TRUE值。值范围: TRUE | FALSE 默认值: TRUE
background_dump_dest = d:\oracle\admin\mydb\bdump 说明: 指定在 Oracle 操作过程中为后台进程 (L
GWR, DBW n 等等) 写⼊跟踪⽂件的路径名(⽬录或磁盘)。它还定义记录着重要事件和消息的数据库预警⽂件的位置。值范围: 任何有效的⽬录名。默认值:
ORACLE_HOME/rdbms/log (根据操作系统⽽定)
user_dump_dest = d:\oracle\admin\mydb\udump 说明: 为服务器将以⼀个⽤户进程⾝份在其中写⼊调试跟踪⽂件的⽬录指定路径名。例如,该⽬录可这样设置: NT 操作系统上的 C:/ORACLE/UTRC; UNIX 操作系统上的 /oracle/utrc; 或 VMS 操作系统上的DISK$UR3: [ORACLE.UTRC]。值范围: ⼀个有效的本地路径名, ⽬录或磁盘。默认值: 根据操作系统⽽定
core_dump_dest = d:\oracle\admin\mydb\cdump 说明: 指定核⼼转储位置的⽬录名 (⽤于 UNIX)。值范围: 任何有效的⽬录名。默认值: ORACLE_HOME/dbs
sort_area_size = 524288 说明: SORT_AREA_SIZE 以字节为单位, 指定排序所使⽤的最⼤内存量。排序完成后, 各⾏将返回, 并且内存将释放。增⼤该值可以提⾼⼤型排序的效率。如果超过了该内存量, 将使⽤临时磁盘段。值范围: 相当于 6 个数据库块的值 (最⼩值) 到操作系统确定的值 (最⼤值)。默认值: 根据操作系统⽽定
db_name = mydb 说明: ⼀个数据库标识符, 应与CREATE DATABASE 语句中指定的名称相对应。值范围: 任何有效名称最多可有 8 个字符。默认值: ⽆ (但应指定)
open_cursors = 300 说明: 指定⼀个会话⼀次可以打开的游标 (环境区域) 的最⼤数量, 并且限制 PL/SQL 使⽤的 PL/SQL游标⾼速缓存的⼤⼩,以避免⽤户再次执⾏语句时重新进⾏语法分析。请将该值设置得⾜够⾼, 这样才能防⽌应⽤程序耗尽打开的游标。值范围: 1 - 操作系统限制值。默认值: 64
star_transformation_enabled= FALSE 说明: 确定基于成本的查询转换是否将被应⽤到星型查询中。如果设置为 TRUE, 优化程序将考虑将基于成本的转换应⽤于星型查询中; 如果设置为 FALSE, 将不使⽤任何转换; 如果设置为 TEMP_DISABLE, 将考虑查询转换, 但不使⽤临时表。值范围: TRUE | FALSE | TEMP_DISABLE 默认值: FALSE
query_rewrite_enabled = FALSE 说明: 启⽤或禁⽤对实体化视图的查询重写。⼀个特定实体化视图只在如下条件下启⽤: 会话参数和单独实体化视图均已启⽤, 并且基于成本的优化已启⽤。值范围: TRUE | FALSE 默认值: FALSE
pga_aggregate_target = 25165824 说明: 指定连接到例程的所有服务器进程的⽬标 PGA 总内存。请在启⽤⾃动设置⼯作区之前将此参数设置为⼀个正数。这部分内存不驻留在SGA 中。数据库将此参数值⽤作它所使⽤的⽬标 PGA 内存量。设置此参数时, 要将 SGA 从可⽤于Oracle例程的系统内存总量中减去。然后可将剩余内存量分配给 pga_aggregate_target。值范围: 整数加字母 K, M 或 G, 以将此限值指定为千字节, 兆字节或千兆字节。最⼩值为 10M, 最⼤值为 4000G 默认值: "未指定", 表⽰完全禁⽤对⼯作区的⾃动优化。
aq_tm_processes = 1 说明: 如果⼤于零, 就会启⽤对队列消息的时间监视。该时间值可⽤于指定消息的延迟和失效属性 (⽤于应⽤程序的开
发)。值范围: 0 - 10
默认值: 0
四、修改初始化参数:
1、alter session set····· 回话级修改
2、alter system set·····
**动态初始化参数:修改后⽴即⽣效,作⽤于当前数据库实例
**静态初始化参数:初始化参数修改后在当前实例中不会⽣效,参数被保存到服务器初始化参数⽂件中,下次重新启动数据库⽣效
scope=spfile。只能修改服务器初始化参数⽂件的参数值,对于当前数据库实例没有影响。适⽤于动态参数和静态参数的修改
scope=memory。只能修改内存中的初始化参数值。只适合于动态参数的修改,当前实例⽴即⽣效
scope=both。修改内存中的和初始化参数⽂件中的。是适合动态参数⽂件修改
3、可⽤alter system resetparameter_name=parameter_value;清除某个显式参数。清除后恢复系统默认
五、导出服务器初始化⽂件参数
可以使⽤create pfile语句将服务器初始化参数⽂件导出为⼀个⽂本初始化参数⽂件。下列情况下可以考虑导出:
1、创建服务器初始化参数⽂件的备份
2、为了便于诊断数据库故障原因,需要获取当前数据库实例使⽤的所有初始化参数的设置信息。其效果等同于执⾏show parameter 命令或查询动态性能视图v$parameter
3、为了修改服务器初始化参数⽂件中的参数值,先将服务器初始化参数⽂件导出⽂本初始化参数⽂件,然后对于⽂本初始化参数⽂件中的参数进⾏⼿动修改,根据修改后的⽂本化参数⽂件,创建新的服务器初始化参数⽂件。
六、恢复丢失或损坏的服务器初始化参数⽂件
1、如果数据库处于运⾏状态,可以执⾏create spfile from memory 语句,根据当前内存中的初始化参数重建服务器初始化参数
2、如果有有效的⽂本初始化参数,可以⽤⽂本参数进⾏创建:create spfile from pfile 重建服务器初始化参数
3、利⽤服务器初始化参数⽂件的备份恢复丢失或损坏的服务器化参数⽂件
4、上述⽅法都不可⽤时,可以⾸先利⽤报警⽂件中显⽰的初始化参数值(数据库启动时会使⽤初始化参数⽂件写⼊报警⽂件)重建⽂本的初始化参数⽂件,然后利⽤create spfile from pfile的⽅式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

Linux下双机OracleG11R2
« 上一篇
Oracle认证-9
下一篇 »

发表评论