Oracle参数文件即参数解析

说的是一辈子!差一年,一个月,一天,一个时辰,都不算一辈子! ----------<<霸王别姬>>

落叶归根,入心解惑。熟悉oracle启动和关闭流程,对于oracle启关原理有了深入理解,在此基础上,我们再逐步分析其中的各个部分。在oracle数据库中,有一系列的初始化参数用来进行数据库约束和资源限制,这些参数通常存储在一个参数文件中,在数据库实例启动时读取并加载。


一、参数文件类型

参数文件有两种类型,pfile及spfile。PFILE是文本文件的,而SPFILE是二进制格式的。PFILE文件可以用文本编辑器打开手工配置、而SPFILE不行,只能通过SQL命令在线修改。从操作系统上可以看到这两者的区别,初始化参数文件为ASCII文本文件,SPFILE为数据文件。

1.1,查看pfile文件

[oracle@oracle11g dbs]$ cat init.ora

#

# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at

# install time)

db_name='ORCL'

memory_target=1G

processes = 150

audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'

db_recovery_file_dest_size=2G

diagnostic_dest='<ORACLE_BASE>'

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

open_cursors=300 

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

# You may want to ensure that control files are created on separate physical

# devices

control_files = (ora_control1, ora_control2)

compatible ='11.2.0'

1.2,查看spfile文件

[oracle@oracle11g dbs]$ cat spfileORCL.ora

C"趖???CC"lORCL.__db_cache_size=243269632

ORCL.__java_pool_size=4194304

ORCL.__large_pool_size=4194304

ORCL.__oracle_base='/oracle/app/oracle'#ORACLE_BASE set from environment

ORCL.__pga_aggregate_target=343932928

ORCL.__sga_target=641728512

ORCL.__shared_io_pool_size=0

ORCL.__shared_pool_size=381681664

ORCL.__streams_pool_size=0

*.audit_file_dest='/oracle/app/oracle/admin/ORCL/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/oracle/app/data/ORCL/control01.ctl','/oracle/appCC"bb/oracle/flash_recovery_area/ORCL/control02.ctl'#Restore Controlfile

*.db_block_size=8192

*.db_domain=''

*.db_files=300

*.db_name='ORCL'

*.db_recovery_file_dest='/oracle/app/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=3565158400

*.diagnostic_dest='/oracle/app/oracle'

*.memory_target=983564288

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.processes=1000

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_management='AUTO'

*.undo_tablespace='UNCC"#SDOTBS1'

1.3,辨别数据库使用spfile还是pfile

pfile进行参数修改:直接进行编辑修改

spfile进行参数修改:alter system/alter session


判断数据库是通过spfile启动还是通过pfile启动:

select distinct isspecified from v$spparameter;

第一个值为true代表为spfile启动,为false表示pfile启动;


第二种方法:直接修改系统参数,如果提示无法修改spfile代表为pfile启动

alter system set processes=150 scope=spfile;

二、参数文件转换

a,通过spfile创建pfile

create pfile='路径+文件名' from spfile;

SQL> create pfile='/oracle/app/pfile_01.ora' from spfile;

File created.


b,通过pfile创建spfile

create spfile='路径+文件名' from pfile;

11g可以在数据库未关闭的情况下,实现spfile的重建

create spfile from memory;

三、参数解析

3.1,参数类型

a,推导参数

推导参数通常来自于其他参数的运算,依赖其他参数得出。例如SESSIONS参数,11g中SESSIONS=(1.5*processes)+22。

b,操作系统依赖参数

某些参数取值依赖或者受限于操作系统。例如db_cache_size参数,该值最大值受限于物理内存大小。

c,可变参数

可变参数包含绝大多数

潜在影响系统性能的可调整参数,某些可变参数设置的是限制条件,如OPEN_

CURSORS;有的参数是设置容量,如 DB_CACHE_SIZE 等。这类参数通常可以为 DBA 或最终用户调整,从而产生限制或性能变化,对 Oracle 至关重要。

d,废弃参数

随着oracle版本更替,部分老的参数在新版本废弃。如在11gR2中,被废弃的参数有lock_sga_areas,instance_nodeset,spin_count等等参数。

3.2,参数获取

a,直观参数获取

在SQL*PLUS中,我们可以通过命令show parameter命令来查看某些参数的设置值:

SQL> show parameter sga;


NAME                                 TYPE            VALUE

------------------------------------ --------------- ------------------------------

lock_sga                             boolean         FALSE

pre_page_sga                     boolean         FALSE

sga_max_size                     big integer     940M

sga_target                           big integer     0

也可以通过查看视图v$parameter进行查看参数值设置:

select * from v$parameter;

b,隐藏参数获取

oracle中,以“_”开头的初始化参数通常被称为隐藏参数,这些参数具有某些特殊的功能,获取他们需要通过查询特殊的视图进行查看。

SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.KSPPDESC PDESC

FROM SYS.x$ksppi x, SYS.x$ksppcv y

WHERE x.indx = y.indx

AND x.ksppinm LIKE '%&par%';

3.3,参数修改

可以通过 ALTER SYSTEM 或者导入导出来更改 SPFILE 的内容。从 Oracle9i 开始,ALTER SYSTEM 命令增加了一个新的选项:SCOPE。

