您的位置:首页 > 数据库 > Oracle

Oracle spfile 笔记

2005-06-14 11:28 302 查看
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次数,提高效率

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: