我的职业生涯之总结:怎么样学好Oracle

本文分享了学习Oracle或其他技能的心得,包括确定方向与兴趣、有效学习方法、经历学习过程中的不同阶段,以及避免盲目跟随他人。

 




我也不是想指导大家该怎么学习,或者是改怎么样发展,我只是想把我的一些想法与心得说出来,大家参考也好,借鉴也好,或者是一笑而过也好。其实,不管是学习Oracle,还是学习别的东西,基本方法与思路都是一致的,我这里也不是希望大家都去学Oracle,而且所谓360行,行行出状元,我只是希望,在不同的行业,大家都能有所作为。
我这里列出几点需要重点考虑的地方
1、确定方向与兴趣
确定方向是一个很重要的问题,我也是毕业一年以后才基本确定了方向,但是如果方向没有确认好,那未来的发展就很容易陷入迷茫的途径,很多人,毕业了之后频繁的更换工作,也频繁的更换工作内容,但是就是不知道自己到底想要做什么;有的人,这东西感兴趣了,学一段时间,之后,发现那东西感兴趣了,又学一段时间,很久之后,可能他发现,什么都没有学会。
有方向之后,还需要有兴趣的,我也见到一些人,选择一个方向的目的只是说,这个工作比较稳定,工资比较高,其实未必,任何工作做的好,都可以拿到高工资,但是,如果仅仅是因为钱而来做这个工作,你可能会变的很累。兴趣是很重要的,决定了你在这个方向上学习的时候,学习进度的快慢,另外,也是你是否最终真的能学好这个方向的动力。
至于悟性,这个就因人而异了,或者说,这个是后天的,但是悟性这东西是可以通过好的学习方法来弥补的,所谓说,勤能补挫就是这个道理,这个我们可以在怎么学习中讨论。
最后,可能要想好自己是否真的适合该工作了,我也见到一些人,问他们为什么要换工作,原因往往是说,原来的工作要经常加班,或者经常出差,很辛苦,其实,我往往会提醒他,如果做oracle,做dba,可能也面临经常加班,经常去机房,因为有些工作你白天就不能做。想要做这个工作,最好要先了解这个工作。
2、怎么样学习
怎么样学习,我相信很多人都有自己的方法的,我这里只强调我的方法
多思考,多实践,多总结
不止一次看到很多人,一个简单的问题,也不查阅资料,也不在网上搜索一下,就贴到论坛上问,或者是msn。遇到一个问题的时候,我们首先是要尝试自己解决,多思考问题的原因,多看看错误信息,多去搜索一下类似的错误,我也不止一次的遇到有人在错误信息很明显的情况下,如系统提示没有权限创建文件,还在那里一直问,我为什么不能创建文件啊?
另外,在平常的学习过程多,要多动手实践,很多人,理论是学的不错的,问起来头头是道,但是,如果要他动手去做一个什么事情,就有点傻了,不知道该从哪里开始,或者是,平常学的东西,根本不知道怎么用,这类型的人,就是眼高手低,或者是中国特色的会考试的高分低能。其实,在理论与实践上,现在更多的人,更多的公司更关注实践知识。
最后,就是要多总结,所谓说好记性不如一个烂笔头,如果你形成了总结习惯,那么,很多知识,你可能平常用不到,但是,你真正要用上的时候,你的总结可能就生效了。不止一次看到很多人,在真正要处理紧急问题的时候,到处在问,能不能上internet啊,我要internet上查问题,知道上internet查问题当然是好事,当时,如果你平常有完善的总结,或者这个时候,你上internet的时候,已经解决完事情了。
3、学习过程
关于学习的过程,不止一次有人谈到了,这里可以先引用eygle的话:
王国维在他的《人间词话》中曾经概括了为学的三种境界,我在这里套用一下:
古今之成大事业、大学问者,罔不经过三种之境界。
昨夜西风凋碧树。独上高楼,望尽天涯路。此第一境界也。
衣带渐宽终不悔,为伊消得人憔悴。此第二境界也。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。此第三境界也。
他引用王国维先生的话,把Oracle的学习分为必须经历的三种境界,估计很多学习过来的人都会有同样的感觉,当初,我看到这样的话语,也是有同样的感触,这个,在我学车的时候,又一次被证明。其实,不仅仅是学习Oracle了,学习任何东西都是一样,可能有如下的前进方式:

代码:


 



                                                ------


                                          /


                                 ------


                               /


                       -----


                    /


            -----


.



正如该图所示,学习一段时间以后,会有一个大的提升,之后,就会陷入一个长时间的迷茫期,可能很长时间都没有进展,然后,在一些条件触发下,又会有一个大的提升,学习过程,要经过多次量变到质变的积累,才能终于获得一定的成绩,而且,量变与质变的次数并不止3次,应当是更多,每次质变之后,你会觉得自己懂了很多,甚至有什么都懂了的感觉,慢慢的,又会觉得自己好象什么都不懂了,直到下次质变。
4、不要盲目跟随
为什么说到这里,主要是看了很多人的学习轨迹,盲目的追随别人的学习方法,或者是成长轨迹,或许,你可以快速的跟别人一样获得成功,甚至,你可以超过他,但是,大部分,或者你是生活在他的阴影之下,好象说的有点严重,实际上,有些人就是如此。
比如,以前盛行研究oracle内部,这样好象证明了自己很厉害,然后,很多人就都是研究,已自己会dump块,查看dump内容为自豪,而根本不管自己的基础是怎么样。但是,也有些人从开始就注重实践,而oracle内部研究的很少,最后的结果,不能说哪一方好,双方都有可能获得成功,但是,很多时候,每种方式总有那么一些人,走在别人的后面,不思考新的方法,而老是是抱怨,我要什么时候才能超过他啊?
曾经有个同事的离职理由是,因为他觉得不能超过我,最近,也有个同事开玩笑的说,他想去学别的算了,学oracle什么时候是个头啊,想要超越我们太难。其实,这里主要的问题,是看不到发展,因为他在走我,或者是别人以前的老路,而从这个路上再跨越或许太难,但是,实际上,大的方向确定之后,小的方向还是有很多的。典型的我觉得有dcba,其实认识他的时候比较晚,那个时候也看不到他很出色,但是chao_ping与他谈过后,就觉得他很不错,如今,他开发的很多工具,都是值得我们学习的。
 