a,SCOPE 参数有三个可选值:MEMORY ,SPFILE , BOTH

b,MEMORY-只改变当前实例运行,重新启动数据库后失效

c,SPFILE-只改变 SPFILE 的设置,不改变当前实例运行,重新启动数据库后生效

d,BOTH-同时改变实例及 SPFILE,当前更改立即生效,重新启动数据库后仍然有效。

alter sysetm/session set parametername=values scope=memory|spfile|both;


通过select name,isses_modifiable,issys_modifiable from v$parameter来判断参数修改方式:

select distinct issys_modifiable from v$parameter;

false:静态参数,不能直接修改到内存 alter system set parametername=values scope=spfile

immediate scope=memory 动态参数 alter system set parametername=values 既修改到内存,也修改到spfile参数文件

deffered 会话参数alter session

四、概述

oracle参数文件看似简单,实则内容多多。简简单单一个参数文件,其中的任何一个参数 ,在数据库中都起着独当一面的作用。学习参数文件,我们除了了解以上基本内容,还可以深入学习参数文件的备份,参数文件问题等等,在此就不一一介绍了。

喜欢的朋友可以扫描以下二维码进行关注,公众号将每天更新文章:



  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle 主要配置文件介绍:profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora 文件,tnsnames.ora 文件1.2 Oracle 主要配置文件介绍1.2.1 /etc/profile 文件 系统级的环境变量一般在/etc/profile 文件中定义 在 CAMS 系统 与数据库 相关的环境变量就定义在/etc/profile 文件中 如下所示 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/8.1.7 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export ORACLE_SID=cams export ORACLE_TERM=vt100 export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG=AMERICAN.ZHS16CGB231280 & 说明 1 配置上述环境变量要注意定义的先后顺序 如 定义 ORACLE_HOME 时 用 到 了 ORACLE_BASE 那 么 ORACLE_HOME 的 定 义 应 该 在 ORACLE_BASE之后 2 在使用中文版 CAMS 时 环境变量 NLS_LANG 的值应该设置为 AMERICAN.ZHS16CGB231280 如上所示 在使用英文版 CAMS时 可 以不设置 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行 也可以 设置 NLS_LANG 的值为 AMERICAN_AMERICA.US7ASCII1.2.2 /etc/oratab 文件 /etc/oratab 文件描述目前系统中创建的数据库实例 以及是否通过 dbstart 和 dbshut 来控制该实例的启动与关闭 如下所示 忽略以#开头的注释部分 : cams:/u01/app/oracle/product/8.1.7:Y 其中 cams 为实例 ID /u01/app/oracle/product/8.1.7为 ORACLE_HOME目 录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例数据库 如果设置为 N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在 安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动 和关闭 1.2.3 数据库实例初始化文件 initSID.ora 每个数据库实例都有一个初始化 参数文件 其缺省 存放的路径为 $ORACLE_BASE/admin//pfile 其名称为 init.ora 如 cams 实 例 对 应 的 参 数 文 件 为 initcams.ora 缺 省 存 放 路 径 为 $ORACLE_BASE/admin/cams/pfile 即/u01/app/oracle/admin/cams/pfile
Oracle数据库的SPFILE(Server Parameter File)是一个二进制文件,它包含了数据库实例的配置参数。这些参数用于控制数据库的行为和性能。下面是一些常见的SPFILE参数及其解释: 1. `DB_NAME`:数据库实例的名称。 2. `DB_UNIQUE_NAME`:数据库实例的唯一名称,用于集群环境中区分不同实例。 3. `DB_DOMAIN`:数据库的域名,用于在网络中唯一标识数据库。 4. `CONTROL_FILES`:控制文件的路径和名称,控制文件记录了数据库的结构和元数据信息。 5. `LOG_ARCHIVE_DEST_n`:归档日志的存储位置,可以有多个归档目标。 6. `LOG_ARCHIVE_FORMAT`:归档日志的命名格式。 7. `SGA_TARGET`:系统全局区(SGA)的目标大小,SGA是Oracle数据库中的主要内存区域。 8. `PGA_AGGREGATE_TARGET`:PGA(Program Global Area)的目标大小,PGA用于存储会话和排序操作的临时数据。 9. `MEMORY_TARGET`:SGA和PGA的总目标大小,如果设置了该参数,则SGA_TARGET和PGA_AGGREGATE_TARGET会自动调整。 10. `FAST_START_MTTR_TARGET`:最小恢复时间目标,用于控制崩溃恢复的速度。 11. `PROCESSES`:允许的并发用户进程数量。 12. `SESSIONS`:允许的并发会话数量。 13. `REMOTE_LOGIN_PASSWORDFILE`:用于远程登录认证的密码文件。 14. `UNDO_MANAGEMENT`:事务回滚管理方式,可以是AUTO(自动管理)或MANUAL(手动管理)。 15. `COMPATIBLE`:数据库版本兼容性级别,控制数据库的行为以与特定版本兼容。 这只是一小部分SPFILE参数的示例,实际上还有很多其他参数可以配置。您可以通过查阅Oracle官方文档或使用`SHOW PARAMETER`命令来获取更详细的参数列表和解释。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值