淘先锋技术网

首页 1 2 3 4 5 6 7

以下总结是学完 炼数成金 对应的《深入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的身份执行
 ▶表空间的大小

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  
/
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  
/ 

 ▶数据对象的大小(数据对象占用的空间)

select segment_name,segment_type,bytes from user_segments where segment_name in ('T','IDX_t')  
/ 
select segment_name,segment_type,bytes from user_segments where segment_name in ('T','IDX_t')  
/
 ▶会话当前的SQL语句

select sid,status,sql_id from v$session where sid = 68  
/
select sid,status,sql_id from v$session where sid = 68  
/ 
 ▶会话对应的进程号

select spid from v$process where addr = (select paddr from v$session where sid=68)  
/
select spid from v$process where addr = (select paddr from v$session where sid=68)  
/
 ▶会话的阻塞
select sid,lmode,type,request,block from v$lock where type in ('TX','TM') order by 1,3  
/
select sid,lmode,type,request,block from v$lock where type in ('TX','TM') order by 1,3  
/
 ▶SQL的执行计划

  -set autotrace

set autotrace trace exp;  
select * from dual; 
set autotrace trace exp;  
select * from dual;
  -explain plan

explain plan for select * from dual;  
select * from table(dbms_xplan.display);
explain plan for select * from dual;  
select * from table(dbms_xplan.display);
 ▶跟踪SQL语句
alter session set sql_trace=true;  
select * from dual; 
alter session set sql_trace=true;  
select * from dual;
 ▶另一种方式
alter session set events '10046 trace name context forever,level 12';  
select * from dual;
alter session set events '10046 trace name context forever,level 12';  
select * from dual;
10、Oracle的官方文档介绍--tahiti.oracle.com

 New Features Guide[讲述新版本的新特性,新技术以及版本差异]
 Database Concepts[所有的数据库概念,就像事务、回滚段等内容的概念]
 Reference[所有的参考,包括动态视图中每个字段的意义,以及一些初始化的参数解释,Oracle的统计信息]
 SQL Language Reference[SQL语法参考]
 Performance Tuning Guide[性能优化手册]
 Administrator's Guide[Oracle安装,技术实战]
 PL/SQL Packages and Types Reference[Oracle的所有的包,包括DBMS]
 Error Messages[Oracle的错误信息]
  – linux(unix) oerr ora xxxx[在Linux中使用这个命令能查询对应的错误信息,在Windows下没有这个命令]
11、一个合格的DBA的要求
 熟悉业务流程和业务对数据库的操作。
 尽可能的使用sqlplus进行数据库的操作。
 熟练掌握大多数日常用到的动态视图。
 熟练使用tahiti.oracle.com网站进行资料的查找。
 熟练阅读Oracle官方文档