Oracle11G日常维护手册(2)

2019-01-19 13:00

startup

启动实例、装载数据库、打开数据库 startup open racdb1 startup nomount

启动数据库实例, 该步骤只是启动了一个数据库实例. 在此状态下我们可以访问下列结构文件 Select * from v$instance; Select * from v$bgprocess; Select * from v$sga;

利用以前读取的参数文件查找控制文件,这些控制文件包含数据文件名和重做日志名,然后将数据库装载.

alter database mount

一旦这一步完成我们就可以看到下列状态 select * from v$database; select * from v$tablespace; select * from v$log;

实例验证数据文件及日志文件并启动数据库 alter database open; 打开数据库 startup restrict

启动过程中限制访问数据库 alter system enable restricted session grant restrict session to scott

上述命令是只有用户拥有restrict 权限才可以连接 启动数据库后起的进程

select name, DESCRIPTION from v$bgprocess where paddr<>'00';

1.6. 关闭数据库

shutdown normal

等待用户完成工作然后关闭 Shutdown transactional

等待用户完成工作但是强制关闭连接 shutdown immediate

立即关闭 ,当前所有做工作回滚到一致状态,断开其连接 shutdown abort

强制关闭,非干净关闭,下次重起后要回滚日志

2. 用户管理

2.1. 检察用户profile select username,profile from dba_users where username='SCOTT'; 2.2. 查看用户profile参数 select * from dba_profiles where profile='DEFAULT';

3. 检查数据库基本状况

3.1. 检查数据库创建日期 Select Created, Log_Mode From V$Database; CREATED LOG_MODE ----------- ------------ 2014/8/17 1 NOARCHIVELOG 3.2. 检查数据库版本信息 Select version from Product_component_version where SUBSTR(PRODUCT,1,6)='Oracle'; 3.3. 检查实例状态 SQL> SELECT inst_id, instance_name, host_name, VERSION, TO_CHAR (startup_time, 'yyyy-mm-dd hh24:mi:ss') startup_time, status, archiver, database_status FROM gv$instance; SELECT inst_id, dbid, NAME, TO_CHAR (created, 'yyyy-mm-dd hh24:mi:ss') created, log_mode, TO_CHAR (version_time, 'yyyy-mm-dd hh24:mi:ss') version_time,open_modeFROM gv$database; INST_ID DBID NAME CREATED LOG_MODE VERSION_TIME OPEN_MODE ---------- ---------- --------- ------------------- ------------ ------------------- -------------------- 1 94264408 RACDB1 2014-08-17 16:34:32 NOARCHIVELOG 2014-08-17 16:34:32 READ WRITE 说明

其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。 SQL> select name,log_mode,open_mode from v$database; NAME LOG_MODE OPEN_MODE --------- ------------ -------------------- RACDB1 ARCHIVELOG READ WRITE 其中“LOG_MODE”表示Oracle当前的归档方式。“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。在我们的系统中数据库必须运行在归档方式下。

3.4. 查看前台进程 ps -C oracle -o 'rsz,sid,cmd'|grep LO free -m|egrep -v 'total|buffers'|awk '{ print $1,$3 }' 说明说明 Oracle 的前台进程是操作系统进程,它和oracle session 一一对应,官方建议,oracle sesson =1.5*process +20

3.5. 查看数据库连接的session SQL>select count(*) from v$session; 3.6. 查看连接到数据库的模式 select program from v$process order by program; select d.NAME,s.NAME from v$dispatcher d,v$shared_server s,v$circuit c where d.PADDR=c.DISPATCHER and s.PADDR=c.SERVER 说明(S012)以s001等就是共享模式连接

3.7. 查看并发连接数 select count(*) from v$session where status='ACTIVE'; 3.8. 查看最大的连接'processes' SQL> select value from v$parameter where name = 'processes' 3.9. 监控系统后台进程 SQL> Select name,Description From V$BGPROCESS Where Paddr<>'00'; 3.10. 查看数据库初始化参数 select name,value from v$parameter where isbasic='TRUE' order by name; 这些参数是当前数据库已经应用的参数 3.11. 检查PGA使用情况 select name,value from v$pgastat where name in ('maximum PGA allocated','total PGA allocated'); 说明3.12. 检查SGA状态 SELECT request_misses, request_failures FROM v$shared_pool_reserved; Selectcomponent,current_size,min_size,max_size from v$sga_dynamic_components; REQUEST_MISSES REQUEST_FAILURES -------------- ---------------- 0 0 期望结果:request_misses和request_failures应该接近于0。

