如何生成SPFILE文件
1.spfile是Oracle9i之后引入的,目的是提高系统安全性。在Oracle8i下初始化参数文件为文本文件,可以使用文本编辑器进行编辑,当需要修改初始化参数时,需要在init.ora文件中修改,再重新启动数据库实例。在Oracle10g,引入了服务器参数文件(spfile),可以简化初始化参数的管理。spfile文件时一个二进制文件,不能使用文本编辑器(虽然文本编辑器打开后,能够看到参数内容),否则可能造成Oracle无法识别spfile文件。
以下以我自己系统安装的Oracle与大叫讨论这二者的用法:
D盘是Oracle10G的主安装目录,分别在1D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.3142010101424、2D:\oracle\product\10.2.0\db_1\database\initorcl.ora、3D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA3个位置可以找到pfile、spfile的位置和spfile,其中1就是那个文本文件pfile,2指的是3的位置(路径),3就是哪个二进制文件spfile,如果spfile被损坏了,那么重新启动数据库就会报找不到spfile的错误,这事需要通过pfile创建spfile:
create spfile from pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.3142010101424';
并且重新启动数据库时用startup pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.3142010101424'。
如果2被修改了路径,那么3的位置要做相应的调整,不然数据库重启启动会暴同样的错误。
如果1被损坏或删除,数据库可以照常启动,但为了保险,我们还是重新创建一个新的pfile:
create pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.3142010101424' from spfile;
2.查看系统是以pfile还是spfile 启动:
Select isspecified,count(*) from v$spparameter group by isspecified;
如果 isspecified里有true,表明用spfile进行了指定配置
如果全为false,则表明用pfile启动
3.使用SPfile的好处:
Spfile 改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image
启动时候需要跟踪最新的image。这是个烦琐的过程。
用spfile以后,所有参数改变都写到spfile里面(只要定义 scope=spfile或both),参数配置有个权威的来源。
4.从spfile获取pfile
Create pfile='d:pfileSID.ora' from spfile;
Create pfile='d:pfileSID.ora' from spfile='spfile_location';
5.从pfile获取spfile
Create spfile from pfile='Your_pfile_location'
Create spfile='spfile_location' from pfile='Your_pfile_location'
6.动态修改参数
alter system set parameter=Value scope=spfile|both|memory
7.Startup nomount的时候需要读去spfile或pfile,两者共存,spfile优先
8.试验心得:
环境:window2003 Oracle10g
问题描述:一个数据库实例,包含二个数据库(test,orcl),因为设置错误的参数造成orcl数据库spfile文件损坏。通过create spfile生成文件后,一次一只能启动一个数据库。
解决过程:
C:\Documents and Settings\hsx>set oracle_sid=orcl
C:\Documents and Settings\hsx>sqlplus/nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 5月 15 17:37:34 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/sys as sysdba
已连接到空闲例程。
SQL> create spfile from pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.or
a.3142010101424';
文件已创建。
SQL> startup pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.314201010
1424'
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 167775108 bytes
Database Buffers 436207616 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 184552324 bytes
Database Buffers 419430400 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> Select isspecified,count(*) from v$spparameter group by isspecified;
ISSPEC COUNT(*)
------ ----------
TRUE 23
FALSE 236
备注:假如有多个数据库的话,可以通过设置set oracle_sid, 然后pfile单独启动
a.052011184726';
如何生成SPFILE文件的更多相关文章
- Oracle pfile与spfile文件参数(转载)
一.pfile与spfile Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- SQL*Plus生成html文件
最近使用SQL*Plus命令生成html文件,遇到一些有意思的知识点,顺便记录一下,方便以后需要的时候而这些知识点又忘记而捉急.好记性不如烂笔头吗! 为什么要用SQL*Plus生成html文件? ...
- vim保存文件时,生成.un~文件
在用vim保存文件时,文件夹下生成.un~文件 怎么删除这些文件呢 在网上搜索的答案: http://stackoverflow.com/questions/15660669/what-is-a-un ...
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- 简单生成svg文件
this.fileSaveSync = function (file, data) { var fs = require('fs-extra'); fs.writeFileSync(file, dat ...
- 使用Free Spire.Presentation生成PowerPoint文件
使用Free Spire.Presentation生成PowerPoint文件 前言 之前有写过一篇使用Free Spire.XLS生成图表的文章,朋友圈内反应还不错,都希望我能继续写下去,把类似 ...
- caffe的python接口学习(5):生成deploy文件
如果要把训练好的模型拿来测试新的图片,那必须得要一个deploy.prototxt文件,这个文件实际上和test.prototxt文件差不多,只是头尾不相同而也.deploy文件没有第一层数据输入层, ...
- 利用 autoconf 和 automake 生成 Makefile 文件
一.相关概念的介绍 什么是 Makefile?怎么书写 Makefile?竟然有工具可以自动生成 Makefile?怎么生成啊?开始的时候,我有这么多疑问,所以,必须得先把基本的概念搞个清楚. 1.M ...
随机推荐
- oracle传入一个可能为空的参数进行查询
在我们数据库的表中的某些字段可能为空,且传入的查询参数也可能为空. 例如 ,,); 其查询结果集如下 MAPPING_ID PARTY_ID VENDOR_ID SUPPLIER_REG_ID 332 ...
- OC Foundation框架—字符串操作方法及习题
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- Python实现简单的爬虫获取某刀网的更新数据
昨天晚上无聊时,想着练习一下Python所以写了一个小爬虫获取小刀娱乐网里的更新数据 #!/usr/bin/python # coding: utf-8 import urllib.request i ...
- Python & PyCharm & Django 搭建web开发环境(续)
由于Django自带轻量级的server,因此在前篇博文中,默认使用该server,但实际生产中是不允许这么干的,生产环境中通常使用Apache Httpd Server结合mod_wsgi.so来做 ...
- Visual Studio build tools 安装出错的一种解决办法
一般是安装包丢失或损坏,那么我么可以用离线下载的方式来先行下载. 用 -h 看下帮助 主要是Layout参数. 下载完,到下载目录安装吧.
- JavaScript世界的一等公民 - 函数
简介 在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作 ...
- ASP.NET下跨应用共享Session和使用Redis进行Session托管
在之前的博客中,我说到了Session的共享问题,其中说到了Web Farm和Web Garden两种情况下Session的处理.在ASP.NET提供的Session处理方法中,有以下四种模式: 1. ...
- WLAN 802.11 a/b/g PHY Specification and EDVT Measurement III
Transmit Rated Emission (FCC) AC power conducted emission.-FCC 15.207 Minimum 6 dB bandwidth. -500kH ...
- ios数据持久化(转)
文件系统 归档和序列化 数据库 1.文件系统 不管是Mac OS X 还是iOS的文件系统都是建立在UNIX文件系统基础之上的. 1.1 沙盒模型 在iOS中,一个App的读写权限只局限于自己的沙盒目 ...
- Python 字符串的相关操作
s = "abcdefg" s1 = s.capitalize() # 把首字母变成大写, 返回给你一个新的字符串 print(s) print(s1) s = "ale ...