今天参加了itpub举办的oracle 10g dba培训,主讲的老师是大名鼎鼎的ora-600老师,老师从基础知识入手,逐渐深入,并把理论和实际相结合,上完第一节课的收获有2点:
第一、巩固了之前模糊的基础知识
第二、加强了自己dba的日常工作的条理性
下面把今天学到的知识整理成笔记,和大家分享一下:
前言
DB的基本管理
当一个项目从开展到上线,我们要经历这么几个过程:
架构审计->部署实施
1.创建database -> startup database -> owner,通常所说的user -> privilege -> tablespace -> objects
2.用户权限管理
存储空间管理
方案对象管理
日志管理 -> recovery
回滚段管理 -> commit/rollback
3.网络管理,配置
4.DBO与DBA的区别:dba有诊断数据库error的能力,那么这种能力来自与经验和扎实的基础知识
5.数据安全
窃取 安全性data vault
丢失 备份恢复
6.性能优化
第一章 数据库背景
1. 背景
2001年 9i release1
2002年 9i release2
2004年 10g
2008年 11g
2. oracle的网上资源
1) http://asktom.oracle.com
2) http://tahiti.oracle.com
3) http://metalink.oracle.com
4) http://www.ixora.com.au
5) http://www.itpub.net
3. DBA的守则
1) 备份终于一切 (任何重大操作之前,都要进行备份)
2) 三思而后行 (think thrice before you act)
3) rm 是危险的
4) 你来制定规范,减少故障基础
4. DBA的职责
1) 每天
DB运行情况:alert日志,备份是否正常,空间使用情况,cpu,i/o,内存
a) instance是否正常
$ ps -ef |grep ora_local -> 检查ora进程是否存在,local是客户端发出的连接,检查是否远程可以连接到数据库
select open_mode from v$database -> read write
select status from v$instance -> open
b) df -k
检查软件存储和数据文件存储是否有剩余空间,剩余空间需要>20%
考虑临时文件增长、undo文件增长、归档空间、告警跟踪日志文件(cdump)的异常增长情况
c) 检查日志和trace文件有无ora错误
tail alert_
tail *.trc
d) 检查备份的有效性
rman 可以借助第三方备份工具
exp log日志
e) 检查是否有offline的数据文件
select file_name from dba_data_files
select * from v$reconvery_file (need recovery info)
f) 检查表空间剩余情况
tablespace_name max_m free_m
g) statspack 系统报告
h) 检查db性能 i/o ,cpu , buffer
vmstat iostat top
2) 每周 对象空间扩展情况,数据增长情况的监控
a) 监控对象空间使用情况
b) 系统健康检查
c) 无效对象 vaild/invaild
e.g. procedure, trigger, view 如果是DDL操作或者是基表参照物发生变化,需要修改程序,重新编译
如果进行了DDL操作,但是没有影响程序,那么在第二次调用之前,db会自动编译
d) 检查不起作用的约束和trigger enable/disable
e.g. 约束和trigger
3) 每月 analyze表,index,检查表空间碎片,表空间剩余空间,存储空间
a) CBO (10G自动收集) analyze tables / indexes / cluster
b) 检查表空间碎片
c) 性能调整
4) 其他工作
a) 做好备份
b) 找环境做灾难测试,确定备份的有效性
c) 应对领导、用户等各方面需求变更
d) 全面考虑数据库架构方案
e) 业务或者脚本的支持
f) 存储的使用
第二章 10g DB安装和升级
1. 压缩包的区别
9i 三张光盘
10g 一张光盘 优点;快速轻量级安装, 20min, web server em console,自动化pre-post安装步骤,配置所有自动启动和关闭组件(监听器,数据库)
物理内存 (32位 sga 1.7G上限)
9i 256M
10g 512M
交换区
内存 < 2G swap = 2*RAM
内存 > 2G swap = RAM
硬盘
software >= 1.8G e.g. rman/sqlplus
datafile >= 1.4G
TEMP 空间
only use by software >= 400M
2. OS核心参数
shmmax: 单个共享内存段的max大小 SGA*50%
semmns:信号量 并发会话数 >= 100 e.g. sum(process)+max(process))*2+10
3. OS环境变量 特定用户的环境变量
a) ORACLE_BASE oracle软件
b) ORACLE_HOME 主目录下子目录
c) ORACLE_SID instance_name
d) NLS_LANG nls_langage_nls_terriory.nls_character
e) PATH 搜索路径
f) DISPLAY IP:0.0 显示图形界面的ip e.g.xmanger 参考文献:http://space.itpub.net/9252210/viewspace-561498
4. 数据库设置
db_block_size ->不可修改
db_cache_size
share_pool_size -> 可动态修改
db_name
instance_name
large_pool -> 可动态修改
processes -> 静态参数
字符集、数据库名称不建议修改
5. 安装过程
a) 监测安装环境 e.g. 系统补丁 oslevel -r
b) 系统核心参数 e.g. 内存 lsattr -El memory
c) OS 用户,组 dba、oinstall
d) 环境变量 env
e) oui 通用 ./runInstaller or ./runInstaller -silent
f) 网络配置
6. 10g 新特性
a) ASM+OMF
ASM 优点:动态rebalance磁盘竞争 减少I/O
缺点:稳定性有待进一步验证
只可rman备份asm,无法os备份
b) flashback recovery area
目录位置:flash_recovery_area (rman/archivelog/control/flashback/online)
大小:限制 OMF与恢复相关
自动管理冗余度 控制文件、文件冗余策略
c) SYSAUX系统辅助表空间
system存放数据字典
sysaux存放OUTLINE, AWR (IF sysaux坏了,db还是可以使用的,就是need用到sysaux表空间的特性的时候不可用)
优点:io平衡,负载均衡
d) AUTO MEMORY MANAGEMENT
AMM 内存自动调整SGA 8i 静态 -> 需要重启
9i 动态 -> 不需要调整 SGA_MAX_SIZE为静态参数
10g 自动管理(动态调整+内存大小建议) SGA_TARGET<=SGA_MAX_SIZE
e) MMAN MEMROY MANAGER
f) ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE; /*使用环境:测试或出现can't allocate free space 的bug时候使用*/
g) AWR 自收集
ADDM 自诊断
ADVICE 自调整
MMON 1次/小时,保留7天 手工:awrrpt.sql
h) data pump (expdp, impdp)
expdp 比 exp 快 1.5-2倍(60%)
impdp 比 imp 块 15-20倍
自动并行处理
可以重启,继续先前任务
跨平台表空间迁移
i) drop database
第三章 oracle 10g 结构组件
实在太困了,明天继续。。。。。。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9252210/viewspace-573269/ ,如需转载,请注明出处,否则将追究法律责任。