ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 参数文件

参数文件

原创 Linux操作系统 作者:yuecaibo 时间:2012-03-04 10:08:25 0 删除 编辑
参数文件 约束实例的行为
 实例的参数 实例受初始化参数影响
 里面都是非默认参数 自定义参数
 有文本和二进制两种
文本
    pfile=parameter file        
    initsid.ora
 缺陷:
  只能是文本文件 存放于文件系统
  不能自动备份
  动态修改的参数,要下次启动
  不能自动校验
  不能共享
  依存于OS编辑器修改
  参数写太长时 校验读取失败
 优点:
  可以使用ifile 共享
二进制
    spfile=server parameter file
    spfilesid.ora
 解决了文本的缺陷
 同时为RAC实现了每个实例使用不同参数 加实例名前缀或星号
 例如:
 *.name=value
 rac1.name=value
 rac2.name=value

查看参数文件中的参数 来自于spfile
select name,value from v$SPparameter;
查看当前系统初始化参数,通过SPfile的参数加载 可能与SPFILE中不同,oracle发现SPFILE设置不合理 会自动调配
select name,value from v$system_parameter;
查看SESSION中的参数 来自于v$system_parameter
select name,value from v$parameter;
 
存放路径$ORACLE_HOME/dbs  windows是$ORACLE_HOME/database
参数文件种类 和区别
 1. pfile
  文本格式
  可以放在客户端
  一直都存在
  命名规则: init.ora 或 init.ora
  
 2. spfile
  二进制格式
  只能放在服务端
  9i之后引入
  命名规则: spfile.ora 或 spfile.ora
  
参数文件的优先级
 spfile.ora
  ==> spfile.ora
   ==> init.ora
    ==> init.ora
SYS@ora10g> !strings /home/oracle/product/10.2.0/dbs/spfileora10g.ora
ora10g.__db_cache_size=205520896
ora10g.__java_pool_size=4194304
ora10g.__large_pool_size=4194304
ora10g.__shared_pool_size=67108864
ora10g.__streams_pool_size=0
*.audit_file_dest='/home/oracle/admin/ora10g/adump'
*.background_dump_dest='/home/oracle/admin/ora10g/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/home/oracle/oradata/ora10g/control01.ctl','/home/oracle/oradata/ora10g/control02.ctl','/home/oracle/oradata/ora10g/control03.ctl'
*.core_dump_dest='/home/oracle/admin/ora10g/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='ora10g'
*.db_recovery_file_dest='/home/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora10gXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/home/oracle/admin/ora10g/udump'
SYS@ora10g>
前面的前缀星号:
 单实例时这样设置无意义 就当成普通参数看待
 RAC时有意义 不同实例可以加载各自的参数

spfile的管理:
    1.如何修改
 alter system set PARAMETER_NAME=VALUE [scope={both|memory|spfile}];

 SYS@ora10g> !strings $ORACLE_HOME/dbs/spfileora10g.ora | grep sga_target
 *.sga_target=285212672
 SYS@ora10g> alter system set sga_target=200M;
 System altered.
 SYS@ora10g> !strings $ORACLE_HOME/dbs/spfileora10g.ora | grep sga_target
 *.sga_target=209715200
 SYS@ora10g>
 
    2.查看当前内存中的参数值
 SYS@ora10g> alter system set sga_target=220M scope=spfile;
 System altered.
 SYS@ora10g> show parameter sga_target
 NAME         TYPE  VALUE
 ------------------------------------ ----------- ------------------------------
 sga_target        big integer 200M
 SYS@ora10g>
 SYS@ora10g> select value from v$parameter where name='sga_target';
 VALUE
 ------------------------------
 209715200
 SYS@ora10g> select value from v$system_parameter where name='sga_target';
 VALUE
 ------------------------------
 209715200
 SYS@ora10g>
 
 
    3.查看参数文件中的参数值
 SYS@ora10g> select value from v$spparameter where name='sga_target';
 VALUE
 ------------------------------
 230686720
 SYS@ora10g>
 SYS@ora10g> !strings $ORACLE_HOME/dbs/spfileora10g.ora | grep sga_target
 *.sga_target=230686720
 SYS@ora10g>

    4.参数种类
 按修改手段分类
  1.动态参数 内存状态(scope=memory)可以修改
  2.静态参数 内存状态不允许修改 只能scope=spfile
  
 SYS@ora10g> alter system set sga_max_size=600M;
 alter system set sga_max_size=600M
                  *
 ERROR at line 1:
 ORA-02095: specified initialization parameter cannot be modified

 SYS@ora10g> 这时只能改spfile 下一次启动时生效
 select name,ISSYS_MODIFIABLE from  V$system_parameter order by 2;
 静态参数ISSYS_MODIFIABLE='FALSE'
 动态参数ISSYS_MODIFIABLE!='FALSE' 
  IMMEDIATE 立即生效
  DEFERRED 延迟生效(新的会话才生效)
pfile管理:
 创建pfile
 SYS@ora10g> !ls $ORACLE_HOME/dbs/*.ora
 /home/oracle/product/10.2.0/dbs/initdw.ora  /home/oracle/product/10.2.0/dbs/spfileora10g.ora
 /home/oracle/product/10.2.0/dbs/init.ora
 SYS@ora10g> create pfile from spfile;
 File created.
 SYS@ora10g> !ls $ORACLE_HOME/dbs/*.ora
 /home/oracle/product/10.2.0/dbs/initdw.ora  /home/oracle/product/10.2.0/dbs/initora10g.ora
 /home/oracle/product/10.2.0/dbs/init.ora    /home/oracle/product/10.2.0/dbs/spfileora10g.ora
 SYS@ora10g>
 同理也支持 create spfile from pfile;
 
 使用文本编辑器直接修改pfile中的参数值

查询时pfile还是spfile启库
 SYS@ora10g> show parameter pfile
 NAME         TYPE  VALUE
 ------------------------------------ ----------- ------------------------------
 spfile         string  /home/oracle/product/10.2.0/db
       s/spfileora10g.ora
 SYS@ora10g> 有值就是spfile
 
 pfile引导实例 静态参数修改文本 重启库
 pfile引导实例 动态参数   临时修改 alter system set NAME=value;
    永久修改  alter system set NAME=value;  并且用编辑器修改pfile文件
        

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24756465/viewspace-717608/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 内存结构
请登录后发表评论 登录
全部评论

注册时间:2012-03-03

  • 博文量
    42
  • 访问量
    37660