oracle数据库管理员指南
⑴ 0基础如何成为OracleDBA
从一个“普通”的Oracle DBA(Oracle数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员),有两个内容你必须去弄清楚。第一个内容是如何成为一个Oracle Applications DBA(Oracle应用程序数据库管理员)。第二个内容是你要搞清楚Oracle应用程序背后的架构体系,也就是说你要明白诸如以下产品的结构体系:Oracle电子商务套件、Oracle 11i数据库、Siebel产品等。
本文首先讲述如何从一个普通的Oracle DBA转变为一个Oracle Applications DBA(Oracle应用程序数据库管理员),接着讲述一些Oracle应用软件架构方面的内容 。
如何成为Oracle应用程序数据库管理员
首先是角色的转变
Oracle Applications DBA(Oracle应用程序数据库管理员)对“普通”的Oracle DBA(Oracle数据库管理员)来说是一个很大的挑战。拿Oracle EBS DBA(Oracle 电子商务套件DBA)来说,不仅需要了解EBS的各个组件、服务,而且还要更主动和其他相关人员接触。 一个Oracle Applications DBA(Oracle应用程序数据库管理员)不仅需要和其他DBA一样去负责managing、 sizing、maintaining和 tuning database这些日常的数据库管理的工作,如果他的Apps database是OLTP系统的话,他还需要监察wait和lock 。Oracle E-Business Suite还有一些特性需要DBA去完成,比如从外部资源里灌数据到Apps database里,或支持开发人员从已有数据中提取数据。
接着工作内容的转变
作为一个Oracle Applications DBA(Oracle应用程序数据库管理员),要想更好的对Oracle Application database做支持,需要仔细记住以下几项。
1.网络上没有什么比较容易简单的文档让你去熟悉Apps DBA,所以我建议去看帮助。
2.在你没有经过多次测试并且得到客户认可的时候不要去打补丁,并且你要确信这个补丁解决了现有的问题,而且没有带来其它新的问题。
3.记住Oracle Applications会有很多索引,定期rebuild index会对性能有好处,当然做这项工作应该在系统的空闲时间。
4.不要为了提高性能而在没有询问oracle Support前试着去增加额外的indexes。如果你一定要去做,那千万记住要有文档作记录,因为在这之后你再打patch的时候它可能会把你做的修改自动复原。
5. 知道怎么样是正确的打patch,先计划打哪个patch,然后取得patch,接着打patch,测试,最后文档记录。
6. 要知道任何时刻数据库都可能会有一些object 是invalid的,你的一些操作也会增加invalid objects,定期检查这些invalid objects的数量,然后定期用utlrp去重新编译,utlrp.squ在ORACLE HOME的rdbms/admin下,需要用SYS运行。在你的DB运行过程中如果碰到错误,就可以先重新编译invalid objects,如果没有解决问题再去递交iTAR(Internet created Technical Assistance Request).
7.能看懂日志。
8.了解Apps database的环境,包括操作系统和DB的,当你对你的工作环境了如指掌后,一切也就变得容易了,那时,你就是一个悠闲的Apps DBA了。
另外,对于APPS DB(应用程序数据库)来说,你可能需要创建或拷贝(克隆)多个生产库以外的数据库,比如测试和开发数据库,当然,需要多少数据库是由你的商业需求所决定的。开发环境数据库是供开发人员进行report,PL/sql等开发的,这个环境可以在开发人员觉得数据已经不再满足开发需求的时候,当然也可以在这个环境测试补丁(patches)。当然最终使用patch的时候还需要在测试环境做测试,因为测试数据库是和生产数据库环境最接近的。(上面说的克隆cloning是一种将applications layer和database layer完全复制的一种方法。)所以,当你拥有这三个数据库的时候,打patch的步骤是先development database再test database最后才在proction database环境应用。
构架应用体系
如果你研究过Oracle Forms,使用过Application Server和Developer Suite来开发、配置部署form和report,并且曾经作为一名Oracle DBA,经历过许多管理和维护的工作如patching和cloning的话,那么你就已经能够掌握了OA 90%的内容。Oracle Apps应该是这样的应用软件,高速度、低拖延的ERP应用软件,使用Oracle所能提供的最好的web和数据库组件。我说的对吗?实际上不完全对,在11.5.9的版本里,你能看到应用服务器最早期的一个版本,并且Oracle的版本还是8.0.6。
EBS环境最简单配置也包括两个服务器,这两个服务器也就是我们熟知的两层:数据库层,和中间层,也叫应用层。数据库层就如字面的意思,就是应用程序的后端数据库。中间层就类似Application Server(应用程序服务器)。
⑵ oracle 求助
内容的顺序基本没什么问题,从由浅入深,可以考虑按下面顺序:
2、 oracle数据库安装、启动、卸载
1、 oracle数据库的常用术语和基本概念
3、 oracle数据库管理员(也可以在12之后再看)
(1) orcale的用户类型
(2) 数据库管理员的安全和权限
(3) 数据库管理员的创建、修改、删除、权限设置
4、 创建、修改、删除orcale数据库
8、 管理表
11、 数据库的备份和还原
12、 数据的导入导出
5、 管理表空间
6、 管理控制文件
7、 管理数据文件
9、 管理分区表和分区索引
10、 检测和修复数据块损坏
13、 Oracle数据库的迁移
14、 数据库安全策略
15、 SQL程序设计
基本概念很重要,西方人喜欢把一个复杂的功能切割成很多独立的小部分,所以首先应当了解数据库要实现的总体功能,各个组件是如何设置来实现这些功能的以及Oracle的体系架构,这样学习起来才能事半功倍。
⑶ 我会sql语句,plsql,对oracle增删改查,都没问题,想做oracle数据库管理员,应该买什么书,适合我看
其实orcle DBA教程有专门的考试教程 《OCP/OCA认证考试指南全册》
做DBA不仅仅是会增删改查的,数据库优化和数据备份恢复都是很重要的 需要长期学习
⑷ 如何更好地管理ORACLE数据库,有什么好的方法提供吗
您好,对于Oracle数据库管理:
Oracle自带的套件里有pl/sql plus,基于命令行的;企业管理器,基于GUI/WEB UI(在11g中)的。
第三方工具有pl/sql Developer,容易上手,但不能完成一些非常底层的管理功能;Toad for oracle,功能比前者强大些,使用起来也相对复杂些。
对于开发人员,一般考虑团队实际情况,选择一种第三方工具;对于DBA管理人员,pl/sql plus是必须的,再适应开发团队掌握相应的第三方工具;至于企业管理器,在少些时候可以图个操作方便。
比如: 1)表名要规范; 2)根据用户可以分别管理些不同的内容,例如:建表可以放在一个XXX_DATE用户,存储过程可以放在一个XXX_PRO用户等; 3)写存储过程一定要记录日志,防止报错的时候,可以在日志中看到一些信息; 其他的你可以自己结合你。
⑸ 我想学习Oracle数据库,有一定的SQL基础,看什么书籍比较好或者有没有更好的学习方法
看你学习oracle用来做什么了
数据库管理方面:Oracle.9i数据库管理员指南
sql方面:oracle+SQL语法大全
程序设计相关的:Oracle专家高级编程
这三本书就差不多了
你去oracle网站上有oracle的白皮书,入门够用了
⑹ Oracle DBA应该定期做什么
本文从整体上介绍了一个dba的职责和任务等等。 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。 (2). 每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。 (3). 每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库 性能调整的机会,进行数据库性能调整,提出下一步空间管理 计划。对ORACLE数据库状态进行一次全面检查。 每天的工作 (1).确认所有的INSTANCE状态正常 登陆到所有数据库或例程,检测ORACLE后台进程: $ps ?ef|grep ora (2). 检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。 $df ?k (3). 检查日志文件和trace文件记录alert和trace文件中的错误。 连接到每个需管理的系统 ? 使用’telnet’ ? 对每个数据库,cd 到bmp目录,通常是$ORACLE_BASE//bmp ?使用 Unix ‘tail’命令来查看alert_.log文件 ?如果发现任何新的ORA- 错误,记录并解决 (4). 检查数据库当日备份的有效性。 对RMAN备份方式: 检查第三方备份工具的备份日志以确定备份是否成功 对EXPORT备份方式: 检查exp日志文件以确定备份是否成功 对其他备份方式: 检查相应的日志文件 (5). 检查数据文件的状态记录状态不是“online”的数据文件,并做恢复。 Select file_name from dba_data_files where status=’OFFLINE’ (6). 检查表空间的使用情况 SELECT tablespace_name, max_m, count_blocks free_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, ’ArrayArray.ArrayArray’) || ’%’ AS pct_free FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name), ( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name (7). 检查剩余表空间 SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /(1024*1024) ) as free_m, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks FROM dba_free_space GROUP BY tablespace_name; (8). 监控数据库性能 运行bstat/estat生成系统报告 或者使用statspack收集统计数据 (Array). 检查数据库性能,记录数据库的cpu使用、IO、buffer命中率等等 使用vmstat,iostat,glance,top等命令 (10). 日常出现问题的处理。 每周的工作 (1). 控数据库对象的空间扩展情况 根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相 应的措施 -- 删除历史数据 --- 扩表空间 alter tablespace add datafile ‘’ size --- 调整数据对象的存储参数 next extent pct_increase (2). 监控数据量的增长情况 根据本周每天的检查情况找到记录数量增长很快的数据库对象,并采 取相应的措施 -- 删除历史数据 --- 扩表空间 alter tablespace add datafile ‘’ size (3). 系统健康检查 检查以下内容: init.ora controlfile redo log file archiving sort area size tablespace(system,temporary,tablespace fragment) datafiles(autoextend,location) object(number of extent,next extent,index) rollback segment logging &tracing(alert.log,max_mp_file_size,sqlnet) (4). 检查无效的数据库对象 SELECT owner, object_name, object_type FROM dba_objects WHERE status=’INVALID’。 (5). 检查不起作用的约束 SELECT owner, constraint_name, table_name, constraint_type, status FROM dba_constraints WHERE status = ’DISABLED’ AND constraint_type = ’P’ (6). 检查无效的trigger SELECT owner, trigger_name, table_name, status FROM dba_triggers WHERE status = ’DISABLED’ 每月的工作 (1). Analyze Tables/Indexes/Cluster analyze table estimate statistics sample 50 percent; (2). 检查表空间碎片 根据本月每周的检查分析数据库碎片情况,找到相应的解决方法 (3). 寻找数据库性能调整的机会 比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进 行调整 (4). 数据库性能调整 如有必要,进行性能调整 (5). 提出下一步空间管理计划 根据每周的监控,提出空间管理的改进方法 Oracle DBA 日常管理 目的:这篇文档有很详细的资料记录着对一个甚至更多的ORACLE 数据库每天的,每月的, 每年的运行的状态的结果及检查的结果,在文档的附录中你将会看到所有检查,修改的SQL 和PL/SQL 代码。 一.日维护过程 A.查看所有的实例是否已起 确定数据库是可用的,把每个实例写入日志并且运行日报告或是运行测试 文件。当然有一些操作我们是希望它能自动运行的。 可选择执行:用ORACLE 管理器中的‘PROBE’事件来查看 B.查找新的警告日志文件 1. 联接每一个操作管理系统 2. 使用‘TELNET’或是可比较程序 3. 对每一个管理实例,经常的执行$ORACLE_BASE//bmp 操 作,并使其能回退到控制数据库的SID。 4. 在提示下,使用UNIX 中的‘TAIL’命令查看alert_.log,或是 用其他方式检查文件中最近时期的警告日志 5. 如果以前出现过的一些ORA_ERRORS 又出现,将它记录到数据库 恢复日志中并且仔细的研究它们,这个数据库恢复日志在〈FILE〉中 C.查看DBSNMP 的运行情况 检查每个被管理机器的‘DBSNMP’进程并将它们记录到日志中。 在UNIX 中,在命令行中,键入ps ?ef | grep dbsnmp,将回看到2 个 DBSNMP 进程在运行。如果没有,重启DBSNMP。 D.查数据库备份是否成功 E.检查备份的磁带文档是否成功 F.检查对合理的性能来说是否有足够的资源 1. 检查在表空间中有没有剩余空间。 对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天 的预期的需要。当数据库中已有的数据是稳定的,数据日增长的平均 数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增 长。 A) 运行‘FREE.SQL’来检查表空间的剩余空间。 B) 运行‘SPACE.SQL’来检查表空间中的剩余空间百分率 2. 检查回滚段 回滚段的状态一般是在线的,除了一些为复杂工作准备的专用 段,它一般状态是离线的。 a) 每个数据库都有一个回滚段名字的列表。 b) 你可以用V$ROLLSTAT 来查询在线或是离线的回滚段的现在状 态. c) 对于所有回滚段的存储参数及名字, 可用 DBA_ROLLBACK_SEGS 来查询。但是它不如V$ROLLSTAT 准确。 3. 识别出一些过分的增长 查看数据库中超出资源或是增长速度过大的段,这些段的存储参 数需要调整。 a) 收集日数据大小的信息, 可以用 ‘ANALYZE5PCT.SQL’。如果你收集的是每晚的信息, 则可跳过这一步。
⑺ 求Oracle 11g数据库管理员指南-刘宪军书籍电子版百度云资源
《Oracle 11g数据库管理员指南》网络网盘txt 最新全集下载
链接: https://pan..com/s/15SI-KwN0YTl8Fb_-YUXqDw
《Oracle 11g数据库管理员指南》是2010年机械工业出版社出版的图书,作者是刘宪军。