《oracle日常管理与维护PPT教学课件》由会员分享,可在线阅读,更多相关《oracle日常管理与维护PPT教学课件(73页珍藏版)》请在金锄头文库上搜索。
1、Oracle数据库维护教程 目录 1 实例的启动与关闭 连接数据库 sqlplus nolog启动SQL Plus 不连接库SQL sqlplus assysdba 以DBA身份连接库以其它用户身份连接数据库SQL connscott tiger db或SQL connscott tiger 数据库启动阶段包括3个过程 Nomount 实例启动Mount 数据库mount 加载控制文件Open 数据文件全部打开 可以正常访问 OPEN MOUNT NOMOUNT SHUTDOWN 实例中控制文件描述的所有文件被打开 控制文件打开 实例启动 STARTUP SHUTDOWN 数据库启动阶段 co
2、nnect assysdbaselect fromv instance 无法查询实例信息 实例未启动或者 操作系统下ps ef grepora Nomount阶段 数据库无法启动到nomount 操作系统内核参数是否足够初始化参数文件是否可读初始化参数文件内容正确相应参数是否调整过大 导致内存 后台进程无法分配可以尝试重启数据库服务器后再次启动数据库 connect assysdbaselect fromv instance 如果信息无法查询 说明数据库没有mount尝试mount数据库alterdatabasemount Mount阶段 数据库无法mount 检查初始化参数文件中contro
3、l files设置是否可读检查操作系统上控制文件是否可读写可能控制文件被意外损坏 ALTERDATABASE命令 改变数据库状态从nomount到mountstartupnomount alterdatabasemount 从mount状态到open状态alterdatabaseopen ALTERDATABASE命令用来改变数据状态 及数据文件状态 关闭数据库 Axxxx Txxoo Ixxxo 关闭模式允许新连接等待当前会话终止等待当前事务终止强迫执行一次checkpoint且关闭文件 Nxooo 关闭模式 NORMALTRANSACTIONALIMMEDIATEABORT YES NO
4、xo 关闭选项 在ShutdownNormal ShutdownTransactionalorShutdownImmediate三种模式下 Database一致 关闭过程 数据库buffer中的数据写进数据文件未提交的修改回滚资源释放 开启过程 不需要实例恢复 关闭选项 在ShutdownAbort或InstanceFailure或StartupForce Database不一致 关闭过程 修改过的buffer不写进数据文件未提交事务不回滚 开启过程 重做日志用于重写修改Undo用于回滚未提交的修改释放资源 通过监控诊断文件管理实例 当实例可操作时 诊断文件包含重要关键事件信息有助于解决问题和
5、更好的进行数据库日常管理诊断文件种类 alertSID log文件Backgroundtracefiles 后台跟踪文件 Usertracefiles 用户跟踪文件 AlertLogFile 警示文件 alertSID log文件记录下数据库运行时主要事件的命令和结果 用于记录日常操作信息或诊断数据库错误 文件中每一个条目都一个时间戳 DBA管理alertSID log文件 存储位置由BACKGROUND DUMP DEST参数指定 BackgroundTraceFiles 后台跟踪文件 每个后台进程的错误都会产生后台跟踪文件 用于诊断和解决错误 当后台进程遇到错误就产生跟踪文件存储位置由BA
6、CKGROUND DUMP DEST参数指定 UserTraceFile 用户跟踪文件 用户跟踪文件由连到Oracle服务器的用户进程产生 文件中包含被跟踪的SQL语句的统计信息或用户错误消息 当用户会话遇到错误将会产生此文件serverprocess也可产生此文件存储位置由USER DUMP DEST参数指定文件大小由MAX DUMP FILE SIZE参数指定 默认值为10M 2 数据库日常检查与维护 检查数据库状态确认数据库是否在open状态 正常提供服务 sqlplus assysdba其中 STATUS 表示Oracle当前的实例状态 必须为 OPEN DATABASE STATUS
7、 表示Oracle当前数据库的状态 必须为 ACTIVE 数据库的日常检查 检查数据库版本SQL select fromv version 数据库的日常检查 数据库的日常检查 检查oracle服务进程 ps ef grepora 在检查Oracle的进程命令输出后 输出显示至少应包括以下一些进程 Oracle写数据文件的进程 输出显示为 ora dbw0 crsdb Oracle写日志文件的进程 输出显示为 ora lgwr crsdb Oracle监听实例状态的进程 输出显示为 ora smon crsdb Oracle监听客户端连接进程状态的进程 输出显示为 ora pmon crsdb
8、Oracle进行归档的进程 输出显示为 ora arc0 crsdb Oracle进行检查点的进程 输出显示为 ora ckpt crsdb Oracle进行恢复的进程 输出显示为 ora reco crsdb 数据库的日常检查 查看操作系统日志文件 cat var adm syslog syslog log grepfailed cat var adm syslog syslog log greperror看是否有与oracle相关的出错信息 数据库的日常检查 查看oracle日志文件 cat ORACLE HOME log server1 alterserver1 log grepora
9、cat ORACLE HOME log server1 alterserver1 log grepfail cat ORACLE HOME log server1 alterserver1 log greperrorOracle在运行过程中 会在警告日志文件 alert SID log 中记录数据库的一些运行情况 数据库的启动 关闭 启动时的非缺省参数 数据库的重做日志切换情况 记录每次切换的时间 及如果因为检查点 checkpoint 操作没有执行完成造成不能切换 会记录不能切换的原因 对数据库进行的某些操作 如创建或删除表空间 增加数据文件 数据库发生的错误 如表空间不够 出现坏块 数据库
10、内部错误 ORA 600 等 数据库的日常检查 定期检查日志文件 根据日志中发现的问题及时进行处理 数据库的日常检查 查看root用户和数据库用户的email tail n200 var mail root tail n200 var mail oracle查看有无与oracle用户相关出错信息 数据库的日常检查 检查Oracle控制文件状态SQL selectstatus namefromv controlfile STATUSNAME data oradata crsdb control01 ctl data oradata crsdb control02 ctl data oradata
11、 crsdb control03 ctl输出结果应该有3条以上 包含3条 的记录 STATUS 应该为空 状态为空表示控制文件状态正常 数据库的日常检查 检查Oracle在线日志状态SQL selectgroup status type memberfromv logfile GROUP STATUSTYPEMEMBER 1ONLINE DATA crsdb onlinelog group 1 257 8367341812ONLINE DATA crsdb onlinelog group 2 258 8367341813ONLINE DATA crsdb onlinelog group 3 2
12、65 8367371654ONLINE DATA crsdb onlinelog group 4 266 836737165输出结果应该有3条以上 包含3条 记录 STATUS 应该为非 INVALID 非 DELETED 注 STATUS 显示为空表示正常 数据库的日常检查 检查Oracle表空间状态输出结果中STATUS应该都为ONLINE 数据库的日常检查 检查Oracle表空间所有数据文件状态SQL selectname statusfromv datafile NAMESTATUS DATA crsdb datafile system 259 836734181SYSTEM DATA
13、 crsdb datafile sysaux 260 836734183ONLINE DATA crsdb datafile undotbs1 261 836734185ONLINE DATA crsdb datafile undotbs2 263 836734197ONLINE DATA crsdb datafile users 264 836734199ONLINE输出结果中 STATUS 应该都为 ONLINE 或者SQL selectfile name statusfromdba data files 输出的status必须为available 数据库的日常检查 检查所有回滚段状态SQ
14、L selectsegment name statusfromdba rollback segs 数据库的日常检查 检查数据库连接情况SQL selectcount fromv session 查看会话连接数SQL selectsid serial username program machine statusfromv session 查看会话连接的详细信息 数据库的日常检查 STATUS 当前这个会话的状态 ACTIVE表示会话正在执行某些任务 INACTIVE表示当前会话没有执行任何操作 如果建立了过多的连接 会消耗数据库的资源 同时 对一些 挂死 的连接可能需要手工进行清理 如果DBA
15、要手工断开某个会话 则执行 一般不建议使用这种方式去杀掉数据库的连接 这样有时候session不会断开 容易引起死连接 建议通过sid查到操作系统的spid 使用ps ef grepspidno的方式确认spid不是ORACLE的后台进程 使用操作系统的kill 9命令杀掉连接 altersystemkillsession SID SERIAL 注意 上例中SID为1到10 USERNAME列为空 的会话 是Oracle的后台进程 不要对这些会话进行任何操作 数据库的日常检查 检查系统磁盘空间如果文件系统的剩余空间过小或增长较快 需对其进行确认并删除不用的文件以释放空间 数据库的日常检查 查看
16、表空间使用情况 使用图形化管理界面查看 如果空闲率 Free小于10 以上 包含10 则注意要增加数据文件来扩展表空间而不要是用数据文件的自动扩展功能 请不要对表空间增加过多的数据文件 增加数据文件的原则是每个数据文件大小为2G或者4G 自动扩展的最大限制在8G 3 使用企业管理器管理数据库 listener ora Listener 客户端 服务端 tnsnames ora sqlnet ora 远程管理 配置远程企业管理器 远程连接数据库确认远程客户端与服务器端是网络相通的 配置远程企业管理器 监听工具工具可通过下面命令使用 lsnrctlstart 开启监听 lsnrctlstatus 查看监听状态 lsnrctlstop 停止监听 配置远程企业管理器 配置本地网络服务 配置本地网络服务 配置本地网络服务 配置本地网络服务 配置本地网络服务 配置本地网络服务 配置本地网络服务 配置本地网络服务下一步 直至完成 打开客户端上安装的企业管理器 登录数据库 远程管理数据库点击相应的选项 查看 更改数据库上一章的数据库日常检查也可以通过企业管理器操作 简单易读 远程企业管理器管理数据库