ORACLE学习之七 ORACLE的参数

--查看ORACLE参数配置文件
SQL> show parameters spfile;

NAME                        TYPE        VALUE
--------------------------- ----------- ------------------------------
spfile                          string       D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA

--spfile是二进制文件 最好不要用文本编辑软件编辑 内容,系统startup 默认 是读取spfile

--下面的语句可以查看系统和实例中所有的参数。
SQL>select * from v$parameter
--知道参数中的某些字母或者关键字,也可以以模糊查询的方式来在sqlplus中查看。
--例如

SQL> show parameter shared

NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------
hi_shared_memory_address             integer     0
max_shared_servers                   integer
shared_memory_address                integer     0
shared_pool_reserved_size            big integer 10695475
shared_pool_size                     big integer 12M
shared_server_sessions               integer
shared_servers                       integer     4
--可以看到参数中带有shared字样的参数,都被显示出来。
--回到plsqldev中,用查看视图的方式,查看所有参数;
SQL>select * from v$parameter

--结果中,有几个字段比较重要。
--ISSES_MODIFIABLE,当前session是否可以更改。
--ISSYS_MODIFIABLE, SYSTEM当前系统是否可以更改。
--ISINSTANCE_MODIFIABLE,当前实例是否可以修改。

--由ISSYS_MODIFIABLE参数来看哪个是静态参数,哪个是动态参数。
--FALSE表明是静态的,IMMEDIATE是修改后立刻生效的动态参数,
--动态参数(deferred)deferred指定系统修改是否只对以后的会话生效(对当前建立的会话无效,包括执行此修改的会话)

--举例说明
SQL>select NAME,VALUE, ISSES_MODIFIABLE,ISSYS_MODIFIABLE,ISINSTANCE_MODIFIABLE FROM V$parameter where name in

('shared_pool_size','sga_max_size','nls_date_format');

NAME                VALUE        ISSES ISSYS_MOD ISINS
------------------- ------------ ----- --------- -----
sga_max_size        612368384    FALSE FALSE     FALSE
shared_pool_size    12582912     FALSE IMMEDIATE TRUE
nls_date_format                  TRUE  FALSE     FALSE

--我们先来查询一下
SQL> select sysdate from dual;

SYSDATE
--------------
16-9月 -11

--这里的nls_date_format参数可以由session来修改。
SQL>alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss'

会话已更改。

--再次在同一个session窗口查询一下,可以看到跟上面的日期格式相比较发生了变化。

SQL> select sysdate from dual;

SYSDATE
-------------------
2011/09/16 14:03:56

--打开一个新的窗口,用sqlplus登陆之后,执行
SQL> select sysdate from dual;

SYSDATE
--------------
16-9月 -11

--可以确认,对于日期格式的修改,只在当前session有效,查询v$parameter视图,也可以发现在不同session中,并没有更新日期格式。
SQL>  show parameter nls_date_format;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------
nls_date_format                      string

--shared_pool_size    12582912     FALSE IMMEDIATE TRUE中的immediate表明,该参数的修改
--只能在SYSTEM级别,而且会立刻生效。设定之后系统将会为共享池划分指定大小的空间。

SQL> alter system set shared_pool_size=40m;

系统已更改。

--有一些参数不能立即修改。
SQL> show parameter lock_sga;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE

--出现如下错误
SQL> alter system set lock_sga=true;
alter system set lock_sga=true
                 *
第 1 行出现错误:
ORA-02095: 无法修改指定的初始化参数

--这种修改的话,可以在后面加上scope=spfile.表明,修改的是spfile参数文件的内容,这种修改将在重新startup的时候生效。
SQL> alter system set lock_sga=true scope=spfile;
系统已更改。

--在当前会话下,查看,可以看到,并未变化。
SQL> show parameter lock_sga;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
lock_sga                             boolean     FALSE

--重新启动实例看看。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             230689668 bytes
Database Buffers          373293056 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter lock_sga;

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------------------------
lock_sga                             boolean     TRUE

--可以看到,lock_sga的值已经被更改为true了。静态参数 必须指定为scope.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21143887/viewspace-707711/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21143887/viewspace-707711/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值