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单独启动
分享到:
相关推荐
在ORACLE 10G中,有两种类型的初始化参数文件:PFILE(Plain Text File)和SPFILE(Structured Parameter File)。PFILE是文本格式的文件,可以直接编辑,而SPFILE是二进制格式,提供了更多的高级特性,如动态调整...
三、SPFILE与PFILE之间的转换 1. 从SPFILE创建PFILE: ```sql CREATE PFILE FROM SPFILE; ``` 2. 指定PFILE启动Instance: 在启动Oracle实例时,可以指定使用特定的PFILE,例如: ```sql STARTUP PFILE = $ORACLE_...
### Oracle 数据库中的 Spfile 和 Pfile:深入解析与实践 #### 一、概述 在Oracle数据库管理中,参数文件(Parameter File)是至关重要的组成部分,它负责存储和管理数据库的各项配置参数。根据其格式的不同,参数...
当SPFILE丢失或损坏时,数据库可能无法正常启动,因此了解如何在Oracle 10g上创建SPFILE是解决此类问题的关键。 首先,我们需要一个现有的PFILE作为创建SPFILE的基础。PFILE通常是一个文本文件,包含了数据库实例的...
SQL> CREATE SPFILE='+DATA/ORA11G/spfileora11g.ora' FROM PFILE; ``` 在执行此命令后,会在指定的ASM磁盘组位置(这里是`+DATA/ORA11G/`)创建一个spfile的二进制文件。 4. 在创建spfile之后,需要确保实例...
最后,"浅谈oracle10G spfile与pfile - 好记性不如烂笔头 - 博客频道 - CSDN_NET.mht"文档可能讨论了Oracle的参数文件类型。SPFILE(Structured Parameter FILE)是Oracle 10g引入的新特性,它支持动态参数修改并...
### Oracle SPFILE与PFILE详解 #### 一、引言 在Oracle数据库中,初始化参数文件扮演着极其重要的角色,它决定了数据库实例的配置和行为。随着版本的更新,Oracle引入了一个新的概念——SPFILE(Server Parameter ...
Oracle中的SPFILE(Server Parameter FILE)是Oracle 9i引入的一种新型初始化参数文件,它具有持久性和其他传统初始化参数文件(PFILE)不具备的优势。SPFILE的出现使得对数据库参数的管理和维护更加高效和便捷。 1...
在Oracle数据库管理与优化的过程中,创建spfile(服务器参数文件)以及调整数据库的最大连接数是常见的需求之一。本文将详细解析如何通过命令行方式完成这些操作,并解释相关步骤的意义及其背后的原理。 #### 一、...
本文详细介绍了恢复Oracle 10g数据库的全过程,包括环境配置、恢复SPFILE、处理启动错误、创建PFILE文件、修改参数文件以及挂载和开启数据库等关键步骤。通过遵循这些步骤,用户可以在遇到故障时有效地恢复Oracle 10...
Oracle 10g中,SPFILE的管理进一步增强,比如可以选择只在当前实例中应用参数变更,或者同时更新SPFILE文件。这减少了对PFILE的依赖,因为SPFILE的所有修改都可以通过命令行完成,无需手动编辑文本文件。而且,...
在Oracle数据库管理中,PFILE(初始化参数文件)和SPFILE(系统参数文件)是两种重要的配置文件。PFILE是以文本格式存储的初始化参数,而SPFILE是二进制格式,能够提供更快的访问速度和更高级的功能。当ASM...
Oracle 10G数据库的归档设置是数据库管理中的一个重要环节,主要目的是为了确保数据的安全性和完整性,特别是在数据库出现故障时能够进行恢复。归档日志记录了数据库的所有更改,以便在系统崩溃或介质故障后进行恢复...
### Oracle 10g 升级到 11g 的详细步骤与注意事项 #### 一、总体概述 本文档详细介绍了如何将Oracle 10g数据库升级到Oracle 11g的过程,包括必要的前期准备、具体操作步骤以及升级后的后续工作。 #### 二、准备...
### Oracle 10g 手工创建数据库的步骤详解 #### 一、引言 在Oracle 10g中创建数据库有两种主要方式:一种是使用DBCA(Database Configuration Assistant)工具,这种方式直观便捷;另一种则是手工创建数据库,虽然...
5. Spfile 和 Pfile:Spfile 和 Pfile 都是 Oracle 数据库的参数文件,用于存储数据库的参数配置。Spfile 是二进制格式的参数文件,而 Pfile 是文本格式的参数文件。 6. Spfile 的优点:Spfile 的优点是可以在线...
3. **备份与恢复集成**:SPFILE可以使用RMAN(Recovery Manager)进行备份,这意味着Oracle将参数文件正式纳入了整个备份恢复体系中,增强了数据管理的整体性与可靠性。 #### 创建SPFILE SPFILE的创建需要从现有的...
在 Oracle 10g 中,ASM 实例与普通的 Oracle 数据库实例相似,但它们的功能却大不相同: - **ASM 实例**主要负责管理存储在磁盘上的文件,包括数据文件、控制文件、重做日志文件等。相比之下,**Oracle 数据库实例*...
- **Web 应用集成**:讨论了如何将Oracle 10g与Web应用程序集成,支持动态内容生成和数据交互。 **6. 性能调优** - **SQL 调优**:通过分析执行计划、使用提示、调整索引等方式优化SQL语句性能。 - **内存管理**:...