在oracle9i中,很多系统参数是动态的,也就是我们可以通过alter system set *** scope ***,实时修改这些值。通过范围,我们可以指定该修改的范围和生效时间,如下所示:
Scope=memory:只修改内存中的参数,重启后恢复到修改前的值。
Scope=both:同时修改内存和spfile中的参数值,重启后继续有效。
Scope=spfile:只修改spfile中的值,对之前的实例不起作用,重启后生效。
对于本文要讨论的非动态参数,不能用上述方法修改。错误如下:
SQL & gtalter system set utl _ file _ dir = d:\ tmp;
alter system set utl _ file _ dir = d:\ tmp
*
第1行出错:
ORA-02095:无法修改指定的初始化参数
那么我们如何修改这些值呢?要修改这些值,我们可以修改pfile的内容并重新启动实例。让我们看看修改这些参数所需的步骤,
1.如果没有pfile,我们首先需要根据当前实例生成一个pfile,连接它(需要扮演dba的角色,否则没有权限),执行下面的sql。
SQL & gt以sysdba身份连接system/coffee@testdb
SQL & gt从spfile创建pfile = ' D:\ Oracle \ admin \ TestDB \ pfile \ inittestdb . ora ';
2.关闭数据库并在pfile中修改相应的参数。例如,要修改utl_file_dir,我们可以添加它,
SQL & gt立即关闭
数据库关闭。
数据库已卸载。
ORACLE实例关闭。
找到initTestDB.ora并添加以下内容(根据您想要修改的参数)
*.' utl _ file _ dir = ' D:\ Oracle \ admin \ TestDB \ utl _ file _ dir '
3:根据新生成的pfile生成spfile,重启实例。
SQL & gt从pfile = ' D:\ Oracle \ admin \ TestDB \ pfile \ inittestdb . ora '创建spfile
SQL & gt启动
ORACLE实例已启动。
总系统全局区126950220字节
固定大小453452字节
可变大小109051904字节
数据库缓冲区16777216字节
重做缓冲区667648字节
数据库已安装。
数据库已打开。
4.看修改是否成功,
SQL & gt显示参数utl _文件_目录
名称类型值
- - -
utl文件目录字符串D:\oracle\admin\TestDB\utl文件目录
如您所见,我们已经成功修改了这个参数。以此类推,我们可以用同样的方法修改其他非动态参数。如果有现成的pfile,第一步可以省去。但是,建议这样做,以确保我们的pfile是最新的。
关键词:甲骨文,动态
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227206.html