创建和管理Oracle初始化参数文件pfile、spfile
2012-08-16 10:31
876 查看
创建和管理Oracle初始化参数文件pfile、spfile
分类:Oracle—管理Oracle实例 2012-06-11 17:09
96人阅读 评论(0)
收藏
举报
知识点:
创建和管理初始化参数文件
启动和关闭例程
监视和使用诊断文件
参数文件
要启动一个Oracle例程,Oracle服务器必须读取初始化参数文件
查询参数的两种方式
SQL> select name,type,value from v$parameter where name like '%sga%';
NAME TYPE VALUE
-------------------- ---------- ------------------------------
sga_max_size 6 637534208
pre_page_sga 1 FALSE
lock_sga 1 FALSE
sga_target 6 0
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 608M
sga_target big integer 0
PFILE —— initSID.ora
PFILE是可使用标准的操作系统编辑器进行维护的文本文件。
PFILE在例程启动过程中是只读的。如果文件发生修改,则必须关闭然后重新启动例程以使新的参数值生效。
PFILE缺省情况下,位于 $ORACLE_HOME/dbs 目录中,文件名是 initSID.ora
[oracle@oracle11g ~]$ cd dbs;
[oracle@oracle11g dbs]$ ls -l
总计 44
-rw-rw---- 1 oracle oinstall 1544 06-11 09:51 hc_wilson.dat
-rw-r--r-- 1 oracle oinstall 12920 2001-05-03 initdw.ora
-rw-r--r-- 1 oracle oinstall 8385 1998-09-11 init.ora
-rw-r----- 1 oracle oinstall 24 06-05 21:40 lkWILSON
-rw-r----- 1 oracle oinstall 1536 06-05 21:49 orapwwilson
-rw-r----- 1 oracle oinstall 2560 06-11 09:51 spfilewilson.ora
没有initwilson.ora
创建PFILE
通过init.ora来构造pfile:做一个init.ora的拷贝,然后修改其中的参数值
[oracle@oracle11g old]$ cp init.ora ../initwilson.ora
通过SPFILE来创建PFILE
1.进入$ORACLE_HOME/dbs目录,查看文件如下,可以看见存在spfile不存在pfile
[oracle@oracle11g dbs]$ ls
hc_wilson.dat initdw.ora init.ora lkWILSON orapwwilson spfilewilson.ora
2.将spfilewilson.ora备份为spfilewilson_bak.ora
[oracle@oracle11g dbs]$ mv spfilewilson.ora spfilewilson_bak.ora
hc_wilson.dat init.ora orapwwilson
initdw.ora lkWILSON spfilewilson_bak.ora
3.进入sqlplus,启动数据库,可以发现因为缺少初始化参数文件数据库无法启动
SQL> startup;
ORA-01078: 处理系统参数失败
LRM-00109: 无法打开参数文件 '/u01/oracle/dbs/initwilson.ora'
4.通过spfile创建pfile
SQL> create pfile='/u01/oracle/dbs/initwilson.ora' from spfile='/u01/oracle/dbs/spfilewilson_bak.ora';
文件已创建。
5.查看$ORACLE_HOME/dbs目录,可见initwilson.ora已经创建了
[oracle@oracle11g dbs]$ ls
hc_wilson.dat init.ora lkWILSON spfilewilson_bak.ora
initdw.ora initwilson.ora orapwwilson
6.进入sqlplus,启动数据库来验证是否pfile创建成功
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 636100608 bytes
Fixed Size 1301784 bytes
Variable Size 314573544 bytes
Database Buffers 314572800 bytes
Redo Buffers 5652480 bytes
数据库装载完毕。
数据库已经打开。
SPFILE —— spfileSID.ora
SPFILE简介
SPFILE是二进制文件,它位于$ORACLE_HOME/dbs目录中,缺省名称为spfileSID.ora
SPFILE由Oracle 服务器进行维护
SPFILE始终驻留在服务器端
SPFILE所做更改永久有效,不受关闭和启动的影响
SPFILE可以自行调节参数值
使恢复管理器能够备份初始化参数文件
[oracle@oracle11g ~]$ cd dbs;
[oracle@oracle11g dbs]$ ls -l
总计 44
-rw-rw---- 1 oracle oinstall 1544 06-11 09:51 hc_wilson.dat
-rw-r--r-- 1 oracle oinstall 12920 2001-05-03 initdw.ora
-rw-r--r-- 1 oracle oinstall 8385 1998-09-11 init.ora
-rw-r----- 1 oracle oinstall 24 06-05 21:40 lkWILSON
-rw-r----- 1 oracle oinstall 1536 06-05 21:49 orapwwilson
-rw-r----- 1 oracle oinstall 2560 06-11 09:51 spfilewilson.ora
查看spfile的内容,strings命令提取一个二进制文件中可打印字符
[oracle@oracle11g dbs]$ strings spfilewilson.ora | more
wilson.__db_cache_size=314572800
wilson.__java_pool_size=12582912
wilson.__large_pool_size=4194304
wilson.__oracle_base='/u01'#ORACLE_BASE set from environment
......
通过pfile来创建spfile
1.进入$ORACLE_HOME/dbs目录,查看文件如下,可以看见存在pfile不存在spfile
[oracle@oracle11g dbs]$ ls
hc_wilson.dat init.ora lkWILSON spfilewilson_bak.ora
initdw.ora initwilson.ora orapwwilson
2.将initwilson.ora备份为sinitwilson_bak.ora
[oracle@oracle11g dbs]$ mv initwilson.ora initwilson_bak.ora
[oracle@oracle11g dbs]$ ls
hc_wilson.dat init.ora lkWILSON spfilewilson_bak.ora
initdw.ora initwilson_bak.ora orapwwilson
3.进入sqlplus,启动数据库,可以发现因为缺少初始化参数文件数据库无法启动
SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> startup;
ORA-01078: failure in processing system parameters
LRM-00109: 无法打开参数文件 '/u01/oracle/dbs/initwilson.ora'
4.通过pfile创建spfile
SQL> create spfile='/u01/oracle/dbs/spfilewilson.ora' from pfile='/u01/oracle/dbs/initwilson_bak.ora';
文件已创建。
5.查看$ORACLE_HOME/dbs目录,可见spfilewilson.ora已经创建了
[oracle@oracle11g dbs]$ ls
hc_wilson.dat init.ora lkWILSON spfilewilson_bak.ora
initdw.ora initwilson_bak.ora orapwwilson spfilewilson.ora
6.进入sqlplus,启动数据库来验证是否spfile创建成功
SQL> shutdown abort;
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 636100608 bytes
Fixed Size 1301784 bytes
Variable Size 314573544 bytes
Database Buffers 314572800 bytes
Redo Buffers 5652480 bytes
数据库装载完毕。
数据库已经打开。
修改spfile的内容
语法结构
ALTER SYSTEM SET parameter_name = parameter_value [COMMENT 'text'] [SCOPE = MEMORY|SPFILE|BOTH] [deferred] [SID= 'sid '| '* ']
parameter_name:要更改的参数的名称
parameter_value:要将参数更改为的值
COMMENT:添加在SPFILE 中被更改的参数旁的注释
SCOPE:确定应在内存中、在 SPFILE 中还是同时在这两个位置进行更改
MEMORY :只能在当前运行的例程中更改参数值
SPFILE :只能在SPFILE 中更改参数值
BOTH:在当前运行的例程和SPFILE 中均可更改参数值
SID:标识要使用的SPFILE 的ORACLE_SID
'sid':更改SPFILE 时使用的特定 SID
'*':使用缺省SPFILE
deferred:下次生效
例1 修改内存和spfile中的参数值
1. 查看参数值
SQL> show parameter fast_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_io_target integer 0
fast_start_mttr_target integer 0
fast_start_parallel_rollback string LOW
2. 修改参数值
SQL> alter system set fast_start_mttr_target = 300;
系统已更改。
3. 查看内存中参数的值
SQL> show parameter fast_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_io_target integer 0
fast_start_mttr_target integer 300
fast_start_parallel_rollback string LOW
4. 查看spfile文件中参数的值
[oracle@oracle11g dbs]$ strings spfilewilson.ora | more
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)'
*.fast_start_mttr_target=300
*.memory_target=635437056
......
例2 只修改内存中的参数的值
1. 查看参数值
SQL> show parameter fast_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_io_target integer 0
fast_start_mttr_target integer 300
fast_start_parallel_rollback string LOW
2. 修改参数值
SQL> alter system set fast_start_mttr_target = 250 scope = memory;
系统已更改。
3. 查看内存
SQL> show parameter fast_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_io_target integer 0
fast_start_mttr_target integer 250
fast_start_parallel_rollback string LOW
4. 查看spfile中参数的值
[oracle@oracle11g dbs]$ strings spfilewilson.ora | more
*.dispatchers='(PROTOCOL=TCP) (SERVICE=wilsonXDB)'
*.fast_start_mttr_target=300
*.memory_target=635437056
相关文章推荐
- Oracle 初始化参数文件pfile和spfile
- Oracle 初始化参数文件pfile和spfile
- Oracle初始化参数文件spfile 和 pfile
- oracle初始化参数文件管理
- Oracle 的参数文件pfile与spfile
- Oracle pfile/spfile参数文件详解
- Oracle学习笔记1-Oracle中的启动参数文件:spfile和pfile
- oracle初始化参数文件的管理!
- oracle的参数文件 pfile和spfile
- pfile,spfile 初始化参数文件顺序【weber出品】
- oracle的参数文件:pfile和spfile
- Oracle的参数文件pfile和spfile
- oracle参数文件spfile和pfile
- oracle的参数文件 pfile和spfile
- [oracle]初始化参数文件spfile、pfile及修改参数的两种方式
- Oracle 参数文件 spfile  pfile
- oracle的参数文件,服务器参数文件pfile,spfile
- Oracle 9i/10g pfile/spfile 参数文件详解
- Oracle学习笔记1-Oracle中的启动参数文件:spfile和pfile
- oracle 参数文件 pfile/spfile ---详解