参数文件的作用:

它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。

参数文件分为两类:

  1. 初始化参数文件pfile(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件。文件名通常为init<sid>.ora
  2. 服务器参数文件spfile(Server Parameter Files),从9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改。  文件名通常为spfile<sid>.ora,支持RMAN备份。

区别:

  PFILE是文本文件的,而SPFILE是二进制格式的。但是pfile也可以通过more或者less查看

  SPFILE的修改是可以通过SQL命令在线修改,不再需要通过手工修改,对于动态参数所有更改可以立即生效,而PFILE的修改必须重启实例才能生效。

优先级别:

oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错

spfile<sid>.ora --> spfile.ora -->init<sid>.ora

缺省目录:

$ORACLE_HOME/dbs

参数文件之间的转换:

spfile-->pfile

SQL> create pfile from spfile;

文件已创建。

SQL> !ls $ORACLE_HOME/dbs/initorcl.ora
/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora

生成在指定路径

SQL> create pfile='/tmp/initorcl.ora' from spfile;

查看pfile的内容

orcl.__db_cache_size=201326592     #数据库告诉缓冲区
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=281018368
orcl.__sga_target=528482304
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=306184192
orcl.__streams_pool_size=0
*._allow_resetlogs_corruption=TRUE
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump' /*警告日志路径*/
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/flash_recovery_area/control02.ctl'#Restore Controlfile /*控制文件*/
*.db_block_size=8192 /*内存块的大小*/
*.db_domain=''
*.db_name='orcl'        /*数据库标识符/
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032            /*闪回区可使用的大小GB*/
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'     /*共享服务器的配置参数*/
*.log_archive_dest_1='LOCATION=/u01/ARCHLOG/ mandatory'   /*归档文件*/
*.log_archive_dest_2='LOCATION=/u02/ARCHLOG/'
*.log_archive_dest_3='LOCATION=/u03/ARCHLOG/ optional'
*.log_archive_min_succeed_dest=2
*.memory_target=806354944
*.open_cursors=300            /*可打开的游标数*/
*.processes=150              /*描述当前可以运行的进程数*/
*.remote_login_passwordfile='EXCLUSIVE'  /*远程登陆是否要用密码文件*/
*.sga_max_size=838860800
*.undo_tablespace='UNDOTBS1'     /*指定使用哪一个undo表空间*/

pfile-->spfile

SQL> create spfile='/tmp/spfileorcl.ora' from pfile;

可以用strings命令查看创建的spfile文件,查出来的结过和pfile是一样的。

判断数据库从SPFILE还是PFILE启动?

方式1:

如果是spfile,则value是有值的

SQL> show parameter spfile

NAME                     TYPE    VALUE
------------------------------------ ---------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/db_1/dbs/spfileorcl.ora

方式2:

SQL> set linesize 120
SQL> col name format a10
SQL> col value format a60
SQL> select name,value from v$parameter where name='spfile'; NAME VALUE
-------------------- ------------------------------------------------------------
spfile /opt/oracle11g/app/db/product/11.2/dbs/spfileyldev.ora

修改参数文件的三种模式:

  scope=both          立即并永久生效,(默认模式)

  scope=spfile         下次启动才能生效。

  scope=memory     立即生效但下次启动时失效

需要注意的是有些参数是不可以被修改的

--  查询视图:v$parameter

     isses_modifiable  对应system级别

如果ISSES_MODIFIABLE=true,表明这个参数可以在session级别可以修改,并且立即生效。false就是不能修改

isssys_modifiable  对应system级别

如果issys_modifiable=immediate,表示这个参数可以在system立即修改,并且立即生效。

若如果issys_modifiable=deferred,会话级别参数,直接通过alter session set <> = <>*/

若如果issys_modifiable=false,表示这个参数不能在直接修改在内存中,需要加scope=spfile,重启后才能生效。

比如:

SQL> select name, isses_modifiable,issys_modifiable  from v$parameter where name='sga_max_size';    

NAME                   ISSES ISSYS_MOD
------------------------------ ----- ---------
sga_max_size FALSE FALSE          ##两个都为false SQL> alter system set sga_max_size=900M;
alter system set sga_max_size=900M
*
第 1 行出现错误:
ORA-02095: 无法修改指定的初始化参数

SQL> alter system set sga_max_size=800M scope=spfile;

系统已更改。

恢复参数到默认值

SQL> alter system reset sga_max_size scope=spfile;

Oracle的参数文件的更多相关文章

  1. ORACLE初始化参数文件概述

    ORACLE初始化参数文件概述 在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的.这两种参数文件都是用来存储 ...

  2. oracle的参数文件:pfile和spfile

    1.pfile和spfile Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...

  3. Oracle 初始化参数文件pfile和spfile

    pfile和spfile差额 pfile :Oracle 9i之前.ORACLE使用我们一直PFILE存储的初始化参数,,能够在操作系统级别改动. 当spfile文件改动出现错误导致oracle无法启 ...

  4. oracle参数文件与启动过程

    oracle随系统启动而启动 cs65-64桌面版orcle-11.2.0.4 启动监听器,后台进程,OEM. 注意: 如果只做一和三,只能启动后台进程,监听器不启动,如果只做二和三,只能启动监听器, ...

  5. Oracle 参数文件

    参数文件(10g中的参数文件) 主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库. 如内存池的分配,允许打开的进程数和会话数等. 两类参数 ...

  6. Oracle参数文件—pfile与spfile

    oracle的参数文件:pfile和spfile 1.pfile和spfile       Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的, ...

  7. MYSQL数据库的参数文件

    参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还会介绍各种参数的类型. 参数文件 当MySQL实例启动时,MySQL会先去 ...

  8. ORACLE参数文件

    一.oracle pfile/spfile区别    pfile 默认的名称为“init+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs,这是一个文本文件 ...

  9. oracle参数文件spfile和pfile

    一.参数文件说明 PFILE(Initialiazation Parameter Files)初始化参数文件,是文本文件,可直使用文本编辑器查看.如果数据库使用的是初始化参数文件PFILE,要想永久修 ...

随机推荐

  1. recyclview多条目布局

    多条目基础 http://blog.csdn.net/fangchao3652/article/details/43148871 添加底部加载更多 http://blog.csdn.net/fangc ...

  2. 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法! .

    转载地址:http://blog.csdn.net/zyz511919766/article/details/7442633 原因1:给定目录下jvm.dll不存在. 对策:(1)重新安装jre或者j ...

  3. handler以及AnyscTask处理机制

    1.Handler 主文件:MainActivity.java package com.example.asynctaskdownload; import java.io.IOException; i ...

  4. 关于AnimationState的测试

    修改time信息并不会立马生效,动画信息修改是在这一帧结束统一执行的. 当normalizedTime设置为0-1之外的值时,值并不会被约束回0-1范围,而动画会被约束播放到0-1之间的位置

  5. Animation在每一帧中的执行顺序测试

    测试代码: void Update() { transform.position = Vector3.zero; } void LateUpdate() { Debug.Log(transform.p ...

  6. hiho 第118周 网络流四·最小路径覆盖

    描述 国庆期间正是旅游和游玩的高峰期. 小Hi和小Ho的学习小组为了研究课题,决定趁此机会派出若干个调查团去沿途查看一下H市内各个景点的游客情况. H市一共有N个旅游景点(编号1..N),由M条单向游 ...

  7. ural 1114,计数dp

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1114 题意:N个盒子,a个红球,b个蓝球,把求放到盒子中去,没有任何限制,有多少种放法. ...

  8. 用WebDriver实现基于jira过滤器视图的统计自动化

    在Jira上通过过滤器我们可以做出多种视图,以方便统计我们想要收集的结果.比如:我想查看所有分派给我的任务.在Jira上,我保存了一个过滤器,叫做“分派给我的所有任务”.这个过滤器可以过滤出所有分配给 ...

  9. #pragma 的使用

    #pragma 的使用 尽管 C 和 C++ 都已经有标准,但是几乎每个编译器 (广义,包含连接器等) 扩展一些 C/C++ 关键字. 合理地应用这些关键字,有时候能使我们的工作非常方便.下面随便说说 ...

  10. 公共控件Listview

    ListView属性中,Items是行的总集合,Items集合中的每一个是一行,Items集合里面有ListViewItem集合,这个集合实例化:ListViewItem li=new ListVie ...