首页 > 数据库 > Oracle > Oracle数据库日常管理 项目现场篇
Oracle数据库日常管理_项目现场篇
确认所有的instance工作正常,登陆到所有的数据库或instance上,检测oracle后台进程
GDDB4-/export/home/oracle> env | grep SID
ORACLE_SID=UWNMS3
GDDB4-/export/home/oracle> ps -ef|grep UWNMS3 | grep -v grep | grep ora
如果文件系统的剩余空间小于10%,则需要删除不必要的文件以释放空间。
GDDB4-/export/home/oracle> df -h
Filesystem
/dev/md/dsk/d0
/proc
mnttab
fd
swap
dmpfs
dmpfs
swap
/dev/vx/dsk/data10dg/Ora_File_Vol01
/dev/vx/dsk/data1dg/vola0131
注意:需要特别关注根目录,数据库软件和数据库备份所在目录的剩余空间情况!
备注:数据库运行日志的及时清除
1). 可清除bdump,cdump,udump下的相关日志
$ cd bdump
$ ls -l
total 174
-rwxrwxrwx
-rwxrwxrwx
-rw-r-----
-rwxrwxrwx
-rwxrwxrwx
-rwxrwxrwx
-rwxrwxrwx
-rwxrwxrwx
-rwxrwxrwx
$ cp /dev/null alert_UWNMS1.log
$ rm *.trc
$ cd ../cdump
$ ls -l
total 4
drwxr-x---
drwxr-x---
$ cd ../udump
$ ls -l
total 20042
-rw-r-----
-rw-r-----
-rwxrwxrwx
-rw-r-----
-rwxrwxrwx
-rwxrwxrwx
-rwxrwxrwx
-rw-r-----
-rw-r-----
-rw-r-----
-rw-r-----
-rwxrwxrwx
-rwxrwxrwx
2). 可清除oracle的监听日志
$ cd $ORACLE_HOME/network/log
$ ls -l
total 533072
-rwxrwxrwx
-rw-r--r--
$ cp /dev/null listener.log
1. 联接每一个操作管理系统
2. 使用‘TELNET’或是可比较程序
3. 对每一个管理实例,经常的执行$ORACLE_BASE//bdump 操作,并使其能回退到控制数据库的SID。
4. 在提示下,使用UNIX 中的‘TAIL’命令查看alert_.log,或是用其他方式检查文件中最近时期的警告日志
5. 如果发现任何ORA_ERRORS (ORA-XXX) 的错误,将它记录并且仔细的研究它们,或反馈给DB组
如何确定警告日志文件的路径?
通过参看起始参数文件 init.ora,而起始参数文件一般存储在$ORACLE_HOME/dbs下
$ cd $ORACLE_HOME/dbs
$ cat initUWNMS1.ora
*.background_dump_dest='/opt/oracle/product/10g/admin/UWNMS1/bdump'
*.core_dump_dest='/opt/oracle/product/10g/admin/UWNMS1/cdump'
*.user_dump_dest='/opt/oracle/product/10g/admin/UWNMS1/udump'
※对RMAN备份方式:
检查第三方备份工具的备份日志以确定备份是否成功
如果具备恢复目录的,可直接登陆到rman环境下,发命令list backup查看具体备份集合的情况;
GDDB4-/> rman target=sys/xxx@uwnms3 catalog=rman/rman@uwnms3
Recovery Manager: Release 10.2.0.3.0 - Production on Thu Jul 31 11:39:37 2008
Copyright (c) 1982, 2005, Oracle.
connected to target database: UWNMS3 (DBID=2229785441)
connected to recovery catalog database
RMAN> list backup;
List of Backup Sets
===================
BS Key
------- ---- -- ---------- ----------- ------------ -------------------
422624
※对EXPORT,EXPDP逻辑备份方式:
检查exp,expdp日志文件以确定备份是否成功
※对其他备份方式:
检查相应的日志文件
1. 检查在表空间中有没有剩余空间。
对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天的预期的需要。当数据库中已有的数据是稳定的,数据日增长的平均数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增长。
脚本:
select t.tablespace_name, total, free, round(100*(1-(free/total)),3)||'%' as已使用的空间比例
from (select tablespace_name, sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) t,(select tablespace_name, sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name) f
where t.tablespace_name=f.tablespace_name(+)
and t.tablespace_name not in
('DRSYS','ORDIM','SPATIAL','USERS','TOOLS','XDB')
order by round(100*(1-(free/total)),3) desc;
2. 识别出表空间下一些过分的对象空间增长
查看数据库中超出资源或是增长速度过大的段,具体分析看是否需要调整。
select owner,segment_name,partition_name,bytes/1024/1024 from dba_segments where tablespace_name = 'NRMTBS' order by bytes desc
根据实际情况,先清除临时无用的数据库对象;或回收部分频繁dml操作的库表空间
Oracle 10g下的一些处理:
-- 库表:
alter table prdb.MLOG$_FACT_AGG2BSC_BASE_PI move
注意:move后建立于数据库对象上的索引会失效,记住一定要重新编译!!
-- 索引:
alter index NPMDB.UQ_TPA_SAE_SUM rebuild tablespace idxdbs online nologging parallel 4 ;
alter index
3. 表空间管理
-- 创建表空间
CREATE tablespace apmdbs1
注: 添加裸设备上的数据文件请注意路径
/dev/rdsk/c0t0d0s0
/dev/dsk/c0t0d0s0
它们链接的是同一块物理设备,具体区别是在访问方式上。
裸设备是假设硬盘上没有文件系统时的访问方式。裸设备是按顺序访问,块设备是按文件系统和i节点“随机”访问。二者的使用场合也不同。在做newfs之前,因为没有文件系统,只能访问裸设备;做了newfs,进行挂接时,因为需要访问磁盘上的文件系统,所以只能用块设备
-- 增加数据文件,扩充表空间
ALTER TABLESPACE PRTBS19 ADD DATAFILE '/dev/vx/rdsk/data2dg/volb0082' SIZE 4095M AUTOEXTEND OFF;
ASM下:
Uwnms1:
alter tablespace NRMTBS add datafile
'+DISKGROUP1'
Uwnms2:
alter tablespace PRTBS add datafile
'+DISKGROUP2'
-- 增加临时文件,扩充临时表空间
ALTER tablespace TEMP ADD tempfile '/dev/vx/rdsk/data2dg/temp02' size 4095M reuse;
-- 数据文件收缩,针对文件系统上的数据文件
alter database datafile '$HOME/DATA/DISK5/data02.dbf' resize 1500k;
ASM下:
Select file_name,tablespace_name,bytes/1024/1024||'M','alter database datafile '''||file_name||''' resize 22528M;'
from dba_data_files where tablespace_name =
alter database datafile '+DISKGROUP2/uwnms2/datafile/npmdbs.532.694287447' resize 15360M;
检查数据文件的状态记录状态不是“online”的数据文件,并及时联系DB组跟进。
SQL> set linesize 200
SQL> set pagesize 200
SQL> Select file_name from dba_data_files where status='OFFLINE';
no rows selected
分数据库用户统计数据库会话的情况:
select schemaname,count(1) from v$session group by schemaname
分数据库用户,模块统计数据库会话的情况:
select schemaname,program,count(1) from v$session where schemaname <> 'SYS' group by schemaname,program
杀掉异常的会话或会话对应的进程:(以具有DBA权限的用户来清除会话)
select sid,serial# from v$session where sid = $sid
select spid from v$process where addr in ( select paddr from v$session where sid = $sid )
alter system kill session ‘,’
如果执行上述命令后,仍然没有能及时释放会话,可直接杀掉会话对应的服务器进程
kill -9
检查数据库所在主机的性能,记录数据库的cpu使用、IO、buffer命中率等等,使用vmstat,iostat,top等命令
Vmstat: 关注cpu的idle
Iostat:关注磁盘IO的繁忙程度(%b)
Top: 关注消耗cpu多的相关进程
Oracle 10g EM监控:
-- 关闭步骤:
1.停止监听
GDDB4-/export/home/oracle> lsnrctl stop
2.停止实例
使用sql*plus工具,以具有DBA权限的数据库用户登陆到具体实例上操作
GDDB4-/export/home/oracle> setenv ORACLE_SID
UWNMS3
GDDB4-/export/home/oracle> sqlplus
/nolog
SQL*Plus: Release 10.2.0.3.0 - Production on Thu Jul 31 15:06:23 2008
Copyright (c) 1982, 2006, Oracle.
SQL> conn sys/xxxxxx as sysdba
Connected.
SQL> shutdown immediate
3. 检查实例相关进程
GDDB4-/export/home/oracle> ps -ef|grep
UWNMS3
紧急情况下,可手工直接杀掉带LOCAL标识的进程,加快数据库的关闭操作;但oracle的相关后台进程请不要随便KILL掉。
-- 启动步骤:
1.启动实例
使用sql*plus工具,以具有DBA权限的数据库用户登陆到具体实例上操作
GDDB4-/export/home/oracle> setenv ORACLE_SID
UWNMS3
GDDB4-/export/home/oracle> sqlplus
/nolog
SQL*Plus: Release 10.2.0.3.0 - Production on Thu Jul 31 15:06:23 2008
Copyright (c) 1982, 2006, Oracle.
SQL> conn sys/xxxxxx as sysdba
Connected.
SQL> startup
2.启动监听
GDDB4-/export/home/oracle> lsnrctl start
3. 检查实例相关进程
GDDB4-/export/home/oracle> ps -ef|grep
UWNMS3
多使用网络搜索,查询oracle日常问题的解决方式
如果有可能的话,要广泛的阅读,包括DBA手册,itpub数据库论坛。
* 基础重于一切。
* 独立思考才能提高。
* 严谨是一种必备的素质。
* 实践出真知,不要以为然,亲自动手。
* 工欲善其事必先利其器,选择熟悉好适合自己的工具。(TOAD, PL/SQL Developer, Oracle EM, SQL*PLUS)
延伸阅读:
1.eBOOK
Oracle 9i Database
Concepts
Oracle 9i Database Administrator’s Guide (管理)
其它: Oracle 9i 初学者指南,Expert One-On-One Oracle,
Oracle Performance Tuning 101 (性能优化)
Oracle 8i 备份与恢复手册 (备份与恢复)
2.WEB SITE
www.itpub.net
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22204950/viewspace-1117404/ ,如需转载,请注明出处,否则将追究法律责任。