巡检说明:request_misses是保留列表没有满足请求的可用内存片从而开始利用LRU列表刷新对象的次数;request_failures是未找到满足请求的内存次数。 3.13. 检查Oracle服务进程 [oracle@racdb1 ~]$ ps -ef|grep ora_|grep -v grep&&ps -ef|grep ora_|grep -v grep|wc ?l oracle 4459 1 0 15:53 ? 00:00:00 ora_pmon_racdb1 oracle 4461 1 0 15:53 ? 00:00:17 ora_vktm_racdb1 oracle 4465 1 0 15:53 ? 00:00:00 ora_gen0_racdb1 oracle 4467 1 0 15:53 ? 00:00:00 ora_diag_racdb1 oracle 4469 1 0 15:53 ? 00:00:00 ora_dbrm_racdb1 oracle 4471 1 0 15:53 ? 00:00:00 ora_psp0_racdb1 oracle 4473 1 0 15:53 ? 00:00:02 ora_dia0_racdb1 oracle 4475 1 0 15:53 ? 00:00:00 ora_mman_racdb1 oracle 4477 1 0 15:53 ? 00:00:00 ora_dbw0_racdb1 oracle 4479 1 0 15:53 ? 00:00:01 ora_lgwr_racdb1 说明oracle 4481 1 0 15:53 ? 00:00:05 ora_ckpt_racdb1 oracle 4483 1 0 15:53 ? 00:00:00 ora_smon_racdb1 oracle 4527 1 0 15:53 ? 00:00:00 ora_arc0_racdb1 oracle 4485 1 0 15:53 ? 00:00:00 ora_reco_racdb1 在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程: . Oracle写数据文件的进程,输出显示为:“ora_dbw0_racdb1” . Oracle写日志文件的进程,输出显示为:“ora_lgwr_racdb1” . Oracle监听实例状态的进程,输出显示为:“ora_smon_racdb1”

. Oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_racdb1” . Oracle进行归档的进程,输出显示为:“ora_arc0_racdb1” . Oracle进行检查点的进程,输出显示为:“ora_ckpt_racdb1” . Oracle进行恢复的进程,输出显示为:“ora_reco_racdb1” 3.14. 检查Oracle监听状态 [oracle@racdb1 ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 21-JAN-2015 17:00:42 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=racdb1))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 21-JAN-2015 12:37:48 Uptime 0 days 4 hr. 22 min. 53 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/racdb1/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=racdb1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.137.10)(PORT=1521))) Services Summary... Service \ Instance \Service \ Instance \, has 1 handler(s) for this service... Service \ Instance \, has 1 handler(s) for this service... The command completed successfully 说明说明File

“Services Summary”项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中至少应该有“racdb1XDB”这一项。

3.15. 检查监听进程是否存在 [oracle@racdb1 ~]$ ps -ef|grep lsn|grep -v grep oracle 2140 1 0 12:37 ? 00:00:01 /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr LISTENER -inherit 3.16. 检查操作系统日志文件 [root@racdb1 ~]# cat /var/log/messages |grep failed 说明 查看是否有与Oracle用户相关的出错信息。 3.17. 检查oracle日志文件 SQL> select value from v$diag_info where name='Diag Trace'; VALUE -------------------------------------------------------------------------------- /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace cat /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log | grep ora- cat /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log | grep err [oracle@racdb1 trace]$ cat /u01/app/oracle/diag/rdbms/racdb1/racdb1/trace/alert_racdb1.log | grep fail Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;对数据库进行的某些操作,如创建或删除表空间、增加数据文件;数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)等。定期检查日志文件,根据日志中发现的问题及时进行处理: 问题 启动参数不对 因为检查点操作或归档操作没有完成造重做日志不能切换 有人未经授权删除了表空间 出现坏块 检查初始化参数文件 如果经常发生这样的情况,可以考虑增加重做日日志文件组;想办法提高检查点或归档操作的效率; 检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限 检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建 增加数据文件到相应的表空间 根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁 处理 说明表空间不够 出现ORA-600 3.18. 检查Oracle核心转储目录 SQL> select value from v$parameter where name='core_dump_dest'; VALUE --------------------------------------------------------------------------------


Oracle11G日常维护手册(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新课标人教版小学六年级语文上册第 6 单元测试卷2带答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: