以下总结是学完 炼数成金 对应的《深入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官方文档