当前位置:数据库 > Oracle >>

《深入Oracle》之DBA日常工作和职责---[1]

《深入Oracle》之DBA日常工作和职责---[1]
 
以下总结是学完 炼数成金 对应的《深入Oracle》所写的总结
1、先看一下Oracle的学习路线:
 
 
2、学习基础:学习过Oracle的基本知识,对Oracle有大体的认识。
3、学习目的:
让已经学过Oracle基础的同学,对Oracle的机制有进一步的了解。
了解OracleDBA的工作和能力要求。
在技术上对Oracle有进一步的深入认识。
4、预期目标:
对Oracle的技术有较深入的了解
通努力达到中级Oracle DBA的水平
5、课程介绍:
第一课 DBA日常工作内容和职责
第二课 Oracle的内存结构与后台进程[Oracle实例的基本组成]
第三课 重做日志和日志挖掘 [Oracle重要的组成,记录了数据的改变,可以做日志挖掘]
第四课 回滚[非常重要,有关事务等,重要的方面]
第五课 Oracle数据结构[Oracle数据块构成]
第六课 ASM管理[解决了Oracle的很多问题,解决了表空间的存放等]
第七课 Oracle的备份恢复及数据迁移。
第八课 Rman备份,恢复与管理
第九课 闪回机制和用途
第十课 事务与数据一致性(一)[重要]
第十一课 事务与数据一致性(二)
第十二课 Oracle安全管理和审计(一)
第十三课 Oracle安全管理和审计(二)
第十四课 常用工具 sql*loader和数据泵
第十五课 Oracle字符集
第十六课 Data gaurd和流复制简介
6、Oracle DBA的职责
▶系统建设时期:
  数据库的设计
  数据库的建模
  数据库的安全
   -[备份方案、容灾方案]
  数据库性能
▶运维时期:
  保证数据的安全
   -[备份方案、容灾方案]
  数据库的可用性
  日常故障的处理
  性能分析处理
  数据库的升级、改造
   -[打补丁、升级、改造]
7、Oracle DBA的日常工作
 ▶通用数据库的监控
   -表空间(磁盘、ASM)容量的监控
   流行的做法,一整块存储[一个机柜,磁盘阵列]---ASM---表空间---数据文件自动扩展--->监控ASM的使用率[比较轻松、灵活、动态扩展空间]。
   -告警日志文件(alert_sid.ora)
   写一个自动分析文件的程序,做到alert错误实时告警。
 ▶定制监控指标
   -某个表空间的数据增长率
   -某个对象(表、索引)的数据增长率。
   -阻塞(v$lock)
   -CPU
   -I/O
   -内存(SGA+PGA)
   -会话
8、养成良好的习惯
 ▶DBA应该多使用SQLPlus工具
   -SQLPlus是Oracle最基本的配置,在大多数情况下都存在,DBA本身是意外情况解决者,应该熟练使用
   -熟悉Oracle的内部视图[包括V$和DBA_开头的表和视图]
9、Oracle DBA常用的SQL语句
 注意一下SQL需要以DBA的身份执行
 ▶表空间的大小
[sql] 
select tablespace_name,sum(user_bytes) from dba_data_files group by tablespace_name    
union    
select tablespace_name,sum(user_bytes) from dba_temp_files group by tablespace_name    
/  
[sql] 
select tablespace_name,sum(user_bytes) from dba_data_files group by tablespace_name    
union    
select tablespace_name,sum(user_bytes) from dba_temp_files group by tablespace_name    
/   
 ▶数据对象的大小(数据对象占用的空间)
[sql] 
select segment_name,segment_type,bytes from user_segments where segment_name in ('T','IDX_t')    
/   
[sql] 
select segment_name,segment_type,bytes from user_segments where segment_name in ('T','IDX_t')    
/  
 ▶会话当前的SQL语句
[sql] 
select sid,status,sql_id from v$session where sid = 68    
/  
[sql] 
select sid,status,sql_id from v$session where sid = 68    
/   
 ▶会话对应的进程号
[sql] 
select spid from v$process where addr = (select paddr from v$session where sid=68)    
/  
[sql] 
select spid from v$process where addr = (select paddr from v$session where sid=68)    
/  
 ▶会话的阻塞
[sql] 
select sid,lmode,type,request,block from v$lock where type in ('TX','TM') order by 1,3    
/  
[sql] 
select sid,lmode,type,request,block from v$lock where type in ('TX','TM') order by 1,3    
/  
 ▶SQL的执行计划
  -set autotrace
[sql] 
set autotrace trace exp;    
select * from dual;   
[sql] 
set autotrace trace exp;    
select * from dual;  
  -explain plan
[sql] 
explain plan for select * from dual;    
select * from table(dbms_xplan.display);  
[sql] 
explain plan for select * from dual;    
select * from table(dbms_xplan.display);  
 ▶跟踪SQL语句
[sql] 
alter session set sql_trace=true;    
select * from dual;   
[sql] 
alter session set sql_trace=true;    
select * from dual;  
 ▶另一种方式
[sql] 
alter session set events '10046 trace name context forever,level 12';    
select * from dual;  
[sql] 
alter session set events '10046 trace name context forever,level 12';    
select * from dual;  

 


CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,