参数文件作用:主要用来记录数据库配置信息,数据库在启动时,需要读取参数文件中关于控制文件的信息,分配内存,打开进程,会话等。数据库启动时第一个读取参数文件。

参数文件分类:

1)pfile:文本文件,vim编辑器编辑,文件名:init<sid>.ora

2)spfile:二进制文件,9i后推出使用,服务器参数文件,只能存在服务器端,文件名:spfile<sid>.ora,可以被rman备份。

区别:

pfile:文本,可被vi编辑,init<sid>.ora

spfile:二进制,服务器端,spfile<sid>.ora,可以被rman备份,只能被alter session|system命令修改。

修改方式不同:pfile可用vi编辑;spfile只能通过alter session|system命令修改。

优先级别:1)spfile<sid>.ora  2)spfile.ora    3)init<sid>.ora 如果三个文件都不存在,oracle启动报错。

存在位置不同:pfile可以在客户端也可以在服务器端;spfile只能存放在服务器端。

参数文件路径:

spfie:$ORACLE_HOME/dbs/spfile<SID>.ora

[oracle@localhost dbs]$ ls $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

/u01/oracle/10g/dbs/spfileorcl.ora

[oracle@localhost dbs]$ ls $ORACLE_HOME/dbs/spfilerezin.ora

pfile:

         9i: $ORACLE_HOME/dbs/init$ORACLE_SID.ora

         10g: [oracle@localhost dbs]$ ls $ORACLE_BASE/admin/$ORACLE_SID/pfile/

init.ora.21220155120

参数文件转换:以下命令都可以指定路径,如果不指定路径则新生成文件存放默认路径。

从spfile-->pfile:

SQL>create pfile='<路径>' from spfile='<路径>';

从pfile-->spfile:

SQL>create spfile='<路径>' from pfile='<路径>';

11g新指令:

SQL>create spfile='<路径>' from memory;

使用指定参数文件启动数据库:SQL>startup pfile|spfile='<路径>';

SQL>startup pfile='$ORACLE_HOME/dbs/initorcl.ora';

修改参数文件方法:通过pfile修改spfile

手工编辑pfile文件:[oracle@localhost dbs]$ vi initorcl.ora

关闭数据库:SQL>shutdown immediate

使用指定参数文件启动数据库:SQL>startup pfile='$ORACLE_HOME/dbs/initorcl.ora';

重新生成spfile文件:SQL>create spfile from pfile;

如何知道当前数据库使用的是哪一个参数文件启动的:

方法一:查看当前数据库实例名:查询service_name参数或者查询v$instance视图。

SQL> show parameter service_name

NAME                                 TYPE        VALUE

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

service_names                          string         orcl

SQL>select instance_name from v$instance;

INSTANCE_NAME

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

orcl

查看当前使用的是哪一个参数文件:

SQL> select distinct ISSPECIFIED  from v$spparameter;

ISSPEC

------

TRUE

FALSE

第一个值为true表示spfile启动,否则pfile启动。

方法二:alter system|session修改参数文件,能修改spfile起动,反之,pfile起动。

修改参数文件:

pfile:vi编辑,下次启动生效。

spfile:alter system|session set parametername=<parametername>

scope=memory | spfile |both sid=<'sid'>|'*';

         memory:表示只修改当前实例内存有效,下次启动失效。

spfile:针对spfile修改,下次启动生效。

both:当前内存和spfile都被修改,不指定scope即是此项(默认)。

可以从v$parameter视图中来得到哪些可以使用alter system修改,哪些可以使用alter session来修改。

SQL> col name for a40

SQL> select NAME,ISSES_MODIFIABLE,ISSYS_MODIFIABLE from v$parameter

2  where name like 'sql%';

NAME ISSES ISSYS_MOD

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

sql_trace                                TRUE  IMMEDIATE

sql92_security                           FALSE FALSE

sql_version                              TRUE  FALSE

sqltune_category                         TRUE  IMMEDIATE

SQL> select distinct issys_modifiable from v$parameter;

ISSYS_MOD

---------

IMMEDIATE   /*动态参数,直接修改到内存的参数alter system set <> = <>,后面不需要跟scope*/

FALSE       /*静态参数,不能直接修改到内存,alter system set <> = <> scope = spfile*/

DEFERRED    /*会话级别参数,直接通过alter session set <> = <>*/

常用参数:[oracle@localhost dbs]$ vim $ORACLE_HOME/dbs/initorcl.ora

orcl.__db_cache_size=192937984

orcl.__java_pool_size=4194304

orcl.__large_pool_size=4194304

orcl.__shared_pool_size=75497472

orcl.__streams_pool_size=0

*.audit_file_dest='/u01/oracle/admin/orcl/adump'

*.background_dump_dest='/u01/oracle/admin/orcl/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl'

*.core_dump_dest='/u01/oracle/admin/orcl/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

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

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'

*.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='/u01/oracle/admin/orcl/udump'

隐藏参数:死马当活马医,不建议用。

SQL> desc x$ksppi /*Name列中为隐藏参数的名字*/

Name Null?    Type

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

ADDR                                               RAW(4)

INDX                                               NUMBER

INST_ID                                            NUMBER

KSPPINM                                            VARCHAR2(80)

KSPPITY                                            NUMBER

KSPPDESC                                           VARCHAR2(255)

KSPPIFLG                                           NUMBER

KSPPILRMFLG                                        NUMBER

KSPPIHASH                                          NUMBER

--下面视图中为隐藏参数的值

SQL> desc x$ksppcv

Name Null?    Type

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

ADDR                                               RAW(4)

INDX                                               NUMBER

INST_ID                                            NUMBER

KSPPSTVL                                           VARCHAR2(512)

KSPPSTDVL                                          VARCHAR2(512)

KSPPSTDF                                           VARCHAR2(9)

KSPPSTVF                                           NUMBER

KSPPSTCMNT                                         VARCHAR2(255)

--使用下面的命令来查看系统中的隐藏参数;

SQL> select ksppinm,ksppstvl from x$ksppi a,x$ksppcv b where a.indx = b.indx and ksppinm like '%_allow%';

KSPPINM                                                            KSPPSTVL

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

_allow_level_without_connect_by                                    FALSE

_asm_allow_only_raw_disks                                          TRUE

_asm_allow_resilver_corruption                                     FALSE

 

 

参数删除:恢复默认值。

pfile:可以直接vi或vim修改或删除。

spfile:以下命令进行删除,参数文件将恢复默认值。

SQL>alter system|session reset parametername=<name>

scope= memory | spfile |both sid=<'sid'>|'*';

查看参数文件:show parameter <参数文件名称|名称关键字>

事件参数:events

                   修改事件参数:alter session set events <>;

练习:

1、pfile和spfile的修改?

pfile可以直接通过vim编辑器修改;spfile可以通过vim修改pfile-->shutdown immediate-->startup pfile='路径'-->create spfile from pfile,spfile也可以通过alter system|session set parametername=<values> scope=memory|spfile|both sid='<sid|*>';方法修改。

2、区分系统用哪个参数文件启动?

通过查询v$spparameter视图中ISSPECIFIED字段值查看;也可以通过修改系统参数alter

system|session set 方式,如果修改成功则证明是spfile启动,反之pfile启动。

3、总结出最少的参数启动数据库需要哪些参数?

4、熟悉常用的隐藏参数?

