Oracle学习之参数文件(spfile,pfile)(一)

2014-11-24 18:26:04 · 作者: · 浏览: 0

spfile(Server Parameter File,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。


pfile用于oracle8i,在oracle9i中也可以用,以文本形式存在,可以用vi编辑器对其中参数进行修改。文件格式为initSID.ora;


spfile专用于oracle9i,以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。文件格式为spfileSID.ora。如果要对spfile文件进行修改,可以采用SQL语言:


SQL> ALTER SYSTEM SET PARAMETER ='VALUES';进行修改。(其中scope=memory内存,scope=spfile;scope=both;)


创建spfile


SQL>create spfile=’d:\oracle\spfile.ora’ from pfile;


通过spfile创建pfile备份


SQL>create pfile=’d:\initbak.ora’ from spfile;


方法一:通过查询v$spparameter视图中的isspecified列,如果只有false,说明使用pfile启动;如果有true,说明使用spfile启动。



SQL> select distinctisspecified from v$spparameter;



ISSPEC


------


FALSE


示例说明使用pfile启动。


SQL> select distinctisspecified from v$spparameter;



ISSPEC


------


TRUE


FALSE


示例说明使用spfile启动。



方法二:Show parameterspfile有值,说明使用spfile启动,无值说明使用pfile启动。


SQL> show parameter spfile;



NAME TYPE VALUE


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


spfile string


SQL>


示例说明使用pfile启动。



SQL> show parameterspfile;



NAME TYPE VALUE


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


spfile string /u01/app/oracle/product/10.2.0


/db_1/dbs/spfileorcl.ora


示例说明使用spfile启动。



使用spfile的好处


spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image启动时候需要跟踪最新的image。这是个烦琐的过程。


用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both)




#####################################################################


# Cacheand I/O 高速缓存和 I/O


###########################################


db_block_size=8192 指定数据块大小为8KB


db_cache_size=33554432 指定数据缓冲区为32MB,该值越大,可以减少对数据库文件的I/O次数,提高效率


db_file_multiblock_read_count=16



###########################################


# Cursorsand Library Cache 游标和库高速缓存


###########################################


open_cursors=300 指定一个会话一次可以打开的游标的最大数量为300,应将该值设置得足够高,这样才能防止应用程序耗尽打开的游标



###########################################


#Database Identification 数据库标识


###########################################


db_domain="" 数据库域名为mynet,加上数据库名称db_name构成全局数据库名称


db_name=cicro 数据库名称为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 用户进程跟踪文件目录



###########################################


# FileConfiguration


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



###########################################


# JobQueues


###########################################


job_queue_processes=10



###########################################


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


######################