[Oracle19C 数据库管理] 初始化参数
初始化参数文件
默认情况下, 初始化参数文件保存在 $ORACLE_HOME/dbs 目录中。
初始化参数分为SPFILE和Pfile两种。
-
SPFILE (Server Parameter File)
二进制文件,可以由数据库服务器进行读写。不能进行手工的修改。相对于Pfile,它可以在系统中,使用ALTER SYSTEM命令修改参数。
当创建DB的时候,DBCA可以创建出SPFILE。SPFILE的默认命名时SPFILE.ora。 -
PFILE (Text Initialization Parameter)
键值对格式的配置文件,数据库服务器可以读入系统,但无法进行写入。所以系统的配置只能关闭系统后修改,然后开启系统生效。
$ORACLE_HOME/dbs 目录有一个范例init.ora文件。可以使用这个文件创建一个init.ora, 当SPFILE不存在的时候,系统会从这个文件启动。如果Pfile不是这个名字,需要启动数据库的时候指定一下PFILE。
系统启动搜索初始化参数文件的顺序:
- SPFILE
.ora - SPFILE.ora
- init
.ORA
查看启动的SPFILE文件
SQL> SHOW PARAMETER SPFILE;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/19.0.0
/dbhome_1/dbs/spfileCDBTEST.ora
通过SPFILE创建PFILE
SQL> CREATE PFILE='$ORACLE_HOME/dbs/initCDBTEST.ora' FROM SPFILE;
File created.
基本初始化参数
SQL> show parameter db_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string CDBTEST
SQL> show parameter db_domain
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_domain string
db_recovery_file_dest指定了默认的快速恢复区域,这个区域内存放了备份的control file,online redo log, archive redo log, FlashBack log, rman backup。
SQL> show parameter db_recovery_file_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/fast_recovery_area
db_recovery_file_dest_size big integer 15000M
SGA_TARGET指定了可用的内存。指定了SGA_TARGET以后,便启用了Automatic Shared Memory Management(ASMM)自动内存管理。系统自动管理SGA
的各个池用的内存。
SGA_MAX_SIZE指定了最大的内存用量。
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size big integer 1808M
sga_target big integer 0
SQL> show parameter undo_tablespace
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace string UNDOTBS1
COMPATIBLE 参数指定了数据库必须维护的兼容性版本,可以在新的数据库系统运行旧版本的数据库。默认等于安装的数据库版本。
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 19.0.0
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/CDBTEST/control01.ctl,
/u01/app/oracle/fast_recovery_area/CDBTEST/control02.ctl
db_block_size是Oracle数据块大小,2048 - 32768,默认8192
SQL> show parameter db_block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 8192
ALTER SESSION 与 ALTER SYSTEM
从V$PARAMETER视图中,可以查看参数的信息。
- name字段 参数的名字
- value字段 参数的值
- isses_modifiable 是否可以在alter session中修改, true or false。
- isses_modifiable 是否可以在alter system中修改。IMMEDIATE 修改后对所有session立即生效。 DEFFERED只对新的SESSION生效。 FALSE 下一次重启生效。
- ispdb_modifiable 是否可以在PDB中修改这个参数, true or false。
SQL> select name, value, isses_modifiable, issys_modifiable, ispdb_modifiable
2 from v$parameter where name = 'nls_date_format';
NAME VALUE ISSES_MODIFIABLE ISSYS_MODIFIABLE ISPDB_MODIFIABLE
-------------------- --------------- -------------------- -------------------- --------------------
nls_date_format TRUE FALSE TRUE
ALTER SYSTEM的SCOPE参数
-
MEMORY
立即生效,但不写入配置文件。
如果使用PFILE启动实例,那么只能用SCOPE=MEMORY。 -
SPFILE
只是对SPFILE修改,下次启动时生效。
SCOPE=SPFILE只适用于静态参数。 -
BOTH
实例如果使用SPFILE启动,SCOPE=BOTH是默认参数。
立即对内存的参数进行修改,并且保持在SPFILE中。
与初始化参数相关的动态视图
SHOW PARAMETER 参数名 : 可以查看参数的配置,支持模糊查询。
V$PARAMETER 存放当前会话中初始化参数的值。
V$SPPARAMETER 存放了系统的SPFILE包含的内容。
SQL> alter system set sga_target=50M scope=memory;
System altered.
SQL> select name, value from v$spparameter where name='sga_target';
NAME VALUE
------------------------------ ------------------------------
sga_target
SQL> select name, value from v$parameter where name='sga_target';
NAME VALUE
------------------------------ ------------------------------
sga_target 67108864
V$PARAMETER2 包括当前会话生效的初始化参数。
posted on 2023-01-05 15:16 LeoZhangJing 阅读(966) 评论(0) 编辑 收藏 举报