第3章 参数及参数文件
按照得出方式不同,可以分为:推导参数,操作系统依赖参数,可变参数
按修改方式不同,可分为:静态参数(只能在参数文件中修改),动态参数(可以动态调整,不用重启,即刻可以生效)
按照获取方式不同,可分为:显示参数(可通过v$parameter获取),隐含参数(_开头,必须通过查询系统表方能获得)
Sessions=(1.1*processes) + 5
SQL> select name,value from v$parameter where name in ('processes','sessions');
NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
processes
150
sessions
247
SQL>
Processes 表示操作系统上能够并发向oracle数据库发起的连接进程数量。若超过最大数量,可以重启数据库,也可以kill掉进程,然后再分析解决。Processes是静态参数,不能动态修改,数据启动时,会预先为processes分配内存地址空间,并向shared pool注册,缺省每个进程会在共享池中分配4bytes的注册空间
SQL> select * from v$sgastat where name='processes';
POOL NAME
------------------------ ----------------------------------------------------
BYTES
----------
shared pool processes
600
SQL>
大小受操作系统影响,如db_cache_size(受限于物理内存)
Pfile ,spfile
视图v$spparameter文件中记录spfile文件中设置的初始化参数。
v$parameter
v$parameter显示的是session级的参数. 如果没有使用alter session单独设置当前session的参数值.
每一个新Session都是从 v$system_parameter上取得系统的当前值而产生Session的v$parameter view.
在运行过程中, v$parameter可能被用户改变.
v$parameter2
v$parameter2显示的是session级的参数.
与v$parameter之间的区别则在于v$parameter2把LIST的值分开来了, 一行变多行数据, 用ORDINAL来指示相对的位置.
v$system_parameter
v$system_parameter显示的是system级的参数, 保存的是使用alter system修改的值(scope=both或者memory). 上面两个都是当前已经生效的参数值.
v$system_parameter2
v$system_parameter2显示的是system级的参数.
v$spparameter
v$spparameter显示的就是保存在spfile中的参数值(scope=both或者spfile).
SQL > startup pfile=’xxx’;
或
SQL > startup spfile=’xxx’;
在ASM或rac环境中谨慎使用create spfile from pfile,因为pfile中往往只记录一行:
Spfile=’+my_dg2/racdb/spfileracdb.ora’
Scope=both/memory/spfile
rac环境中修改:
若只改某一个实例的参数,则要指定sid,另外,不同实例的undo_tablespace设置不同,当修改一个实例的undo表空间时,一定要注意指定相应的实例。
Alter system reset parameter <scope=memory/spfile/both> sid=’sid|*’
rac环境中需指定sid=’sid’,单实例环境中,需要指定sid=’*’ .
oracle把spfile也纳入到rman的备份恢复策略中,若配置了控制文件自动备份(autobackup),则oracle会在数据库发生重大变化(如增减表空间)时自动进行控制文件及spfile文件的备份。
(1)设置控制文件自动备份。
RMAN> configure controlfile autobackup on;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN>
(2)更改自动备份的位置。
若使用了闪回区,则控制文件的自动备份会存储在闪回中,也可以更改默认位置。
RMAN> configure controlfile autobackup format for device type disk to '/u01/autobackup/control%F';
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/autobackup/control%F';
new RMAN configuration parameters are successfully stored
RMAN>
(3)检查自动备份文件
SQL> select * from v$backup_spfile;
RECID STAMP SET_STAMP SET_COUNT MODIFICATION_TIME BYTES
---------- ---------- ---------- ---------- ------------------- ----------
COMPLETION_TIME DB_UNIQUE_NAME
------------------- ------------------------------------------------------------
1 937486464 937486464 2 2017:03:01 11:35:16 2
2017:03:01 12:54:24 ORACLE
SQL>
RMAN> list backup of spfile;
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
2 Full 9.36M DISK 00:00:01 2017:03:01 12:54:25
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20170301T125424
Piece Name: /u01/autobackup/controlc-1804284502-20170301-00
SPFILE Included: Modification time: 2017:03:01 11:35:16
SPFILE db_unique_name: ORACLE
RMAN>
自动备份的控制文件及spfile文件缺省的格式及命名规则:
C-IIIIIIIIII-YYMMDD-QQ
C:控制文件
IIIIIIIIII:DBID
YYMMDD:时间戳
QQ:序号00~FF,十六进制表示
(4)测试
使用自动备份恢复spfile文件(也可以用该方法恢复控制文件到指定的位置)
RMAN> restore spfile to '/tmp/spfileoracle.ora' from autobackup;
Starting restore at 2017:03:01 13:15:11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=29 device type=DISK
recovery area destination: /u01/app/oracle/fast_recovery_area
database name (or database unique name) used for search: ORACLE
channel ORA_DISK_1: no AUTOBACKUPS found in the recovery area
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20170301
channel ORA_DISK_1: AUTOBACKUP found: /u01/autobackup/controlc-1804284502-20170301-00
channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/autobackup/controlc-1804284502-20170301-00
channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete
Finished restore at 2017:03:01 13:15:12
RMAN>
恢复的spfile文件自动生成到指定的位置。
[oracle@oracle1 autobackup]$ ls -ld /tmp/spfileoracle.ora
-rw-r----- 1 oracle oinstall 2560 3月 1 13:15 /tmp/spfileoracle.ora
[oracle@oracle1 autobackup]$
若数据库无法mount则不能使用RMAN> restore spfile to '/tmp/spfileoracle.ora' from autobackup;恢复自动备份的控制文件或参数文件。
可以使用
Rman >restore spfile to '/tmp/spfileoracle.ora' from
‘/u01/autobackup/controlc-1804284502-20170301-00
Create <spfile/pfile=’xxx’> from memory;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31411496/viewspace-2135706/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31411496/viewspace-2135706/