Oracle数据库常用维护指南.ppt
文本预览下载声明
创建测试表 SQL create table TEST(a date); 创建一个自定义过程 SQL create or replace procedure MYPROC as 2 begin 3 insert into TEST values(sysdate); 4 end; 5 / 创建JOB SQL variable job1 number; SQL begin 2 dbms_job.submit(:job1,‘MYPROC;’,sysdate,‘sysdate+1/1440’); 3 end; 4 / 运行JOB exec dbms_job.run(:job1); 删除JOB exec dbms_job.remove(:job1); Oracle数据库 日常维护管理培训 1.1. 检查Oracle的进程 1.2. 检查Oracle监听进程 1.3. 检查Oracle实例状态 1.4. 检查Oracle alert日志 1.5. 检查Oracle核心转储目录 第一章 检查数据库的基本状况 1.1. 检查Oracle的进程 执行如下: ps -ef|grep ora_|grep -v grep 解释:在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程: ? Oracle写数据文件的进程,输出显示为:“ora_dbw0_ORCL” ? Oracle写日志文件的进程,输出显示为:“ora_lgwr_ORCL” ? Oracle系统监控的进程,输出显示为:“ora_smon_ORCL” ? Oracle进程监控的进程,输出显示为:“ora_pmon_ORCL” ? Oracle进行归档的进程,输出显示为:“ora_arc0_ORCL” ? Oracle进行检查点的进程,输出显示为:“ora_ckpt_ORCL” ? Oracle进行恢复的进程,输出显示为:“ora_reco_ORCL” 1.2. 检查Oracle监听进程 执行如下: $ lsnrctl status 解释:“Services Summary”项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中至少应该有“TESTDB”这一项。 1.3. 检查Oracle实例状态 SQLPLUS中执行如下: select instance_name,version,status,database_status from v$instance; select name,log_mode,open_mode from v$database; 解释: 第一个语句:其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。 第二个语句:其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。 1.4. 检查Oracle alert日志 执行如下: cd $ORACLE_BASE/admin/$ORACLE_SID/bdump cat alert_$ORACLE_SID.log|egrep -i ora-|err|fail 解释: 查看有无“ORA-”,“Error”,“Failed”等出错信息。 如:“ORA-07445: exception encountered: core dump [00000001015EF610] [SIGSEGV] [Address not mapped to object]”这条错误信息表示Oracle的一个进程内存异常,而导致核心转储。 1.5. 检查Oracle核心转储目录 执行如下: ls $ORACLE_BASE/admin/$ORACLE_SID/udump/*.trc|wc –l ls $ORACLE_BASE/admin/$ORACLE_SID/cdump/*.trc|wc -l 解释: 上面命令的结果是某个数字,如果这个数字每天增长10以上,则说明Oracle进程经常发生核心转储,某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。 2.1. 检查Oracle控制文件状态 2.2. 检查Orac
显示全部