Thinking ...

记录所见,所思,所悟...

导航

Oracle spfile 笔记

SPFILE笔记

1.为什么要用spfile?
   pfile存储初始化参数设置,修改之后,需要重启实例生效。
   spfile可以alter system 修改可动态修改的参数,即可生效。spfile是一个二进制文件,可以使用RMAN进行备份.

   查看是否使用spfile:
   SQL>show parameter spfile;

2.创建SPFILE
   create spfile from pfile; --create spfile from pfile.
   create pfile[='$ORACLE_HOME\dbs\init<SID>.ora'] from spfile; --create pfile from spfile.

   Note:不指定文件位置,缺省在系统目录(Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME\database)。
3.使用spfile
   重新启动数据库,使用startup命令,Oralce将会按照以下顺序在缺省目录中搜索参数文件:
   spfile${ORACLE_SID}.ora-->spfile.ora-->init<SID>.ora

   如果需要用pfile启动
   SQL> startup pfile='%ORACLE_HOME\dbs\init<SID>.ora';
 
   在PFILE链接到SPFILE文件,同时在PFILE中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。
   如:
 #pfile
 SPFILE= '$ORACLE_HOME\dbs\SPFIL<SID>.ORA'
 log_archive_start = false
4.修改参数
  ALTER SYSTEM SET <param>=<value> SCOPE=[MEMORY][SPFILE][BOTH];

MEMORY:只改变当前实例运行
SPFILE:只改变SPFILE的设置
BOTH:改变实例及SPFILE

参考:

Oracle9i新特点:SPFILE的使用 http://www.eygle.com/faq/Oracle9i.New.Feature.Spfile.01.htm

Oracle 9i初始化参数文件 http://www.ddvip.net/database/oracle/index1/31.htm

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

内容           说明
# Copyright (c) 1991, 2001 by Oracle Corporation Oracle公司版权标识
# MTS 多线程服务器配置标识,在Oracle 9i里称为共享服务器配置
dispatchers="(PROTOCOL=TCP)(SER=MODOSE)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)", "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)" 多线程服务器配置

# 其他 配置其他参数
compatible=9.0.0 兼容版本9.0.0
db_name=myoracle 数据库名称为myoracle

# 分布式, 复制和快照 配置分布式、复制和快照参数
db_domain=mynet 数据库域名为mynet,加上数据库名称db_name构成全局数据库名称
remote_login_passwordfile=EXCLUSIVE 指定操作系统或口令文件是否具有检查用户口令的权限。设置为EXCLUSIVE, 将使用数据库的口令文件对每个具有权限的用户进行验证。

# 排序, 散列联接, 位图索引 配置排序、散列联接、位图索引参数
sort_area_size=524288 指定排序区使用的最大内存量为512KB。排序完成后, 各行将返回, 并且内存将释放。增大该值可以提高大型排序的效率。

# 文件配置 文件配置参数
control_files=("C:\oracle\oradata\myoracle\CONTROL01.CTL", "C:\oracle\oradata\myoracle\CONTROL02.CTL", "C:\oracle\oradata\myoracle\CONTROL03.CTL") 指定控制文件的路径及文件名

# 池 内存配置参数
Java_pool_size=33554432 指定Java存储池的大小为32MB,用于存储 Java 的方法、类定义和Java对象。
large_pool_size=1048576 指定大型池的大小为1MB, 用于共享服务器的会话内存、并行执行的消息缓冲区以及RMAN备份和恢复的磁盘 I/O 缓冲区。
shared_pool_size=33554432 指定共享池的大小为32MB,用于存储共享游标、存储的过程、控制结构和并行执行消息缓冲区等对象。较大的值能改善多用户系统的性能

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

# 系统管理的撤消和回退段 配置系统管理撤消和回滚段参数
undo_management=AUTO 指定系统使用的撤消空间管理方式为SMU 方式,在SMU方式下, 撤消空间会像撤消表空间一样在外部分配
undo_tablespace=UNDOTBS 指定回滚表空间为UNDOTBS

# 网络注册 配置网络注册参数
instance_name=myoracle 例程名称为myoracle

# 诊断和统计 配置诊断和统计参数
background_dump_dest=C:\oracle\admin\myoracle\bdump 后台进程跟踪文件目录
core_dump_dest=C:\oracle\admin\myoracle\cdump 核心转储跟踪文件目录
timed_statistics=TRUE 收集操作系统的计时信息,这些信息可被用来优化数据库和 SQL 语句
user_dump_dest=C:\oracle\admin\myoracle\udump 用户进程跟踪文件目录

# 进程和会话 配置进程和会话信息
processes=150 指定可同时连接到一个Oracle Server上的操作系统用户进程的最大数量为150

# 重做日志和恢复 重做日志和恢复参数设置
Fast_start_mttr_target=300 指定从单个数据库例程崩溃中恢复所需的时间为300秒

# 高速缓存和 I/O 配置高速缓存和I/O参数
db_block_size=4096 指定数据块大小为4KB
db_cache_size=33554432 指定数据缓冲区为32MB,该值越大,可以减少对数据库文件的I/O次数,提高效率

 

posted on 2005-06-14 11:28  barry  阅读(2279)  评论(0)    收藏  举报