转自:http://blog.csdn.net/onebigday/article/details/6108348http://www.linuxidc.com/Linux/2012-11/73715.htm

大家都知道,spfile是oracle 9i之后引入的,目的是提高系统安全性。在Oracle8i下初始化参数文件为文本文件,可以使用文本编辑器进行编辑,当需要修改初始化参数时,需要在init.ora文件中修改,再重新启动数据库实例。

在Oracle10g,引入了服务器参数文件(SPFILE),可以简化初始参数的管理。spfile文件是一个二进制文件,不能使用文件编辑器编辑(虽然通过文本编辑器打开后,能够看到参数内容),否则可能造成Oracle无法识别SPFILE文件。

我下面以我自己系统安装的ORACLE与大家讨论这两者的用法,E盘是oracle10G的主安装目录,那么分别在

1) E:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.2192009203642   // pfile文件

2) E:/oracle/product/10.2.0/db_1/database/initorcl.ora         // 储存spfile文件路径

3) E:/oracle/product/10.2.0/db_1/dbs/SPFILEORCL.ORA     // spfile文件

1.如果spfile被损坏了,那么重启数据库就会报找不到spfile的错误,这时需要通过pfile创建spfile:

create spfile from pfile=' E:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.2192009203642';

并且重启数据库时用:

startup pfile=' E:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.2192009203642'。

2. 如果2被修改了路径,那么3的位置要做相应的调整,不然数据库重启会报同样的错误。3. 如果1被损坏或删除了,没有关系,数据库可以照常启动,但为了保险,我们还是重新

创建一个pfile:

create pfile=' E:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.2192009203642' from spfile;

问题:

1)创建spfile后,该文件方到哪了?

答:使用create spfile from pfile=’..’ , 生成的spfile文件(文件名还是SPFILEORCL.ORA),但存放目录发生变化,存放在2的那个目录下,可是initorcl.ora内容却没有发生变化???

为了使spfile恢复的原来的目录下,指定目录,使用如下命令:

Create spfile=’ E:/oracle/product/10.2.0/db_1/dbs/SPFILEORCL.ORA’

From pfile=' E:/oracle/product/10.2.0/admin/orcl/pfile/init.ora.2192009203642'

show parameter spfile; // 查看spfile位置

2)如何查看oracle是以spfile还是pfile启动?

答:Select isspecified,count(*) from v$spparameter group by isspecified;

如果isspecified里有true,表明用spfile进行了指定配置
如果全为false,则表明用pfile启动

3spfilepfile启动oracle 有何区别?

附:

从spfile获取pfile
Create pfile='d:pfileSID.ora' from spfile;
Create pfile='d:pfileSID.ora' from spfile='spfile_location';

从pfile获取spfile
Create spfile from pfile='Your_pfile_location'
Create spfile='spfile_location' from pfile='Your_pfile_location'

动态修改参数
alter system set parameter=Value scope=spfile|both|memory

SCOPE参数有三个可选值:

MEMORY:只改变当前实例运行;

SPFILE:只改变SPFILE的设置(如果修改的是静态参数,则必须指定SCOPE=SPFILE,否则将会报ORA-02095错。);

BOTH:改变实例及SPFILE(使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句)。

Startup nomount的时候需要读去spfile或pfile,两者共存,spfile优先

用startup(默认)启动的顺序

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

如果没有再查找2

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

如果没有再查找3

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

如果还没有 就会报错……

强制用pfile启动
SQL>startup pfile='Your_Pfile.ora'
startup spfile='/data/oracle/product/10.2.0/db_1/dbs/dbs/spfile_mqq.ora' force

通过pfile连接到spfile启动
修改pfile文件

数据库的初始化参数文件分析

内容                                                         说明

MTS                                               多线程服务器配置标识,Oracle 9i 里称为共享服务器配置

dispatchers="(PROTOCOL=TCP)
(SERVICE=testXDB)"      多线程服务器配置

Optimizer                                           最优化

hash_join_enabled=TRUE                                    优化程序选择散列连接

query_rewrite_enabled=FALSE                           启动或禁用对实体化视图的查询重写

star_transformation_enabled=FALSE                  确定基于成本的查询转换是否应用到星型查询中

# Job
Queues                                          作业列队
job_queue_processes=10                                 作业列队进程数

# Instance
Identification                                  实例标识

instance_name=test                                                                   实例名

#
Miscellaneous                                         其他
aq_tm_processes=1

compatible=9.2.0.0.0                                     兼容性

# Security and
Auditing                                   安全审核

remote_login_passwordfile=EXCLUSIVE                指定操作系统或口令文件是否有检查用户口令的权限。
# Sort, Hash
Joins, Bitmap
Indexes                          排序, 散列联接, 位图索引

pga_aggregate_target=25165824                  指定PGA的最大内存量

sort_area_size=524288                                    指定排序区使用的最大内存量

# Database
Identification                                   数据库标识SID

db_domain=domin

db_name=test

# File
Configuration                                       文件配置

control_files=("C:oracleoradatatestCONTROL01.CTL",
"C:oracleoradatatestCONTROL02.CTL",

"C:oracleoradatatestCONTROL03.CTL")  #
Pools                                                 池

java_pool_size=33554432                                 
java池用于存储 Java 的方法、类定义和 Java 对象。

