Everything has its time and that time must be watched.
万物皆有时,时来不可失
1,管理参数文件
参数文件分两种spfile二进制文件和pfile文本文件,二进制文件通过sql修改,文本文件通过vim修改;
参数优先级为spfile$ORACLE_SID.ora, spfile.ora, init$ORACLE_SID.ora;
参数文件的默认路径为$ORACLE_HOME/dbs(Linux系统)、database(Window系统);
2,恢复参数文件
cd $ORACLE_BASE/diag/rdbms/orcl/orcl/trace
cat alert.log
vim $ORACLE_HOME/dbs/initorcl.ora #编辑文本参数文件,将alert日志中参数部分复制粘贴
show parameter spfile #若为空值为使用pfile启动
create spfile from pfile;
startup force #重启会先使用spfile
总结:恢复参数文件几种方法,从日志中创建pfile、手动创建pfile、从pfile创建spfile、从内存创建spfile
3,修改job参数
show parameter job;
alter system set job_queue_process=500;
4,修改内存参数
show parameter memory;
alter system set memory_target=1G; #Oracle最小块为16B,此值必须是16的整倍数,不得超过MAX
alter system set memory_target=1G scope=spfile; #成功
alter system set memory_target=1G scope=memory; #失败
alter system set memory_target=1G scope=both;
注意:修改了参数文件重启之后,memory_max_target自动修改
vim /etc/fstab #size参数默认为物理内存一半,可以改成和物理内存一致
mount -o remount /dev/shm #重新挂载
df -h #查看分区
注意:当memory_target大于系统tmpfs,数据库无法启动
5,数据库状态
startup nomount force;
select * from v$instance; #可以
select * from v$controlfile; #没打开控制文件,查询不到结果
select * from v$database; #不行
sqlplus scott/tiger #不行
sqlplus as /sysdba #可以
alter database mount;
alter database open;
tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log
shutdown normal
shutdown transactional
shutdown immediate #最常用
shutdown abort
总结:四个状态close、nomount、mount、open,分别需要参数文件、控制文件、数据文件及日志文件
6,创建控制文件,对控制文件进行多元备份
startup force nomount #创建控制文件必须在nomount状态,此状态并未加载控制文件
show parameter contorl;
alter system set control_files='/data/orcl/control01.ctl','/data/orcl/control02.ctl','/data/orcl/control03.ctl' scope=both;
alter database mount;