Oracle Database 日常维护手册
目录
1.
登陆到数据库 ........................................................................................................................... 3 1.1. 服务器端配置Listener ................................................................................................. 3 1.2. 客户端tnsnames .......................................................................................................... 4 1.3. 检查Oracle Listener ..................................................................................................... 5 1.4. 登陆数据库的方式 ....................................................................................................... 5 1.5. 数据库的启动 ............................................................................................................... 5 1.6. 关闭数据库 ................................................................................................................... 6 用户管理 ................................................................................................................................... 6 2.1. 检察用户profile ........................................................................................................... 6 2.2. 查看用户profile参数 .................................................................................................. 6 检查数据库基本状况 ............................................................................................................... 7 3.1. 检查数据库创建日期 ................................................................................................... 7 3.2. 检查数据库版本信息 ................................................................................................... 7 3.3. 检查实例状态 ............................................................................................................... 7 3.4. 查看前台进程 ............................................................................................................... 7 3.5. 查看数据库连接的session .......................................................................................... 8 3.6. 查看连接到数据库的模式 ........................................................................................... 8 3.7. 查看并发连接数 ........................................................................................................... 8 3.8. 查看最大的连接'processes' ......................................................................................... 8 3.9. 监控系统后台进程 ....................................................................................................... 8 3.10. 查看数据库初始化参数 ........................................................................................... 8 3.11. 检查PGA使用情况 .................................................................................................. 8 3.12. 检查SGA状态 .......................................................................................................... 8 3.13. 检查Oracle服务进程 .............................................................................................. 8 3.14. 检查Oracle监听状态 .............................................................................................. 9 3.15. 检查监听进程是否存在 ......................................................................................... 10 3.16. 检查操作系统日志文件 ......................................................................................... 10 3.17. 检查oracle日志文件 ............................................................................................. 10 3.18. 检查Oracle核心转储目录 .................................................................................... 10 3.19. 检查Root用户和Oracle用户的email ................................................................. 11 检查Oracle对象状态 ............................................................................................................ 11 4.1. 检查Oracle控制文件状态 ........................................................................................ 11 4.2. 检查Oracle在线日志状态 ........................................................................................ 11 4.3. 检查Oracle表空间的状态 ........................................................................................ 12 4.4. 检查Oracle所有数据文件状态 ................................................................................ 12 4.5. 检查无效对象 ............................................................................................................. 12 4.6. 检查所有回滚段状态 ................................................................................................. 13 4.7. 检查用户下的表 ......................................................................................................... 13
2.
3.
4.
5.
6.
7.
4.8. 检查用户默认表空间 ................................................................................................. 13 4.9. 检查当前用户角色及权限 ......................................................................................... 13 4.10. 检查用户下的各个表的大小 ................................................................................. 13 4.11. 检查一个表的创建时间 ......................................................................................... 13 4.12. 检查某个表的大小 ................................................................................................. 13 4.13. 检查每个表占用磁盘空间情况 ............................................................................. 14 检查Oracle相关资源的使用情况 ........................................................................................ 14 5.1. 检查Oracle初始化文件中相关参数值 .................................................................... 14 5.2. 检查数据库连接情况 ................................................................................................. 15 5.3. 检查系统磁盘空间 ..................................................................................................... 16 5.4. 检查表空间使用情况 ................................................................................................. 16 5.5. 检查一些扩展异常的对象 ......................................................................................... 18 5.6. 检查表空间碎片情况 ................................................................................................. 18 5.7. 检查system表空间内的内容.................................................................................... 18 5.8. 检查对象的下一扩展与表空间的最大扩展值 ......................................................... 19 5.9. 检查flash recovery area空间 .................................................................................... 19 检查Oracle数据库性能 ........................................................................................................ 19 6.1. 查询表空间读写情况 ................................................................................................. 19 6.2. 查询redo log buffer的繁忙程度 ............................................................................... 20 6.3. 判断undo表空间的使用情况 .................................................................................. 20 6.4. 分析日志组切换频率 ................................................................................................. 21 6.5. 查看等待事件 ............................................................................................................. 21 6.6. 检查数据库cpu、I/O、内存性能 ............................................................................. 22 6.7. 内存使用情况 ............................................................................................................. 22 6.8. 系统I/O情况 ............................................................................................................. 22 6.9. 系统负载情况 ............................................................................................................. 23 6.10. 查看是否有僵死进程 ............................................................................................. 23 6.11. 检查缓冲区命中率 ................................................................................................. 23 6.12. 检查共享池命中率 ................................................................................................. 24 6.13. 检查排序区 ............................................................................................................. 24 6.14. 检查日志缓冲区 ..................................................................................................... 24 6.15. 检查失效的索引 ..................................................................................................... 24 6.16. 检查不起作用的约束 ............................................................................................. 24 6.17. 检查无效的trigger ................................................................................................. 24 6.18. 检查尚未建立索引的表 ......................................................................................... 25 6.19. 检查运行时间长的SQL .......................................................................................... 25 6.20. 检查性能差的前10条SQL .................................................................................... 25 6.21. 查看占 io 较大的正在运行的 session ................................................................ 25 6.22. 检查消耗CPU最高的PID对应的SQL ................................................................. 25 6.23. 检查占用CPU多的session ................................................................................... 26 6.24. 检查表空间的IO .................................................................................................... 26 6.25. 检查临时表空间IO ................................................................................................ 26 6.26. 检查锁和等待 ......................................................................................................... 26 检查数据库安全性 ................................................................................................................. 27
7.1. 检查系统安全日志信息 ............................................................................................. 27 7.2. 检查登录失败的日志: ............................................................................................. 27 7.3. 检查用户修改密码 ..................................................................................................... 27 8. 数据表空间日常维护 ............................................................................................................. 27
8.1. 查看表空间的一些信息 ............................................................................................. 27 8.2. 创建表空间 ................................................................................................................. 28 8.3. 表空间扩容 ................................................................................................................. 28 8.4. 创建大数据文件 ......................................................................................................... 28 8.5. 数据表空间文件迁移 ................................................................................................. 29 8.6. 不停机移动表空间文件 ............................................................................................. 30 9. 存储过程管理 ......................................................................................................................... 30
9.1. 找出特定用户的存储过程 ......................................................................................... 30 9.2. 通过表名找出存储过程 ............................................................................................. 30 9.3. 查看存储过程内容 ..................................................................................................... 30 10. 触发器管理 ......................................................................................................................... 31
10.1. 找出数据库中所有触发器 ..................................................................................... 31 10.2. 找出特定用户的触发器 ......................................................................................... 31 10.3. 找出当前用户定义的触发器 ................................................................................. 31 10.4. 查看某个用户自定义的触发器内容 ..................................................................... 31 10.5. 查看某个表关联的触发器 ..................................................................................... 31 10.6. 查看当前用户所有触发器及存储过程 ................................................................. 31 11. Redo Log 管理 .................................................................................................................... 31
11.1. 离线迁移日志文件 ................................................................................................. 31 11.2. 在线更改Redo Log文件容量 ................................................................................ 32
1. 登陆到数据库
1.1. 服务器端配置Listener
LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY =racdb1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.10)(PORT = 1521)) ) )
ADR_BASE_LISTENER = /u01/app/oracle SID_LIST_LISTENER= (SID_LIST=
(SID_DESC= #BEQUEATH CONFIG
(GLOBAL_DBNAME=racdb1) (SID_NAME=racdb1)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
#PRESPAWN CONFIG (PRESPAWN_MAX=20) (PRESPAWN_LIST=
(PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1)) ) ) )
说明
GLOBAL_DBNAME=racdb1
Service 名称,在客户端一定配置和他相同 SID_NAME=racdb1
实例名称,这个要和SID相同
GLOBAL_DBNAME可以不等于SID_NAME
客户端根据tnsname.ora中的SERVICE_NAME和地址(ADDRESS = (PROTOCOL = TCP)(HOST =racdb1)(PORT = 1521)),到这个地址去访问监听器。然后监听器根据文件lisnter.ora文件中的GLOBAL_NAME来判断是否有一个GLOBAL_DBNAME 和 SERVICE_NAME 相等。如果相等,则建立客户端到SID标识的服务端实例的连接,在客户端上我们可以使用tnsping 命令来测试
1.2. 客户端tnsnames
racdb1 =
(description = (address_list =
(address = (protocol = tcp)(host = 192.168.137.10)(port = 1521)) )
(connect_data =
(service_name =racdb1)(ur=a) ) )
说明
这里的service_name =racdb1 就是在服务器端的GLOBAL_DBNAME=racdb1 [oracle@racdb1 ~]$ tnspingracdb1
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 21-JAN-2015 14:51:49 Copyright (c) 1997, 2009, Oracle. All rights reserved.
TNS-03502: Insufficient arguments. Usage: tnsping [
TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 21-JAN-2015 14:51:55 Copyright (c) 1997, 2009, Oracle. All rights reserved. Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (description = (address_list = (address = (protocol = tcp)(host = racdb1)(port = 1521))) (connect_data = (service_name = racdb1)(ur=a))) OK (0 msec)
1.3. 检查Oracle Listener
lsnrctl stop lsnrctl start lsnrctl status lsnrctl service
1.4. 登陆数据库的方式
说明
修改登陆oracle 认证模式
默认情况下我们oracle 安装好后是使用操作系统用户的验证,所以这里如果我们使用sys用户不用密码就可以登录,如果我们想使用oracle 密码文件验证的话我们就要进入下列文件夹 cd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin修改sqlnet.ora 增加下列命令
SQLNET.AUTHENTICATION_SERVICES = NONE
说明
配置了tnsnames登录数据库方式
[oracle@racdb1 ~]$ sqlplus scott/111111@racdb1 sqlplus /nolog
使用scott登陆到指定数据库racdb1 conn sys/111111@racdb1 AS SYSDBA; 察看登陆到了哪个数据库实例
select instance_name from v$instance 使用sys用户登陆
conn sys/change_on_installer as sysdba 用sysdba 登陆 conn /as sysdba
使用sys用户登录
conn sys/change_on_install as sysdba; conn / as sysdba 连接数据库
conn scott/111111 使用scott进行连接 1.5. 数据库的启动 数据库启动方式
方式 startup 含义 启动实例、装载数据库、打开数据库 启动实例,不加载数据库 启动实例,加载数据库但不打开数据库 启动过程中限制访问数据库 强制数据库启动 使用非缺省参数文件启动数据库,以特定文件中指定参数启动数据库,本例为”/oracle/app/oracle/product/11g/dbs/initminos.ora startup nomount startup mount startup restrict startup force startup pfile=/oracle/app/oracle/product/10g/dbs/initminos.ora