如何学习ORACLE?熊军建议(自我学习)
学习ORACLE熊军的建议: 转http://www.itpub.net/thread-1756717-1-1.html
一、学习oracle数据库过程中,逐步提高自己技术水平的方法(熊军建议):
1、对Oracle数据库有浓厚的兴趣。这个是很重要的一方面。
2、学习Oracle的官方文档,最基本的有《Oracle Database Concepts》、《Oracle Database Performance Tuning Guide》、《Or acle Database Administrator’s Guide》,这三份官方文档,对于各个版本我都反复去读。
3、学习其他一些技术专家的书,包括Tom Kyte、Eygle的书等等。
4、在学习和实验的过程中,将一些心得体会、学习方法记录在个人技术博客上,在博客上写技术文章,是对文章中涉及的知识进行总结、梳理的过程,这对提高技术水平有极大的帮助。
5、在工作中不断思考,比如解决一个问题,需要从原理上去解释为什么,一个问题是否有多个解决方案,每种解决方案各有什么优缺点。在问题解决后,再把这些案例涉及的知识进行梳理,写成文档,在这种方式下,解决一个问题就能获得技术进步。
6、从Oracle数据库论坛比如ITPUB中获得进步,在ITPUB上有一些很有价值的技术文章,以及有很多值得研究学习的案例,通过这些案例和文章学习其他人的思路和方法。
通过以上的一些方法,就逐渐地一步一步地提高了技术水平,并且通过在论坛上进行技术讨论,参与书籍的编写、通过个人博客进行分享,这些方式一定程度上提高了自己的影响力,最后获得ACE称号是水到渠成的事情。
二、工作中最应该做的事情、最应该注意的事情、最杜绝的想法
最应该做的事情:所有相关数据的操作都记录下来
最应该注意的事情:安全和测试
最杜绝的想法:不要有工作捷径的想法(很多从业者喜欢从百度、GOOGLE搜索到具体操作的方法不加思考地拿来就用,这样虽然能解决问题,但是这会导致自己缺乏思考,缺乏对知识的系统掌握。工作上的捷径应该是来自于自己对知识的全面掌握之后还有经验的积累,通过自动化、或者是通过脚本、自行开发的工具来帮助提升工作效率。)
三、熊军的建议:
系统化的扎实的基础知识很重要,熊军所接触的技术高手,基本上都是基础知识非常扎实的。只有在基础知识扎实的情况下,在2-3年之内,甚至是更短的时间内,成长为高级的DBA才是有可能的。所以,沉下心来,专心技术,拒绝浮躁。
四、熊军简介ODU主要功能
不需要运行Oracle数据库软件,ODU直接读取数据库文件解析数据。
支持ASM,能够直接从ASM磁盘中导出数据,即使相关的磁盘组不能成功mount。
支持从ASM中直接抽取出数据文件和其他任意存储在ASM中的文件(包括控制文件、日志文件和归档日志等),即使相关的磁盘组不能成功mount。
支持表被truncate后的数据恢复。
支持表被drop后的数据恢复。
在有SYSTEM表空间的情况下,自动获取数据字典信息。
支持在没有SYSTEM表空间和数据字典损坏的情况下恢复数据,在没有数据字典可用时,ODU能够自动判断数据的类型。
支持多种字符集之间的转换,能够正确的转换CLOB、NCLOB、NVARCHAR2列类型的数据到指定的字符集。
导出的数据格式包括纯文本和DMP文件两种。以纯文本导出时,能够自动生成建表的SQL语句和SQL*Loader导入所需的control文件。
模拟Oracle的dump块功能,能够dump数据文件中的数据块,以帮助分析数据库损坏情况。
支持对数据块的修改,在某些情况下通过修改数据块能够让不能打开的数据库打开。
从熊军老师对学习ORACLE的建议中总结自己
一、 学习Oracle过程中,逐步提升水平的方法:
1、我对ORACLE有浓厚的兴趣(神秘感、成就感、物质回报)
2、本人正在执行2年计划(oracle concepts=>backup and recover user’s guide=>administrator ‘s guide=>performance tuning guide把基础打扎实)
3、在读《Oracle 9i&10g编程艺术:深入数据库体系结构(全本)》TOM和《循序渐进Oracle》Eygle (目前全部时间都在攻读官档,计划:一年内精读2本技术专家的书)
4、坚持写自己的BLOG,无论错与对,因为进步本身就是由“错”上升“对”的一个过程,没有错误哪里有进步呢?BLOG里坚持2点:1、处理手段 2、(正方向)总结正确解决问题的思路;(反方向)分析初次解决思路与正确解决问题思路的不同,让自己慢慢走向正确处理问题的思路【以后BLOG中会有这2个坚持】
5、解决问题:
1、现在处于成长学习期,还是以学习为主。好多问题的处理都来于GOOGLE、热心技术牛人的点拨、MOS 。自己应该把每个问题的处理方法归类,梳理出相关的知识点,知识点必须去官档学习(无论是否懂的:懂的就当复习,不懂的就是学习)。【以后BLOG遇到的知识点,都会梳理出官档链接】
2、遇到自己能解决的问题多想想其他方法是否能解决,不同方法带来的收益如何,择优选取,形成处理问题最优方案,最优思路。【以后BLOG里,会总结最优思路】
6、利用论坛学习ORACLE:
1、论坛里可以见到更多的案例,更多的处理思路,与自己不同的思路应该学习与借鉴。
2、论坛中去帮助别人,前提是自己确保自己的解决思路是正确的。如果不确定的可以与提问题的同学进行讨论,帮助别人能够更好的总结自己。同时帮助别人也是我喜欢技术的根本动力。
二、工作中最应该做的事情、最应该注意的事情、最杜绝的想法:
1、使用CRT记录下来解决问题的所有操作,事后用这些记录分析自己解决问题的思路以及对每个命令ORACLE的响应。并写下BLOG
2、每周确认一次数据库的备份是否有效可用(每天会使用SHELL脚本自动验证备份是否有效),如果对数据库进行操作必须在测试库上进行测试(至少3次以上)。
3、提高工作的效率:
1、深刻的了解需求,分析出最优逻辑并执行相应简单的操作来达到效果。
2、操作能到达预想需求,同时进行自动化(由简单的自动化到复杂自动化,目前已脚本为主)
三、问自己:
1、怎么样挖掘数据本身的价值?(未完待续)