large_pool_size=8388608                                  大型池用于共享服务器的会话内存、并行执行的消息缓冲区以及RMAN 备份和恢复的磁盘 I/O 缓冲区。

shared_pool_size=50331648                                共享池用于存储共享游标、存储的过程、控制结构和并行执行消息缓冲区等对象。
# Cursors and
Library
Cache                                游标和库高速缓存

open_cursors=300                                         指定一次会话可打开的游标量

# System Managed
Undo and Rollback
Segments                系统管理的撤消和回退段

undo_management=AUTO                                  指定系统使用的撤消空间管理方式为SUM(外部分配)
undo_retention=10800

undo_tablespace=UNDOTBS1                               指定回滚表空间

# Diagnostics
and
Statistics                                  诊断和统计

background_dump_dest=C:oracleadmintestbdump             后台进程跟踪文件

core_dump_dest=C:oracleadmintestcdump                   核心转储跟踪文件
timed_statistics=TRUE                                     收集操作系统的计时信息(优化)

user_dump_dest=C:oracleadmintestudump                   用户进程跟踪文件

# Processes and
Sessions                                   进程和会话

processes=150                                           同时连接到数据库的用户进程数量

# Redo Log and
Recovery                                  重做日志和恢复

fast_start_mttr_target=300                                 指定从单个           
fast_start_mttr_target=300            指定从单个数据库例程数据库例程崩溃中恢复所需的时间
# Cache and
I/O                                          高速缓存和I/O
db_block_size=8192                                       指定数据块大小(数值不能改变)

db_cache_size=25165824                                   指定数据缓冲区的大小

db_file_multiblock_read_count=16   涉及一个完全连续扫描的一次I/O操作中读取块的最大数量

浅谈oracle10G spfile与pfile(转)的更多相关文章

  1. 浅谈 Fragment 生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...

  2. 浅谈 LayoutInflater

    浅谈 LayoutInflater 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/View 文中如有纰漏,欢迎大家留言指出. 在 Android 的 ...

  3. 浅谈Java的throw与throws

    转载:http://blog.csdn.net/luoweifu/article/details/10721543 我进行了一些加工,不是本人原创但比原博主要更完善~ 浅谈Java异常 以前虽然知道一 ...

  4. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  5. 浅谈WebService的版本兼容性设计

    在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...

  6. 浅谈angular2+ionic2

    浅谈angular2+ionic2   前言: 不要用angular的语法去写angular2,有人说二者就像Java和JavaScript的区别.   1. 项目所用:angular2+ionic2 ...

  7. iOS开发之浅谈MVVM的架构设计与团队协作

    今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

  8. Linux特殊符号浅谈

    Linux特殊字符浅谈 我们经常跟键盘上面那些特殊符号比如(?.!.~...)打交道,其实在Linux有其独特的含义,大致可以分为三类:Linux特殊符号.通配符.正则表达式. Linux特殊符号又可 ...

  9. 浅谈Angular的 $q, defer, promise

    浅谈Angular的 $q, defer, promise 时间 2016-01-13 00:28:00  博客园-原创精华区 原文  http://www.cnblogs.com/big-snow/ ...

随机推荐

  1. Java数据类型、变量、运算符、语句。

    数据类型:整型 int long short byte小数 double float 字符 char 转义字符:\'(单引号字符) \\(反斜杠字符) \n(换行) \r(回车) \t(水平制表符,相 ...

  2. 安装mysql因为/tmp权限不足而导致ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)的解决方案

    本机是centos 6.5  安装的mysql是5.1的版本. 在安装mysql之后,第一次启动mysql服务的时候,需要/tmp有777(rwxrwxrwx)的权限,然而楼主的/tmp是755(rw ...

  3. js的一点

    1.js中实现继承的方法 1.js原型(prototype)实现继承 <SPAN style="<SPAN style="FONT-SIZE: 18px"&g ...

  4. php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法

    php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 <?php /* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为: ...

  5. lvs+keeplived笔录

    关于keeplived配置文件的详细描述如下 链接:http://blog.csdn.net/jibcy/article/details/7826158 实验环境: 主Keepalived 172.1 ...

  6. 安装Linux 16.04 时,选择好分区后,进到选择地点的界面后,总是闪退,退到最原始的界面

    这两天装 Linux 系统,总是遇到一个很蛋疼的问题: 当你累死累活把分区什么的都设置好了之后,在输入了系统名字,开机密码那几项之后,再选择地点的时候(如:选择 "上海"),然后就 ...

  7. php区分new static 和new self

    关键点在于一个是静态绑定,一个是延迟绑定 <?php class A{ public function __construct() { } public function createObjSt ...

  8. Perl/Nagios – Can’t locate utils.pm in @INC

    While trying to use a Nagios plugin I got an error saying that “Can’t locate utils.pm in @INC”. Foll ...

  9. python logging模块

    1.logging模块提供了四个组件logger:日志类,有两个功能1)配置日志的等级,处理器handler,过滤器filterlogger.setLevel(logging.INFO)logger. ...

  10. win版本对比

    Win+R 输入:slmgr.vbs -dlv 显示:最为详尽的激活信息,包括:激活ID.安装ID.激活截止日期slmgr.vbs -dli 显示:操作系统版本.部分产品密钥.许可证状态slmgr.v ...