博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

oracle10g初始化文件

Posted on 2012-12-05 13:54  奥客  阅读(344)  评论(0编辑  收藏  举报

初始化参数文件分为pfile跟spfile文件。
1. pfile也叫文本初始化参数文件。oracle9i以前版本只有这种参数文件,内容是纯文本的可以直接进行编辑。
oracle在安装每一个库是都会建立一个pfile文件,默认名字是init<SID>.ora,SID为数据库实例名。

2. spfile也叫服务器初始化参数文件,它是二进制的无法用文本进行修改。在9i中它的默认位置是oracle_home/database,默认文件名是spfile<SID>.ora。

数据库启动时oracle会自动在默认目录oracle_home/database下搜索初始化参数文件,搜索顺序为:
spfile<SID>.ora oracle数据库创建时自动建立的spfile文件 spflie.ora oracle缺省的spfile文件
init<SID>.ora oracle数据库创建时自动建立的pfile文件 init.ora oracle缺省的pfile文件
如果不希望时候默认的初始化参数文件,DBA可以在startup命令指定相应的初始化参数文件,如:
SQL>startup pfile=d:oracleadmin<SID>pfileinit<SID>.ora


创建初始化参数文件
创建pfile文件
可以直接复制一个pfile文件,然后直接通过startup pfile=这样来启动数据库,或者是用sysdba的身份登陆sql*plus执行以下命令:
SQL>create pfile='.:....init.ora'
from spfile='.:....spfile.ora'
或者是执行不带参数的:
SQL>create pfile from spfile
该命名将在oracle_homedatabase下创建一个pfile默认名字是init<SID>.ora
创建spfile文件
由于spfile是二进制文件所以不能直接复制粘贴的,可以用这个命令来通过pfile建立新的spfile
SQL>create spfile='.:....spfile.ora'
from pfile='.:....init.ora'

动态修改初始化参数
通过命令:
SQL>alter system set 参数名=参数值 spoce=spfile|memory|both;

其中scope=spfile 将参数写入spfile文件中对现在运行的oracle无效,仅对下次后启动的oracle有效

scope=memory将参数写入内存,所以仅对运行的oracle有效

scope=both 不仅对当前运行的oracle有效而且也写入了spfile文件中,所以对下次启动oracle时仍然有效,