Oracle体系结构之参数文件管理的更多相关文章

  1. Oracle体系结构之控制文件管理

    控制文件作用:记录了数据库的结构和行为,有多少个数据文件,日志文件及其位置名称,状态,维护数据库的一致性,即记录了数据库的启动SCN号和终止SCN号. 控制文件的位置和个数记录在参数文件中,通常控制文 ...

  2. Oracle体系结构之数据文件管理

    数据文件分2个方向管理: 物理结构和逻辑结构. 数据库的存储层次结构图: ............. 逻辑结构:                                  物理结构: .... ...

  3. Oracle体系结构之密码文件管理

    oracle密码文件主要用来控制sysdba和sysoper用户用于远程登录.通常,oracle用户登录database有两种方式,一种是通过本地操作系统验证登录,一种是通过密码文件验证登录. 操作系 ...

  4. oracle 体系结构

    oracle 体系结构 数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. 1. oracle工作原理: 1).在数据库服务器上启动Oracle实例:2).应用程序 ...

  5. Oracle实例和Oracle数据库(Oracle体系结构)

    --========================================== --Oracle实例和Oracle数据库(Oracle体系结构) --==================== ...

  6. 【转载】Oracle实例和Oracle数据库(Oracle体系结构)

    免责声明:     本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除.     原文作者:Leshami      原文地址:http://blog.csdn.net/ ...

  7. oracle 体系结构解析

    三.oracle 体系结构 1.oracle内存由SGA+PGA所构成 2.oracle数据库体系结构数据库的体系结构是指数据库的组成.工作过程与原理,以及数据在数据库中的组织与管理机制. oracl ...

  8. Oracle 课程一之Oracle体系结构

    课程目标 •理解ORACLE数据库体系架构—内存结构和进程 •理解SQL在数据库中的运作流程 •理解UNDO&REDO原理 •理解commit原理   1.Oracle数据库概述 •数据库:物 ...

  9. oracle体系结构

    oracle体系结构有四个部分组成分别为:oracle 服务器.用户进程.服务器进程.其他关键文件.其中oracle服务器又有实例(instance)和database组成是一个数据库管理系统. 一. ...

随机推荐

  1. 记安装ubuntu server和一些程序

    1. 安装ubuntu server 按照流程走了一遍,一切画面都正常,就是重启后界面只有一个光标闪啊闪,我不知道应该再装一遍还是找老大来解决,想了下,以前电脑就是因为出错才重装的,现在这个情况有可能 ...

  2. HDOJ 4276 The Ghost Blows Light(树形DP)

    Problem Description My name is Hu Bayi, robing an ancient tomb in Tibet. The tomb consists of N room ...

  3. Ansible 管理任务计划

    ansible 使用 cron 模块来管理任务计划: [root@localhost ~]$ ansible 192.168.119.134 -m cron -a "name='test c ...

  4. 查看sql server日志

    如果是查询当前已经连接到服务器的用户 select loginame, * from master.dbo.sysprocesses 查看sql 的操作日志记录 SELECT * From ::fn_ ...

  5. Java并发编程--BlockingQueue

    概述 BlockingQueue支持两个附加操作的Queue:1)当Queue为空时,获取元素线程被阻塞直到Queue变为非空:2)当Queue满时,添加元素线程被阻塞直到Queue不满.Blocki ...

  6. 《转》Python学习(14)-对文件的操作(一)

    转自 http://www.cnblogs.com/BeginMan/p/3166644.html 一.文件对象 我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作. <Python ...

  7. Stratix内嵌存储器测试报告

         Stratix和Stratix GX系列器件内嵌TriMatrix存储块包括512-bit M512块.4-Kbit M4K块及512-Kbit M-RAM块.TriMatrix存储结构可对 ...

  8. 《征服C指针》读书笔记

    本文同时发布在我的个人博客上,欢迎访问~ www.seekingdream.cn 在读完K&R之后,对C的认识就是指针.数组.网上的人们对指针也有些“敬而远之”的感觉.最近从同学处淘得< ...

  9. Web服务器配置Gzip压缩提升网站性能

    前言: HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度.这一般是指WWW服务器中安装的一个功能,当有人来访问这个服 ...

  10. war部署到tomcat

    gs-rest-service-0.1.0.war复制到tomcat-9.0.0.M17\webapps\ 打开server.xml,这Host节点,加入<Context path=" ...