实例由用于在内存中构建它的参数进行定义,一些参数可以在启动后更改,有些则不能,必须关闭实例再次启动时更改.
构建实例的参数最初源于参数文件(静态pfile或动态spfile)或默认值.除DB_NAME参数外,每个参数都有默认值,DBA可以设置近300个参数,还有1500个不需要设置的"隐藏"参数,这些参数不可见,只能在oracle support指导下进行设置.
参数分"基本参数"和"高级参数"两类,只要高级参数使用了默认设置,大多数数据库实例都能完美运行,只有大约33个参数时基本参数,因此,设置参数并不繁琐,但很重要.
查看参数及其当前值,查询v$parameter视图
select name,value from v$parameter order by name
下面的查询结果稍有不同:
select name,value from v$spparameter order by name
差异在于v$parameter显示当前运行实例中生效的参数值,v$spparameter显示磁盘上spfile中存储的值,通常两者相同.
更改参数用alter system命令,比如:
alter system set db_create_file_dest='d:\oranew' scope=memory/spfile/both
如果不将scope指定为spfile,则无法更改静态参数,默认scope值是both,即作用于运行中的实例和spfile,如果用pfile启动实例,设置scope=spfile将失败.
第一次创建数据库时,使用pfile,用下列命令创建spfile:
create spfile [ ='spfilename' ] from pfile [ ='pfilename' ]
如果没给出具体名称,则使用默认名称,也可由spfile创建pfile
create pfile [ ='pfilename' ] from spfile [ ='spfilename' ]
可随时运行create pfile命令和create spfile命令,实例没启动也可以的说.
基本参数
select name,value from v$parameter
where isdefault='TRUE' order by name;
或者
select s.name,s.value from v$spparameter s join v$parameter p on s.name=p.name
where p.isdefault='TRUE' order by name;
可能有一些差异,因为某些参数已更改并用于实例,但没用于spfile,使用join的原因是v$spparameter中不显示参数时基本参数或 高级参数的列.
cluster_database 数据库是RAC还是单实例
compatible 此实例要模仿的版本,通常就是世纪版本
control_files 控制文件副本的名称和位置
db_block_size 置数据文件格式的默认块大小
db_create_file_dest 数据文件的默认位置
db_create_online_log_dest_1 联机重做日志文件的默认位置
db_create_online_log_dest_2 联机重做日志文件多路复用副本的默认位置
db_domain 可以添加到db_name末尾来生成全局唯一名称的域名
db_name 数据库名称(唯一没有默认值的参数)
db_recovery_file_dest 闪回区域的位置
db_recovery_file_dest_size 闪回区的大小,要先设置大小,再设置闪回区位置!
db_unique_name 一台计算机上安装两个相同名称db_name的数据库,则需要使用唯一标识符
instance_number 用于区分两个或多个打开同一数据库的RAC实例
job_queue_processes 运行所调度作业可用的进程数
log_archive_dest_1 归档重做日志文件的目标
log_archive_dest_2 归档重做日志文件的多路复用副本的目标
log_archive_dest_state_1 是否启用了目标
log_archive_dest_state_2 是否启用了目标
nls_language 实例的语言(多种默认格式)
nls_territory 实例的地理位置
open_cursors 会话一次可以打开的SQL工作区域数量
pga_aggregate_target 实例可以分配给PGA的总内存量
processes 可以连接到实例的最大进程数量(包含会话服务器进程)
remote_listener 实例注册到的另一台计算机上的侦听器的地址
remote_login_passwordfile 是否使用外部口令文件,以便允许口令文件身份验证
rollback_segments 基本废弃,被undo参数取代
sessions 允许连接到实例的最大会话数量
sga_target SGA的大小,oracle将在此范围内管理各种SGA内存结构
shared_servers 要启动的共享服务器进程数量
star_transformation_enabled 是否允许优化器重写将事实表的维度联接在一起的查询
undo_management 在撤销表空间中自动管理撤销数据,还是在回滚段中手动管理
undo_tablespace 在使用自动撤销管理时,确定撤销数据的位置
要更改静态参数,只能用alter system...scope=spfile句子,此命令更新spfile,静态参数不能立刻生效,log_buffer是一个静态参数的示例.
将日志缓冲区大小更改为6MB:
alter system set log_buffer=6m;会提示ora-02095错误,必须指定scope=spfile,更改成功,但新值只有重启实例后才生效.
一般情况下默认的日志缓冲区大小是正确的,如果改为小于默认值,会重新调整为默认大小.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25025926/viewspace-1067730/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25025926/viewspace-1067730/