基础知识3——数据库初始化参数

设置数据库初始化参数
实例由用于在内存中构建它的参数进行定义,一些参数可以在启动后更改,有些则不能,必须关闭实例再次启动时更改.
构建实例的参数最初源于参数文件(静态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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值