一, 认识参数文件

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

  1,spfile

     这个是oracle9i之后映入的概念:

      SPfile(Server Parameter File,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。可以再sql命令里面更改,或者二进制编写.spfile 默认的名称为“spfile+例程名.ora”文件路径:$ORACLE_HOME/dbs 以二进制文本形式存在.

    动态修改参数的模式 

alter system set parameter=Value scope={spfile|both|memory} 

    SPfile 三种模式:

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

    对参数的修改同时记录在内存中和服务器端的初始化参数文件中。为默认使用值。

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

    对参数的修改仅记录在服务器初始化参数文件中。该选项同时适用于动态与静态的初始化参数。修改后的参数只有下一次启动数据库时更改才会生效。

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

    对参数的修改记录在内存中,对于动态初始化参数,更改立即生效。修改并不会被记录在服务器端的初始化参数中。下一次启动数据库时更改失效,不能用于静态初始化参数。

  2,pfile

    初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用pfile方式存储初始化参数,pfile 默认的名称为“init+例程名.ora”文件路径:$ORACLE_HOME/dbs,这是一个文本文件,可用查看内容

二,区别体现

  01,Spfile 对比pfile来说

      可以用RMAN来备份spfile,但是不能备份pfile

      减少了人为的错误。spfile由服务器来管理,任何参数改变被接受前都会经过严格处理

      消除了配置问题,如果远程启动oracle服务器,不再需要一个本地的pfile

       不能修改参数文件,二进制形式

         里面有动态参数,可以在线修改,而不用重启oracle;

  02,pfile优点

      可以使用文本编辑器进行编辑

      远程拷贝,拖过来改配置就能继续用

  03,大家的对比

    pfile文件可以用文本编辑器打开手工配置、而spfile不行,只能通过SQL命令在线修改。

    修改文件spfile支持在线修改,pfile只能重新启动读取

三, 启动读取顺序 

    1、直接在默认路径下查找spfileSID.ora --(spfile)

      如果没有再查找2

    2、直接在默认路径下查找spfile.ora

      如果没有再查找3

    3、直接在默认路径下查找initSID.ora --(pfile)

      如果还没有 那就会报错了

   顺序: spfileSID.ora----->spfile.ora------>initSID.ora

    当然也有指定pfile启动

startup pfile=$ORACLE_HOME/dbs/initSID.ora

四,相互转换与查看

    查看spfile或者pfile的位置信息

 SQL> SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';

 NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
DISPLAY_VALUE
--------------------------------------------------------------------------------
spfile
/u01/app/oracle/product/11.2.0/db_1/dbs/spfileoracle01.ora
/u01/app/oracle/product/11.2.0/db_1/dbs/spfileoracle01.ora
 SQL> show parameter pfile

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

    查看启动数据库的类型

 select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE';
主库:
SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE'; DECODE
------
spfile 从库:
SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE'; DECODE
------
pfile

    相互创建:

SQL> create pfile from spfile ;

File created.

SQL>
或者 SQL> create spfile from pfile ; File created. SQL> 格式:
CREATE SPFILE=’spfilename’ FROM PFILE=’pfilename’

五,spfile 动态修改

  scope=both: 立即生效

 SQL> show parameter pga;

 NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 798M SQL> alter system set pga_aggregate_target = 900m scope=both;
System altered.
SQL> show parameter pga; SQL> show parameter pga; NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 900M

    静态文件的话就不行了:

  报错:

    * ERROR at line 1:

    ORA-02095: specified initialization parameter cannot be modified

六,pfile 文件参数详解

  

 # Cache and I/O     高速缓存和 I/O

 db_block_size=8192   指定数据块大小为8KB
db_cache_size=33554432 指定数据缓冲区为32MB,该值越大,可以减少对数据库文件的I/O次数,提高效率
db_file_multiblock_read_count=16 # Cursors and Library Cache 游标和库高速缓存 open_cursors=300 指定一个会话一次可以打开的游标的最大数量为300,应将该值设置得足够高,这样才能防止应用程序耗尽打开的游标 # Database Identification 数据库标识 db_domain="" 数据库域名为mynet,加上数据库名称db_name构成全局数据库名称
db_name=oracle01 数据库名称为myoracle # Diagnostics and Statistics 诊断和统计 background_dump_dest=/opt/oracle/admin/cicro/bdump 后台进程跟踪文件目录
core_dump_dest=/opt/oracle/admin/cicro/cdump 核心转储跟踪文件目录
timed_statistics=TRUE 收集操作系统的计时信息,这些信息可被用来优化数据库和 SQL 语句
user_dump_dest=/opt/oracle/admin/cicro/udump 用户进程跟踪文件目录 # File Configuration
control_files=("/opt/oracle/oradata/cicro/control01.ctl", "/opt/oracle/oradata/cicro/control02.ctl", "/opt/oracle/oradata/cicro/control03.ctl") 指定控制文件的路径及文件名 # Instance Identification 网络注册 instance_name=test 例程名称为test # Job Queues
job_queue_processes=10 # MTS 多线程服务器配置标识,在Oracle 9i里称为共享服务器配置 dispatchers="(PROTOCOL=TCP) (SERVICE=testXDB)" 多线程服务器配置 # Miscellaneous 其他 aq_tm_processes=1
compatible=9.2.0.0.0 兼容版本9.2.0 # Optimizer hash_join_enabled=TRUE
query_rewrite_enabled=FALSE
star_transformation_enabled=FALSE
db_name=cicro # Pools 池 java_pool_size=83886080 指定Java存储池的大小为32MB,用于存储 Java 的方法、类定义和Java对象。
large_pool_size=16777216 指定大型池的大小为1MB, 用于共享服务器的会话内存、并行执行的消息缓冲区以及RMAN备份和恢复的磁盘 I/O 缓冲区。
shared_pool_size=83886080 指定共享池的大小为32MB,用于存储共享游标、存储的过程、控制结构和并行执行消息缓冲区等对象。较大的值能改善多用户系统的性能. # Processes and Sessions 进程和会话 processes=150 指定可同时连接到一个Oracle Server上的操作系统用户进程的最大数量为150 # Redo Log and Recovery 重做日志和恢复 fast_start_mttr_target=300 指定从单个数据库例程崩溃中恢复所需的时间为300秒 # Security and Auditing 安全与验证 remote_login_passwordfile=EXCLUSIVE 指定操作系统或口令文件是否具有检查用户口令的权限。设置为EXCLUSIVE, 将使用数据库的口令文件对每个具有权限的用户进. # Sort, Hash Joins, Bitmap Indexes 排序, 散列联接, 位图索引 pga_aggregate_target=25165824
sort_area_size=524288 指定排序区使用的最大内存量为512KB。排序完成后, 各行将返回, 并且内存将释放。增大该值可以提高大型排序的效率。 # System Managed Undo and Rollback Segments 系统管理的撤消和回退段 undo_management=AUTO 指定系统使用的撤消空间管理方式为SMU 方式,在SMU方式下, 撤消空间会像撤消表空间一样在外部分配.
undo_retention=10800
undo_tablespace=UNDOTBS1 指定回滚表空间为UNDOTBS

    

    

    

oracle基础知识(六)----spfile与pfile的更多相关文章

  1. Oracle基础知识汇总一

    Oracle基础知识 以下内容为本人的学习笔记,如需要转载,请声明原文链接   https://www.cnblogs.com/lyh1024/p/16720759.html oracle工具: SQ ...

  2. 图说Oracle基础知识(一)

    本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...

  3. python基础知识六 文件的基本操作+菜中菜

    基础知识六 文件操作 ​ open():打开 ​ file:文件的位置(路径) ​ mode:操作文件模式 ​ encoding:文件编码方式 ​ f :文件句柄 f = open("1.t ...

  4. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  5. Oracle 基础知识入门

    前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...

  6. 判断ORACLE启动时使用spfile还是pfile

    自Oracle 9i以后启动的时候默认使用的初始化文件是spfile,我们可以通过如下三种方式来判断是SPFILE还是PFILE方式启动数据库.1.show parameter spfile2.sho ...

  7. Oracle基础知识笔记(10) 约束

    表尽管建立完毕了,可是表中的数据是否合法并不能有所检查,而假设要想针对于表中的数据做一些过滤的话,则能够通过约束完毕,约束的主要功能是保证表中的数据合法性,依照约束的分类,一共同拥有五种约束:非空约束 ...

  8. 第三周博客之一---Oracle基础知识

    一.数据库的定义.作用介绍 1.定义:按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库. 2.数据库的发展历史: 2.1.在1962年数据库一词出现在系统研发的公司的技术备忘录中 2. ...

  9. 2008-03-18 22:58 oracle基础知识小结

    oracle 数据类型: 字段类型                 中文说明                                                  限制条件         ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议42:使用泛型参数兼容泛型接口的不可变性

    建议42:使用泛型参数兼容泛型接口的不可变性 让返回值类型返回比声明的类型派生程度更大的类型,就是“协变”.如: public Employee GetAEmployee(string name) { ...

  2. Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别与使用

    1.首先看下最简单的SSE: 只用支持SSE的浏览器(大部分)即可,浏览器内置EventSource对象,该对象默认隔三秒刷新一下response的数据. HTML代码(取自w3cschool): & ...

  3. 尝鲜.net core2.1 ——编写一个global tool

    本文内容参考微软工程师Nate McMaster的博文.NET Core 2.1 Global Tools 用过npm开发都知道,npm包都可以以全局的方式安装,例如安装一个http-server服务 ...

  4. 基于任务的异步编程模式(TAP)

    异步编程是C#5.0的一个重要改进,提供两个关键字:async和await.使用异步编程,方法的调用是在后台运行(通常在线程或任务的帮助下),但不会阻塞调用线程.异步模式分为3种:异步模式.基于事件的 ...

  5. docker 镜像创建

    dockerfile FROM microsoft/aspnetcore:2.0 ARG source WORKDIR /app EXPOSE COPY ${source:-/} . ENTRYPOI ...

  6. ES聚合报错

    在测试Elasticsearch聚合的时候报了一个错误.具体如下: GET /megacorp/employee/_search { "aggs": { "all_int ...

  7. spring boot日志及Log4j日志配置

    1.默认实现的日志配置 Spring boot默认已经集成了logging,同时也是默认开启的,如果想根据自己的需求对日志进行配置,方法很简单--只需要在配置文件中进行相应设置,这里提供我自己的配置如 ...

  8. node.js安装以及git 的使用说明

     第一步:安装node.js: Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.   Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...

  9. Java面向对象之多态(向上、向下转型) 入门实例

    一.基础概念 多态: 重点是对象的多态性.某一事物的多种体现形态. 多态的作用: 1.提高了代码的扩展性,后期出现的功能,可以被之前的程序所执行. 2.不能使用子类特有的功能.只能使用覆盖父类的功能. ...

  10. P2045 方格取数加强版 最大费用最大流

    $ \color{#0066ff}{ 题目描述 }$ 给出一个n*n的矩阵,每一格有一个非负整数Aij,(Aij <= 1000)现在从(1,1)出发,可以往右或者往下走,最后到达(n,n),每 ...