参数文件:
$ ls $ORACLE_HOME/dbs/spfileorcl.ora
前面的前缀星号:
单实例时这样设置无意义 就当成普通参数看待RAC时有意义不同实例可以加载各自的参数。
--查看 内存中 参数
select name ,value from v$parameter where name= 'processes';
show parameter processes
-- 查看参数文件里面的值
select name,value from v$spparameter where name='processes';
动态参数:修改后时时生效
alter system set resource_limit =true;
静态参数:只记录在参数文件中下次重启生效
alter system set processes=300 scope=spfile;
SCOPE = SPFILE 修改静态参数,重启后生效
SCOPE = MEMORY 修改动态参数,立即生效。
SCOPE = BOTH 修改动态参数,立即生效,更改将应用于服务器参数文件和内存中(默认)
session级别修改参数(只影响当前会话,不影响系统):
ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss';
pfile/spfile格式转换:
create pfile='/home/oracle/initorcl.ora' from spfile;
create spfile from pfile='/home/oracle/initorcl.ora';
指定参数文件启动数据库:
SQL> startup pfile='/home/oracle/initorcl.ora'
还原修改
SQL>ALTER SYSTEM RESET ... SCOPE=SPFILE
基本参数:
The following is a list of the database basic initialization parameters. Most databases should only need to have basic parameters set to run properly and efficiently. Oracle advises you to become familiar with the basic parameters and only use other parameters when directed to by feature documentation or in special circumstances:(基本参数27个)
CLUSTER_DATABASE 是一个Oracle RAC参数,用于指定是否启用Oracle RAC
关联参数cluster_database_instances用于指定作为群集数据库一部分配置的实例的
COMPATIBLE
此参数指定Oracle必须保持兼容性的版本
CONTROL_FILES
DB_BLOCK_SIZE
DB_CREATE_FILE_DEST
指定Oracle管理的数据文件的默认位置。如果没有DB_CREATE_ONLINE_LOG_DEST_n指定任何初始化参数,则此位置还用作Oracle管理的控制文件和联机重做日志的默认位置。如果文件系统目录被指定为默认位置,则该目录必须已经存在; Oracle不创建它。
DB_CREATE_ONLINE_LOG_DEST_n
(其中n= 1,2,3,… 5)指定Oracle管理的控制文件和联机重做日志的默认位置, 如果文件系统目录被指定为默认位置,则该目录必须已经存在; Oracle不创建它。
DB_DOMAIN
DB_NAME
DB_RECOVERY_FILE_DEST
指定快速恢复区域的默认位置,指定此参数必须指定大小
DB_RECOVERY_FILE_DEST_SIZE
在快速恢复区中创建的目标数据库恢复文件要使用的总空间
DB_UNIQUE_NAME
INSTANCE_NUMBER
LDAP_DIRECTORY_SYSAUTH
enables or disables directory-based authorization for SYSDBA and SYSOPER.
LOG_ARCHIVE_DEST_n
LOG_ARCHIVE_DEST_STATE_n
NLS_LANGUAGE
定数据库的默认语言 默认 AMERICAN
NLS_TERRITORY
定在日期和星期编号中遵循惯例的地区的名称。默认 AMERICAN
该参数还建立默认的日期格式,默认的小数字符和组分隔符,以及默认的ISO和本地货币符号。
OPEN_CURSORS
指定会话一次可以打开的游标的最大数量(默认50)
PGA_AGGREGATE_TARGET
【以下的说明好像没用】
设置为非零值会自动将WORKAREA_SIZE_POLICY参数设置为AUTO
设置为0会自动将WORKAREA_SIZE_POLICY参数设置为MANUAL, 这意味着SQL工作区使用*_AREA_SIZE参数来确定大小。
WORKAREA_SIZE_POLICY (默认 auto)
指定调整工作区域的策略
AUTO
内存密集型操作使用的工作区域会根据系统使用的PGA内存,设置的目标PGA内存PGA_AGGREGATE_TARGET以及每个操作的要求自动调整大小。
MANUAL
工作区域的大小是手动的,并且基于_AREA_SIZE与操作对应的* 参数的值,指定MANUAL可能会导致次优性能和较差的PGA内存使用率。
SQL> show parameter AREA_SIZE;
NAME TYPE VALUE
------------------------------------ ----------- -------
bitmap_merge_area_size integer 1048576
create_bitmap_area_size integer 8388608
hash_area_size integer 131072
sort_area_size integer 65536
workarea_size_policy string AUTO
MEMORY_TARGET
指定Oracle系统范围的可用内存, 应设置为高于或等于SGA和PGA当前大小的总和,默认= MEMORY_MAX_TARGET,可以动态更改MEMORY_TARGET为非零值,前提是它不超过值MEMORY_MAX_TARGET。
MEMORY_MAX_TARGET
PROCESSES
指定可以同时连接到Oracle的操作系统用户进程的最大数量, SESSIONS和TRANSACTIONS参数的默认值是从这个参数派生的。因此,如果更改值PROCESSES,则应评估是否要调整这些派生参数的值【一个session可以有多个process;但一个process只能属于一个session;】
Transactions(默认3300)=1.1*sessions sessions = (1.5 * PROCESSES) + 22
REMOTE_LISTENER
REMOTE_LOGIN_PASSWORDFILE
SESSIONS
在共享服务器环境中,值PROCESSES可能非常小。因此,Oracle建议您将值调整SESSIONS为大约1.1 *总连接数。
SGA_TARGET
如果SGA_TARGET指定,则以下内存池将自动调整大小:
缓冲区缓存(DB_CACHE_SIZE)
共享池(SHARED_POOL_SIZE)
大池(LARGE_POOL_SIZE)
Java池(JAVA_POOL_SIZE)
流池(STREAMS_POOL_SIZE)
如果这些自动调整的内存池设置为非零值,那么这些值将被用作自动共享内存管理的最小级别
SHARED_SERVERS
SHARED_SERVERS指定启动实例时要创建的服务器进程的数量。如果系统负载减少,则保持这个最小数量的服务器。因此,您应该注意不要SHARED_SERVERS在系统启动时设置太高。
STAR_TRANSFORMATION_ENABLED
UNDO_TABLESPACE
常用参数
审计相关
SQL> show parameter audit;
audit_file_dest
audit_sys_operations
audit_syslog_level
audit_trail
跟踪警告日志
SQL> show parameter background_dump_dest;
快速恢复区
SQL> show parameter recovery;
db_recovery_file_dest
db_recovery_file_dest_size
recovery_parallelism
BACKGROUND_DUMP_DEST
定在Oracle操作期间写入用于后台进程(LGWR,DBW n等)的调试跟踪文件的路径名(目录或磁盘), 这个文件增长缓慢,但没有限制,所以你可能想要定期删除它。即使数据库正在运行,您也可以删除该文件
内存设置
相关参数:
memory_max_target
memory_target
sga_max_size
sga_target
pga_aggregate_target
(1)对于OLTP(联机事务处理过程)系统,SGA占数据库使用总内存的80%,PGA占数据库使用内存的20%
SGA_TARGET = (total_mem * 0.8) * 0.8
PGA_AGGREGATE_TARGET=(total_mem * 0.8) * 0.2
(2)对于OLAP(联机分析处理 DSS决策支持系统)系统,对于密集大查询的系统,PGA可以占到数据库使用总内存的70%,建议最初设置数据库使用总内存的50%
SGA_TARGET= (total_mem * 0.8) * 0.5
PGA_AGGREGATE_TARGET =(total_mem * 0.8) * 0.5
以16G内存为例(手动):
memory_max_target=14G
memory_target = 12G
sga_max_size=12G
sga_target=8G
pga_aggregate_target=2G
还原到amm (pga_aggregate_target sga_target 要清零,不然他们的默认是值是最小分配值 )