- List item
本篇结合自己经历,介绍下Oracle日常运维(一线DBA必备技能)的一些基本项目。
1.日常巡检基础管理
1.1 DB实例状态巡检
检查实例-linux/unix操作系统层面
ps -ef|grep smon/pmon;
登录数据库(注意备库)
select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE
监听状态
lsnrctl status
集群状态
su - grid
crsctl stat res -t
1.2 空间管理
数据库突然连接异常首先检查空间
1.2.1查看系统本地磁盘空间:
AIX:df -g
HP-UX:bdf
Lilux:df -h
1.2.2表空间状况:查看表空间(dba_data_files,dba_free_space)
col tablespace_name for a30 ;
set pages 20000; c
omp sum of "Total_GB" "Used_GB" "Free_GB" on report set lines 200;
break on report select b.TablespaceName "Tablespace_name",
round(sum(b.UsedByte) / 1024/1024/1024) "Total_GB",
round((sum(b.UsedByte)-sum(a.FreeByte))/ 1024/1024/1024)
"Used_GB", round(sum(a.FreeByte) / 1024/1024/1024)
"Free_GB", round(sum(b.ExtensibleByte) / 1024/1024/1024)
"Extend_GB", round(sum(a.FreeByte + b.ExtensibleByte) *
100 / sum(b.UsedByte + b.ExtensibleByte), 2) "Free(%)",
sum(a.Extend) TotalExtends from (select sum(bytes)
FreeByte, count(*) Extend, file_id FileID,
tablespace_name TablespaceName from dba_free_space group
by file_id, tablespace_name union all select
sum(bytes_free) FreeByte, count(*) Extend, file_id FileID,
tablespace_name TablespaceName from v$temp_space_header
group by file_id, tablespace_name) a, (select
decode(autoextensible, 'YES', decode(sign(maxbytes -
bytes), 1, maxbytes - bytes, 0), 0) ExtensibleByte, bytes
UsedByte, file_id FileID, tablespace_name TablespaceName
from dba_data_files union all select
decode(autoextensible, 'YES', decode(sign(maxbytes -
bytes), 1, maxbytes - bytes, 0), 0) ExtensibleByte, bytes
UsedByte, file_id FileID, tablespace_name TablespaceName
from dba_temp_files) b where b.FileID = a.FileID(+) and
b.TablespaceName= a.TablespaceName(+) group by
b.TablespaceName order by b.TablespaceName;
给业务表空间扩容:
alter tablespace tbs_data add datafile ‘/oradata/orcl/tbs_data_01.dbf’ size 10G ;
UNDO表空间
alter tablespace undotbs1 add datafile…
temp表空间(不写文件名,只限于ASM)
alter tablespace temp add tempfile ‘+DATA’ size 100m;
redo添加
1.加大redo的大小(redo大小保持一致)
2.增加日志组数
alter database add logfile ‘+DATA’ size 200M
redo添加按thread(实例线程)
alter database add logfile thread 2 ‘+data’ size 200M;
删除redo
alter system switch logfile;
alter database drop logfile group 5;
1.2.3ASM空间
ASM主机层面添加磁盘
ASM扩容
- 主机添加共享磁盘
- 更改配置文件
/etc/udev/rules.d/99-oracle-asmdisk.rules
3.生效配置文件
4.使用grid登录进行添加
su - grid
sqlplus / as sysasm
alter diskgroup DATA add disk ‘/dev/asm-data3’,‘/dev/asmdata4’ rebalance power 5;
reblance power 级别取值一般设置5
耗时查看
select * from v$asm_operation;
1.3告警日志查看
1.3.1 查看操作系统日志系统日志
AIX
errpt
Linux
/var/log/messages
1.3.2 集群日志
cssd:节点间的通讯
crsd:节点内部通讯(ASM——db)
11G以及之前:
$ORACLE_HOME/log
集群日志:
$ORACLE_BASE/diag/crs/HOSTNAME/crs/trace/alert.log
ASM实例:
$ORACLE_BASE/diag/asm/+asm/+ASM1/trace/alert_+ASM1.log;
1.3.3数据库alert日志
$ORACLE_BASE/diag/rdbms/DBNAME/SID/trace/alert_SID.log
或者trace日志:alert_SID.XML
限于篇幅,未完待续。。。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB基本知识和排障案例及经验、性能调优等。