CSDN
www.oracle.com
www.oracle.com.cn

解决方案 »

  1.   

    转:Oracle 的入门心得-->强烈推荐oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路。 
      
    一、定位 
    oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。 
      
    因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。二、学习方法  
    我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记 
      
         看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。 
      
         学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。 
      
         学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了 
      
         很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性。由别人来回答你的问题,会让你在短时间内不费劲地弄懂这个知识点,然而通过自己的努力去研究它,不但会更深入的了解这个知识点,更重要的是在研究的过程会提高你解决问题和分析问题的能力。总的来说,没有钻研的学习态度,不管学什么东西,都不会成功的。 
      
         当然,初学的人很多时候是因为遇到问题时,无从下手,也不知道去哪里找资料,才会到论坛上提问题的。但我认为,在提问的时候,是不是可以问别人是如何分析这个问题?从哪里可以找到相关的资料?而不是这个问题的答案是什么?授人以鱼不如授人以渔。   下面我讲下我处理问题的过程   首先要知道oracle的官方网站:www.oracle.com 这里有oracle的各种版本的数据库、应用工具和权威的官方文档。其次,还要知道http://metalink.oracle.com/这里是买了oracle服务或是oracle的合作伙伴才可以进去的,里面有很多权威的解决方案和补丁。然后就是一些著名网站:asktom.oracle.com www.orafaq.net, www.dbazine.com。这里有很多经验之谈。    遇到问题了。如果是概念上的问题,第一时间可以找tahiti.oracle.com,这里会给你最详细的解释。如果在运行的过程中出了什么错误。可以去metalink看看。如果是想知道事务的处理的经验之谈。可以去asktom。当然。这里只是相对而言。三、oracle的体系 
    oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。 
      
    1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成) 
    控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件 
    数据文件:存储数据的文件 
    重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件 
    参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数 
    归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。 
    密码文件:认证哪些用户有权限启动和关闭Oracle例程 
      
    2、逻辑结构(表空间、段、区、块) 
    表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。 
    段:是对象在数据库中占用的空间 
    区:是为数据一次性预留的一个较大的存储空间 
    块:ORACLE最基本的存储单位,在建立数据库的时候指定 
      
    3、内存分配(SGA和PGA) 
    SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息, 它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。 
    PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收 
      
    4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程) 
    数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件 
    日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件 
    系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复 
    进程监控:负责在一个Oracle 进程失败时清理资源 
    检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。 
    归档进程:在每次日志切换时把已满的日志组进行备份或归档 
    服务进程:用户进程服务。 
    用户进程:在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据。 
      
    5、oracle例程:Oracle 例程由SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。 
      
    6、SCN(System Change Number):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。四、深入学习  
    管理:可以考OCP证书,对oracle先有一个系统的学习,然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。 
      
    开发:对于想做Oracle开发的,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分。 PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。 Oracle的开发工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。
      

  2.   

    介绍几本oracle入门的好书oracle官方文档:《concept》上面讲了oracle的体系和概念,很适合初学者看。OCP的教学用书,也就是STUDY GUIDE(SG)。
    Oracle8i 备份恢复手册
    Oracle8高级管理与优化
    Oracle8i PLSQL程序设计
    Oracle8数据库管理员手册
    以上书本都是机械工业出版社出版。
      
    介绍几个网站 
    http://tahiti.oracle.com oracle的官方文档 
    http://metalink.oracle.com/ oracle的技术支持网站。需要购买Oracle服务才能有一个帐号,才能登陆,有大量的Knowledge Base,大量问题解决经验。 
    http://www.oracle.com oracle的官方网站,可以在这里down oracle的软件、官方文档和获得最新的消息 
    http://www.dbazine.com/ Oracle的杂志 
    http://asktom.oracle.com  
    http://www.orafaq.net/  
    http://www.ixora.com.au/ 
    http://www.oracle-base.com 
    http://www.dba-oracle.com/oracle_links.htm
      

  3.   

    建议首先看一些oracle基础方面的书,比如oracle管理基础等,然后学习一些oracle中sql,pl/sql等的语法知识,可以看一些oracle系统性能调整或oracle数据库的高级开发方面的书和资料.同时要多练习,多想,多看. 推荐书:
    《完全接触 Oracle》
    Oracle 故障解决手册(新版)
    Oracle PL_SQL高级程序设计
    Oracle 数据库管理员技术指南
    Oracle9i SQL Reference
    oracle初学指南
    PL_SQL用户指南与参考论坛
    csdn
    itpub
    cnougoracle视频下载
    ftp://202.96.64.144/
    http://www.oradb.net/
      

  4.   

    转帖:怎样学 oracle ,这是我对初学者的一些建议,请大家共同讨论。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    学oracle也好,开发使用 oracle 也好,得有 oracle 吧  下载要申请一个 otn 的帐号10g:   http://otn.oracle.com/software/products/database/oracle10g/index.html
    9i :   http://otn.oracle.com/software/products/oracle9i/index.html
    8i :   http://otn.oracle.com/software/products/oracle8i/index.html
    常见问题 : 我学习用那个版本的oracle好 8i or 9i or 10
           我认为 9i 吧,因为9i有很多的新的功能,而且易操作,入门会相对简单。8i 有点
    老,10g 耗资源,在我的电脑上最少用 128M 物理内存,而且新的版本,其他的软件还可能没
    支持还有本身有些情况不稳定---------------    接下来应该下个文档吧。
    Oracle Database 10g Release 1 (10.1) Documentation
              http://otn.oracle.com/documentation/database10g.html
    Oracle9i Database Release 2 Documentation
              http://otn.oracle.com/documentation/oracle9i.html
    Oracle9i Database Release 9.0.1 Documentation
      http://otn.oracle.com/documentation/oracle9i_arch_901.html
    我在网上看见 "那里有oracle 的错误信息大全","那里有 oracle 的函数帮助"......这些问题
    上面的就是答案,每个200多M,根据需要下吧,不要嫌大 MSDN 还两张光盘呢。
    在 otn.oracle.com 上好像没见有8i 的文档了。---------------   安装
    常见问题:在 linux 下好还是 windows 下面好?
    我觉得应该根据需要而定,学oracle又不是赶时髦,大家都在linux下装着用了,你也一定
    就要这样吗。上csdn 的网友开发的多数,如果就是为了写点sql,pl/sql 我看windows还
    更方便。但如果想学oracle 的管理,linux,unix这种os 还是多接触的好
    www.puschitz.com 一个很好的介绍 linux 下面安装 oracle的网站~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                 学oracle
    http://expert.csdn.net/Expert/search.asp?bigclassid=61&smallclassid=0
    http://www.itpub.net/search.php?s=
    asktom.oracle.com
    http://search.csdn.net/
    www.baidu.com
    www.google.com
    我上面全是说的搜索引擎,我不知道有这么多的搜索引擎很多人为什么还是不喜欢用,搜一下的
    时候应该比提问的时间短吧  我真心希望大家用他们  刚开始学 oracle 的人可能很多都会被 oracle 众多的功能所迷惑的失去了学习的方向。
    其实用到什么再学什么最好 为了使用而去学习比为了学习而去学习好的多
    开发上 asktom.oracle.com 最好 你能想到的基本的问题 如 "pl/sql 中怎么运行
             os命令","返回结果集","级连更新".....这些tom 都写的很好很多
    如果是想系统的学oracle   没什么捷径 努力吧!学过 sql server 的人 第一的反映是装上 oracle 就去找图形的界面 如果是这样看来就要
    改变一下习惯 转而使用命令行了   没什么不好的,都只是工具 sql语句都是要用键盘敲嘛penitent (只取一瓢) 斑竹总结的好的oracle网站:
    http://expert.csdn.net/Expert/topic/2472/2472548.xml?temp=3.951663E-02
    这下好了网站有介绍了   我看见最近又有很多的帖子开始问书了fenng 大哥对书的一些点评
    http://www.csdn.net/develop/Read_Article.asp?id=19443我也顺便说说吧    其实我以前买书的时候都是上 china-pub 看每月的销售排行和大家的评论
    对于初学  
       oracle 8i dba 宝典             Oracle编程入门经典——覆盖至Oracle 9i版本
       这两本都还不差      oracle 的文档中的<<concept>>可以说是必看的 --oracle 的体系说的很清晰
       Oracle9i 初学者指南 --记忆中我是看了3遍 因为写的不好 所以看了3遍才放弃 啊 难为自己了
    学 pl/sql 
       ORACLE9i PL/SQL从入门到精通          Oracle9i PL/SQL 程序设计   
       ORACLE8i PL/SQL 高级程序设计 
       这些都是同样的一般   有的借还是省钱的好  总的说来市面上 pl/sql 好的书不多  干脆看e文
           http://www.hk8.org/old_web/oracle/        一些 oracle 的 pl/sql 方面的书籍
       其实因为是开发的语言 asktom 上的 pl/sql 的列子多的是 看看专家的我觉的比看书好
    管理
       <<Oracle专家高级编程>>  好    <<oracle performance tuning 101>>不错的itpub上有e文的pdf下
       <<Oracle数据库DBA技术精粹>> 虽没看过但都高手所写 应该不错
       ORACLE9i DBA手册   就不用看了  是一本什么都说 什么都说不清楚的书   讲理论还不如看帮助文档
    其他的书我就不说了
       看了 <<Oracle专家高级编程>> 我想大家也应该能对其他的书有所评价了
       中国的oracle 方面的书好的还是不多的   
    看了不少的书我觉的还是上网好  多上上国外的网站  大家很多的技术都是从老外那里学的
    谁叫软件都是人家的  我不建议大家多上论坛因为论坛搜问题下载热心网友的文章还可以 但上面
    太杂 对你的系统的学习oracle可能不是很好 而且不容易循序渐进的学习  这只是我个人的一些观点  各位csdn 上的高手们都发表一下自己的见解也算是帮助大家学习嘛