目录如下: 1 Oracle 结构组件 目标 1-2 基本结构概述 1-3 Oracle 服务器 1-4 Oracle 实例 1-5 建立连接和创建会话 1-6 Oracle 数据库 1-7 物理结构 1-8 内存结构 1-9 系统全局区(SGA) 1-10 共享池 1-12 库缓存 1-13 数据字典缓冲区 1-14 数据库缓冲区 1-15 重做日志缓冲区 1-18 大储存池 1-19 JAVA 池 1-20 程序全局区(PGA) 1-21 进程结构 1-22 用户进程 1-23 服务进程 1-24 后台进程 1-25 数据库写进程(DBWn) 1-26 日志写进程(LGWR) 1-27 系统监控器(SMON) 1-28 进程监控器(PMON) 1-29 检查点进程(CKPT) 1-30 归档进程(ARCn) 1-31 逻辑结构 1-32 执行一个 SQL 语句 1-33 小结 1-34 2 Oracle 服务器入门 目标 2-2 数据库管理工具 2-3 Oracle 通用安装程序 2-4 交互式安装 2-5 使用反应文件的非交互式安装 2-6 Oracle 数据库配置助手 2-8 最优灵活体系结构(OFA) 2-9 Oracle 软件和文件位置 2-10 数据库管理员用户 2-11 ii 数据管理员的验证方式 2-12 使用密码文件验证 2-13 SQL*PLUS 2-14 Oracle 企业管理器 2-15 Oracle 企业管理器结构:基于 JAVA 的控制台和应用程序 2-16 Oracle 企业管理器结构:管理节点 2-17 Oracle 企业管理器控制台 2-18 DBA 工具 2-19 小结 2-20 3 管理 Oracle 实例 目标 3-2 初始化参数文件 3-3 PFILE initSID.ora 3-5 PFILE 例子 3-6 SPFILE spfileSID.ora 3-7 创建一个 SPFILE 3-8 SPFILE 例子 3-9 Oracle 管理文件 3-10 Oracle 管理文件例子 3-11 打开一个数据库 3-12 STARTUP 命令 3-15 ALTER DATABASE 命令 3-16 以受限模式打开数据库 3-17 以只读模式打开数据库 3-18 关闭数据库 3-19 关闭选项 3-20 用检测诊断文件管理一个实例 3-22 警报日志文件 3-23 后台跟踪文件 3-24 用户跟踪文件 3-25 允许和禁止用户跟踪 3-26 小结 3-26 4 创建数据库 目标 4-2 管理和组织一个数据库 4-3 创建的前提条件 4-4 规划数据文件的位置 4-5 创建数据库的方法 4-6 操作系统环境 4-7 使用数据库配置助手 4-8 创建数据库 4-9 数据库信息 4-10 iii 典型或用户自定义安装 4-11 其它参数 4-12 完成数据库创建 4-13 手动创建数据库 4-14 准备参数文件 4-15 创建 SPFILE 4-15 启动实例 4-16 创建数据库 4-17 使用 OMF 创建数据库 4-19 差错检测 4-20 数据库创建以后 4-21 小结 4-22 5 数据字典内容和使用 目标 5-2 数据字典 5-3 数据字典内容 5-5 如何使用数据字典 5-6 数据字典视图种类 5-7 动态性能表 5-8 查询数据字典和动态性能视图 5-9 数据字典例子 5-10 小结 5-10 6 维护控制文件 目标 6-2 控制文件 6-3 控制文件的内容 6-4 使用 SPFILE 多重控制文件 6-5 使用 init.ora 多重控制文件 6-6 用 OMF 管理控制文件 6-7 获得控制文件的信息 6-8 小结 6-9 7 维护重做日志文件 目标 7-2 使用重做日志文件 7-3 重做日志文件的结构 7-4 重做日志是如何工作的 7-5 强制日志切换和检查点 7-6 增加联机重做日志组 7-7 增加联机重做日志成员 7-8 删除联机重做日志组 7-9 删除联机重做日志成员 7-10 iv 清除、重定位或重命名联机重做日志文件 7-11 联机重做日志的配置 7-12 用 OMF 管理联机重做日志 7-13 获取组和成员的信息 7-14 归档重做日志文件 7-16 小结 7-18 8 管理表空间和数据文件 目标 8-2 概述 8-3 数据库的储存层次 8-5 SYSTEM 和非 SYSTEM 表空间 8-7 创建表空间 8-8 表空间的空间管理 8-9 本地管理表空间 8-10 字典管理表空间 8-11 改变存储设置 8-12 回滚表空间 8-13 临时表空间 8-14 缺省临时表空间 8-15 缺省临时表空间的限制 8-16 脱机状态 8-17 只读表空间 8-19 删除表空间 8-20 改变表空间的大小 8-21 允许数据文件的自动增长 8-22 手工改变数据文件的大小 8-23 给表空间添加数据文件 8-24 移动数据文件:ALTER TABLESPACE 8-25 为表空间的创建设置 ORACLE 管理文件(OMF) 8-27 使用 OMF 创建表空间 8-28 获得表空间的信息 8-29 小结 8-29 9 储存结构与关系 目标 9-2 概述 9-3 段的类型 9-4 储存子句的优先次序 9-7 片的分配和重新分配 9-8 使用和释放片 9-9 数据块 9-10 数据块的内容 9-11 块空间的利用的参数 9-12 v 自动段空间管理 9-14 设置自动段空间管理 9-16 手动数块管理 9-17 块空间的用法 9-18 数据字典视图 9-19 获取储存信息 9-20 小结 9-21 10 管理回滚段 目标 10-2 回滚段管理概述 10-3 回滚段 10-4 回滚段:用途 10-5 读一致性 10-6 回滚段的类型 10-7 自动回滚管理:概念 10-8 自动回滚管理:设置 10-9 自动回滚管理:初始化参数 10-10 自动回滚管理:UNDO 表空间 10-11 自动回滚管理:改变和 UNDO 表空间 10-12 自动回滚管理:转换 UNDO 表空间 10-13 自动回滚管理:删除一个 UNDO 表空间 10-14 自动回滚管理:其它参数 10-15 回滚数据的状态 10-16 自动回滚管理:调整 UNDO 表空间大小 10-17 自动回滚管理回滚配额 10-18 获取回滚段信息 10-19 小结 10-20 11 管理表 目标 11-2 储存用户数据 11-3 Oracle 数据类型 11-5 ROWID 格式 11-8 行的结构 11-10 创建一张表 11-11 创建临时表 11-13 创建表:指南 11-14 修改储存参数 11-15 手工分配片 11-16 重构非分区表 11-17 截断一张表 11-18 删除一张表 11-19 删除一列 11-20 vi 使用 UNUSED 选项 11-21 获取表的信息 11-23 小结 11-25 12 管理索引 目标 12-2 索引的分类 12-3 B 树索引 12-4 位图索引 12-6 B 树索引和位图索引的比较 12-7 创建普通 B 树索引 12-8 创建索引:指导 12-10 创建位图索引 12-11 修改索引的储存参数 12-12 分配和回收索引空间 12-13 重构索引 12-14 联机重构索引 12-16 合并索引 12-17 检查索引的有效性 12-18 删除索引 12-19 确认不使用的索引 12-20 获取索引信息 12-21 小结 12-21 13 维护数据的完整性 目标 13-2 数据的完整性 13-3 约束的类型 13-4 约束的状态 13-5 约束的检测 13-7 定义即时约束或延迟约束 13-8 强制主键和唯一键 13-9 外部关键字的考虑 13-10 在建表时定义完整性约束 13-11 定义约束的指导原则 13-13 允许约束 13-14 使用 EXCEPTIONS 表 13-16 获取约束信息 13-18 小结 13-20 14 管理密码安全和资源 目标 14-2 配置文件 14-3 密码管理 14-4 vii 允许密码管理 14-5 帐号密码锁定 14-6 密码寿命和过期 14-7 密码历史 14-8 密码验证 14-9 用户自定义密码函数 14-10 密码验证函数 VERIFY_FUNCTION 14-11 创建配置文件:密码设置 14-12 修改配置文件:密码设置 14-14 删除配置文件:密码设置 14-15 资源管理 14-16 允许资源限制 14-17 在会话级别设置资源限制 14-18 在调用级别设置资源限制 14-19 创建配置文件:资源限制 14-20 使用数据库资源管理器管理资源的使用 14-22 资源计划指示 14-24 获取密码和资源限制的信息 14-25 小结 14-26 15 管理用户 目标 15-2 用户和安全 15-3 数据库方案 15-4 检查创建用户 15-5 创建新用户:数据库验证 15-6 创建新用户:操作系统验证 15-8 改变用户的表空间限额 15-9 删除用户 15-10 获取用户的信息 15-11 小结 15-12 16 管理权限 目标 16-2 管理权限 16-3 系统权限 16-4 系统权限:例子 16-5 授予系统权限 16-6 SYSDBA 和 SYSOPER 权限 16-7 系统权限限制 16-8 回收系统权限 16-9 使用 WITH ADMIN OPTION 选项时回收系统权限 16-10 对象权限 16-11 授予对象权限 16-12 viii 回收对象权限 16-13 使用 WITH GRANT OPTION 选项时回收对象权限 16-14 获取权限信息 16-15 审计 16-16 审计指南 16-17 审计种类 16-19 数据库审计 16-20 审计选项 16-21 查看审计选项 16-23 获取审计记录 16-24 小结 16-25 17 管理角色 目标 17-2 角色 17-3 角色的优点 17-4 创建角色 17-5 预定义的角色 17-6 修改角色 17-7 分配角色 17-8 建立默认角色 17-9 应用程序角色 17-10 允许和禁止角色 17-11 撤销用户角色 17-13 删除角色 17-14 创建角色指南 17-15 使用密码和默认角色指导原则 17-16 显示角色信息 17-17 小结 17-18 18 使用全球支持 目标 18-2 全球支持特性 18-3 不同类型的方案编码 18-4 数据库的字符集和国家字符集 18-6 选择 Oracle 数据库字符集的指导原则 18-7 选择 Oracle 数据库国家字符集的指导原则 18-8 为双字节字符数据库选择一种统一代码方案 18-9 为双字节字符数据类型选择一种统一代码方案 18-10 指定语言相关行为 18-11 为服务器指定语言相关行为 18-12 语言和地区相关的缺省值 18-13 为会话指定语言相关的行为 18-14 客户端-服务器体系中的字符集 18-15 ix 为会话指定语言相关的行为 18-16 语言排序 18-17 NLS 排序 18-18 在 SQL 函数中使用 NLS 参数 18-20 语言索引支持 18-23 使用 NLS 导入和装载数据 18-24 获取字符集相关的信息 18-25 获取 NLS 相关的设置信息 18-26 全球支持实用工具 18-30 小结 18-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值