1、初始化参数文件
启动实例,会读取初始化参数
(1)spfile (服务器参数文件)二进制文件 不能手动修改 spfile.ora
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/orcl/spfileorcl.ora
(2)pfile 文本初始化参数文件 手动修改 init.ora
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/orcl/spfileorcl.ora
初始化参数类型:
派生参数:不建议修改
与操作系统相关的参数:例如 DB_FILE_MULTIBLOCK_READ_COUNT
普通参数:最可能改进系统性能
简化的初始化参数:(30个)
processes 最大用户进程数
undo_tablespace
db_block_size 数据库快大小
高级初始化参数:(300个)
db_cache_size 标准块缓冲区高速缓存大小
read_count
shared_pool_size
#######
db_files 最大数据库文件数
control_files 一个或多个控制文件名
动态性能视图:v$parameter
show parameter sga
select name,value from v$parameter where name like '%sga_max_size%';
show sga;
SQL> set lines 50;
SQL> col name for a50;
SQL> select name,value from v$parameter where name like '%sga_max_size%';
NAME
--------------------------------------------------
VALUE
--------------------------------------------------
sga_max_size
7180648448
SQL> show parameter sga_max_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 6848M
绑定变量查询:
select name,type,value from v$parameter where name like '%¶meter_name%';
SQL> /
Enter value for parameter_name: undo
old 1: select name,type,value from v$parameter where name like '%¶meter_name%'
new 1: select name,type,value from v$parameter where name like '%undo%'
NAME TYPE VALUE
------------------------------ ---------- ------------------------------
undo_management ########## AUTO
undo_tablespace ########## UNDOTBS1
undo_retention ########## 900
(3)
静态参数:
只能在参数文件中更改
必须重新启动数据库实例才能生效
动态参数:
会话级别>
系统级别> session 会话持续期间有效
scope 有如下设置
memory 内存生效
spfile 配置文件有效(需要重启)
both 二者
SQL> desc v$parameter;
Name Null?Type
----------------------------------------------------- -------- ----------------------
-------------- NUMNUMBER
NAMEVARCHAR2(80)
TYPENUMBER
VALUEVARCHAR2(4000)
DISPLAY_VALUEVARCHAR2(4000)
ISDEFAULTVARCHAR2(9)
ISSES_MODIFIABLEVARCHAR2(5)
ISSYS_MODIFIABLEVARCHAR2(9)
ISINSTANCE_MODIFIABLEVARCHAR2(5)
ISMODIFIEDVARCHAR2(10)
ISADJUSTEDVARCHAR2(5)
ISDEPRECATEDVARCHAR2(5)
ISBASICVARCHAR2(5)
DESCRIPTIONVARCHAR2(255)
UPDATE_COMMENT VARCHAR2(255)
HASHNUMBER
注意:
ISSES_MODIFIABLE 会话级别更改生效(true/false)
ISSYS_MODIFIABLE 系统级别更改生效(true/false)
ISINSTANCE_MODIFIABLE (true/false)
例子1:
select sysdate from dual;
SQL> select ISSES_MODIFIABLE,ISSYS_MODIFIABLE,ISINSTANCE_MODIFIABLE from v$parameter w
here name='nls_date_format';
ISSES ISSYS_MOD ISINS
----- --------- -----
TRUE FALSEFALSE
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss'; //这条命令执行失败
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=memory; //执行失败
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=both; //失败
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile; //执行成功 为啥? 自己思考一下
查看哪些支持会话级别或者系统级别或者实例级别的修改
set lines 100
col name for a30
col ISSES_MODIFIABLE for a15
col ISSYS_MODIFIABLE for a15
col ISINSTANCE_MODIFIABLE for a15
select name, ISSES_MODIFIABLE,ISSYS_MODIFIABLE,ISINSTANCE_MODIFIABLE from v$parameter order by 1;
例子2:
SQL> show parameter undo_retention;
NAME TYPE VALUE
------------------------------------ ------------------------------ ------------------------------
undo_retention integer 900
SQL>>
System>
SQL>>
System> SQL> show parameter undo_retention;
NAME TYPE VALUE
------------------------------------ ------------------------------ ------------------------------
undo_retention integer 600
################################