创建和管理Oracle初始化参数文件pfile、spfile

创建和管理Oracle初始化参数文件pfile、spfile

分类: Oracle—管理Oracle实例 96人阅读 评论(0) 收藏 举报
  1. 知识点:  
  2.     创建和管理初始化参数文件  
  3.     启动和关闭例程  
  4.     监视和使用诊断文件  
  5.   
  6. 参数文件  
  7.     要启动一个Oracle例程,Oracle服务器必须读取初始化参数文件  
  8.       
  9.     查询参数的两种方式  
  10.     SQL> select name,type,value from v$parameter where name like '%sga%';  
  11.     NAME                       TYPE VALUE  
  12.     -------------------- ---------- ------------------------------  
  13.     sga_max_size                  6 637534208  
  14.     pre_page_sga                  1 FALSE  
  15.     lock_sga                      1 FALSE  
  16.     sga_target                    6 0  
  17.   
  18.     SQL> show parameter sga  
  19.     NAME                                 TYPE        VALUE  
  20.     ------------------------------------ ----------- ------------------------------  
  21.     lock_sga                             boolean     FALSE  
  22.     pre_page_sga                         boolean     FALSE  
  23.     sga_max_size                         big integer 608M  
  24.     sga_target                           big integer 0  
  25.   
  26. PFILE —— initSID.ora  
  27.     PFILE是可使用标准的操作系统编辑器进行维护的文本文件。  
  28.     PFILE在例程启动过程中是只读的。如果文件发生修改,则必须关闭然后重新启动例程以使新的参数值生效。  
  29.     PFILE缺省情况下,位于 $ORACLE_HOME/dbs 目录中,文件名是 initSID.ora  
  30.     [oracle@oracle11g ~]$ cd dbs;  
  31.     [oracle@oracle11g dbs]$ ls -l  
  32.     总计 44  
  33.     -rw-rw---- 1 oracle oinstall  1544 06-11 09:51 hc_wilson.dat  
  34.     -rw-r--r-- 1 oracle oinstall 12920 2001-05-03 initdw.ora  
  35.     -rw-r--r-- 1 oracle oinstall  8385 1998-09-11 init.ora  
  36.     -rw-r----- 1 oracle oinstall    24 06-05 21:40 lkWILSON  
  37.     -rw-r----- 1 oracle oinstall  1536 06-05 21:49 orapwwilson  
  38.     -rw-r----- 1 oracle oinstall  2560 06-11 09:51 spfilewilson.ora  
  39.     没有initwilson.ora  
  40.   
  41.     创建PFILE  
  42.     通过init.ora来构造pfile:做一个init.ora的拷贝,然后修改其中的参数值  
  43.     [oracle@oracle11g old]$ cp init.ora ../initwilson.ora  
  44.   
  45.     通过SPFILE来创建PFILE  
  46.     1.进入$ORACLE_HOME/dbs目录,查看文件如下,可以看见存在spfile不存在pfile  
  47.     [oracle@oracle11g dbs]$ ls  
  48.     hc_wilson.dat  initdw.ora  init.ora  lkWILSON  orapwwilson  spfilewilson.ora  
  49.   
  50.     2.将spfilewilson.ora备份为spfilewilson_bak.ora  
  51.     [oracle@oracle11g dbs]$ mv spfilewilson.ora spfilewilson_bak.ora  
  52.     hc_wilson.dat  init.ora  orapwwilson  
  53.     initdw.ora     lkWILSON  spfilewilson_bak.ora  
  54.   
  55.     3.进入sqlplus,启动数据库,可以发现因为缺少初始化参数文件数据库无法启动  
  56.     SQL> startup;  
  57.     ORA-01078: 处理系统参数失败  
  58.     LRM-00109: 无法打开参数文件 '/u01/oracle/dbs/initwilson.ora'  
  59.   
  60.     4.通过spfile创建pfile  
  61.     SQL> create pfile='/u01/oracle/dbs/initwilson.ora' from spfile='/u01/oracle/dbs/spfilewilson_bak.ora';  
  62.     文件已创建。  
  63.   
  64.     5.查看$ORACLE_HOME/dbs目录,可见initwilson.ora已经创建了  
  65.     [oracle@oracle11g dbs]$ ls  
  66.     hc_wilson.dat  init.ora        lkWILSON     spfilewilson_bak.ora  
  67.     initdw.ora     initwilson.ora  orapwwilson  
  68.   
  69.     6.进入sqlplus,启动数据库来验证是否pfile创建成功  
  70.     SQL> startup;  
  71.     ORACLE 例程已经启动。  
  72.   
  73.     Total System Global Area  636100608 bytes  
  74.     Fixed Size                  1301784 bytes  
  75.     Variable Size             314573544 bytes  
  76.     Database Buffers          314572800 bytes  
  77.     Redo Buffers                5652480 bytes  
  78.     数据库装载完毕。  
  79.     数据库已经打开。  
  80.   
  81. SPFILE —— spfileSID.ora  
  82.     SPFILE简介  
  83.     SPFILE是二进制文件,它位于$ORACLE_HOME/dbs目录中,缺省名称为spfileSID.ora  
  84.     SPFILE由Oracle 服务器进行维护  
  85.     SPFILE始终驻留在服务器端  
  86.     SPFILE所做更改永久有效,不受关闭和启动的影响  
  87.     SPFILE可以自行调节参数值  
  88.     使恢复管理器能够备份初始化参数文件  
  89.     [oracle@oracle11g ~]$ cd dbs;  
  90.     [oracle@oracle11g dbs]$ ls -l  
  91.     总计 44  
  92.     -rw-rw---- 1 oracle oinstall  1544 06-11 09:51 hc_wilson.dat  
  93.     -rw-r--r-- 1 oracle oinstall 12920 2001-05-03 initdw.ora  
  94.     -rw-r--r-- 1 oracle oinstall  8385 1998-09-11 init.ora  
  95.     -rw-r----- 1 oracle oinstall    24 06-05 21:40 lkWILSON  
  96.     -rw-r----- 1 oracle oinstall  1536 06-05 21:49 orapwwilson  
  97.     -rw-r----- 1 oracle oinstall  2560 06-11 09:51 spfilewilson.ora  
  98.       
  99.     查看spfile的内容,strings命令提取一个二进制文件中可打印字符  
  100.     [oracle@oracle11g dbs]$ strings spfilewilson.ora | more  
  101.     wilson.__db_cache_size=314572800  
  102.     wilson.__java_pool_size=12582912  
  103.     wilson.__large_pool_size=4194304  
  104.     wilson.__oracle_base='/u01'#ORACLE_BASE set from environment  
  105.     ......  
  106.       
  107.     通过pfile来创建spfile  
  108.     1.进入$ORACLE_HOME/dbs目录,查看文件如下,可以看见存在pfile不存在spfile  
  109.     [oracle@oracle11g dbs]$ ls  
  110.     hc_wilson.dat  init.ora        lkWILSON     spfilewilson_bak.ora  
  111.     initdw.ora     initwilson.ora  orapwwilson  
  112.   
  113.   
  114.     2.将initwilson.ora备份为sinitwilson_bak.ora  
  115.     [oracle@oracle11g dbs]$ mv initwilson.ora initwilson_bak.ora  
  116.     [oracle@oracle11g dbs]$ ls  
  117.     hc_wilson.dat  init.ora            lkWILSON     spfilewilson_bak.ora  
  118.     initdw.ora     initwilson_bak.ora  orapwwilson  
  119.   
  120.     3.进入sqlplus,启动数据库,可以发现因为缺少初始化参数文件数据库无法启动  
  121.     SQL> shutdown abort;  
  122.     ORACLE 例程已经关闭。  
  123.     SQL> startup;  
  124.     ORA-01078: failure in processing system parameters  
  125.     LRM-00109: 无法打开参数文件 '/u01/oracle/dbs/initwilson.ora'  
  126.   
  127.     4.通过pfile创建spfile  
  128.     SQL> create spfile='/u01/oracle/dbs/spfilewilson.ora' from pfile='/u01/oracle/dbs/initwilson_bak.ora';  
  129.     文件已创建。  
  130.   
  131.     5.查看$ORACLE_HOME/dbs目录,可见spfilewilson.ora已经创建了  
  132.     [oracle@oracle11g dbs]$ ls  
  133.     hc_wilson.dat  init.ora            lkWILSON     spfilewilson_bak.ora  
  134.     initdw.ora     initwilson_bak.ora  orapwwilson  spfilewilson.ora  
  135.   
  136.   
  137.     6.进入sqlplus,启动数据库来验证是否spfile创建成功  
  138.     SQL> shutdown abort;  
  139.     ORACLE 例程已经关闭。  
  140.     SQL> startup;  
  141.     ORACLE 例程已经启动。  
  142.   
  143.     Total System Global Area  636100608 bytes  
  144.     Fixed Size                  1301784 bytes  
  145.     Variable Size             314573544 bytes  
  146.     Database Buffers          314572800 bytes  
  147.     Redo Buffers                5652480 bytes  
  148.     数据库装载完毕。  
  149.     数据库已经打开。  
  150.   
  151.     修改spfile的内容  
  152.     语法结构  
  153.         ALTER SYSTEM SET parameter_name = parameter_value [COMMENT 'text'] [SCOPE = MEMORY|SPFILE|BOTH] [deferred] [SID=  'sid '| '* ']  
  154.         parameter_name:要更改的参数的名称  
  155.         parameter_value:要将参数更改为的值  
  156.         COMMENT:添加在SPFILE 中被更改的参数旁的注释  
  157.         SCOPE:确定应在内存中、在 SPFILE 中还是同时在这两个位置进行更改  
  158.         MEMORY :只能在当前运行的例程中更改参数值  
  159.         SPFILE :只能在SPFILE 中更改参数值  
  160.         BOTH:在当前运行的例程和SPFILE 中均可更改参数值  
  161.         SID:标识要使用的SPFILE 的ORACLE_SID  
  162.         'sid':更改SPFILE 时使用的特定 SID  
  163.         '*':使用缺省SPFILE  
  164.         deferred:下次生效  
  165.       
  166.     例1 修改内存和spfile中的参数值  
  167.         1. 查看参数值  
  168.         SQL> show parameter fast_  
  169.         NAME                                 TYPE        VALUE  
  170.         ------------------------------------ ----------- ------------------------------  
  171.         fast_start_io_target                 integer     0  
  172.         fast_start_mttr_target               integer     0  
  173.         fast_start_parallel_rollback         string      LOW  
  174.           
  175.         2. 修改参数值  
  176.         SQL> alter system set fast_start_mttr_target = 300;  
  177.         系统已更改。  
  178.           
  179.         3. 查看内存中参数的值  
  180.         SQL> show parameter fast_  
  181.         NAME                                 TYPE        VALUE  
  182.         ------------------------------------ ----------- ------------------------------  
  183.         fast_start_io_target                 integer     0  
  184.         fast_start_mttr_target               integer     300  
  185.         fast_start_parallel_rollback         string      LOW  
  186.           
  187.         4. 查看spfile文件中参数的值  
  188.         [oracle@oracle11g dbs]$ strings spfilewilson.ora | more  
  189.         *.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)'  
  190.         *.fast_start_mttr_target=300  
  191.         *.memory_target=635437056  
  192.         ......  
  193.       
  194.     例2 只修改内存中的参数的值  
  195.         1. 查看参数值  
  196.         SQL> show parameter fast_  
  197.         NAME                                 TYPE        VALUE  
  198.         ------------------------------------ ----------- ------------------------------  
  199.         fast_start_io_target                 integer     0  
  200.         fast_start_mttr_target               integer     300  
  201.         fast_start_parallel_rollback         string      LOW  
  202.   
  203.         2. 修改参数值  
  204.         SQL> alter system set fast_start_mttr_target = 250 scope = memory;  
  205.         系统已更改。  
  206.   
  207.         3. 查看内存  
  208.         SQL> show parameter fast_  
  209.         NAME                                 TYPE        VALUE  
  210.         ------------------------------------ ----------- ------------------------------  
  211.         fast_start_io_target                 integer     0  
  212.         fast_start_mttr_target               integer     250  
  213.         fast_start_parallel_rollback         string      LOW  
  214.   
  215.         4. 查看spfile中参数的值  
  216.         [oracle@oracle11g dbs]$ strings spfilewilson.ora | more  
  217.         *.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)'  
  218.         *.fast_start_mttr_target=300  
  219.         *.memory_target=635437056 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值