深入浅出Oracle-Oracle学习经验谈
Oracle从入门到精通系列-前言
Oracle从入门到精通系列-前言Oracle 从入门到精通系列 - 前言•••oo••ooo••oo••oo前言->返回总目录<-博主 Lucifer 是一名数据库行业的 DBA,本职工作是Oracle数据库的管理,由于工作中经常使用Oracle,自己也比较喜欢专研,所以特意的去阅读了官方文档,总结了相关知识,同时博主自己也在同步提高中,有写的不合理的地方也请大家指正,我准备对Oracle官方文档的四大版块来讲解,一是Oracle的入门篇,二是Oracle的管理篇,三是Oracle的开发篇,四是Oracle的优化篇,分别讲述Oracle的理论基础、工具的使用和技术相关的细节,带大家从入门到精通。
话不多说,先开始我们的第一次讲解:一、需要具备的知识和工具由于Oracle的入门并非像学SQL一样简单(理论上一台电脑+一个数据库软件+一本教材就能搞定),对Oracle的学习是需要一定的学习成本和学习基础的,有的是必要的,有的具备是最好的,下面将分别罗列:1、必须的1、SQL语言:自不必说,这是必备技能,如果还不会请先移步SQL语言学习区(其实B站的视频也挺好)2、计算机知识:至少掌握一定的计算机知识,比如最简单的Windows,会Linux当然更好3、一定的英语阅读技巧:很多文章都需要英语阅读能力,不过想必大家要是都能阅读英文文档,也就不用看我的博文了。
因此,无论是通过翻译软件,还是其他什么方式,有能完整阅读完一本Oracle 官方文档的能力就行,所以这里我定义为英文阅读技巧而非能力。
其实博主本人英语也很一般,所以学习上会慢一点,但不是没有办法的4、坚定的信念:学习Oracle开始时会比较艰难,可能完全不知道学了能干啥。
但一旦入门,就比较顺风顺水了,所以一定要坚持挺过那段艰难期(博主艰难了一个月左右,基本处于一脸懵逼的状态)2、非必须的(能有最好)1、软件工具:市面上有很多用于连接Oracle数据库的软件,比如 SQLDeveloper、PL/SQL Developer、TOAD 以及 Navicat 等等,各有各的优缺点,学会使用不同的软件工具能对你学习Oracle有很大的帮助。
Oracle学习的经验谈
转自:/newhappy2008/article/details/6754856经常遇到朋友问oracle学习难不难,怎么才能成为高手等等,我想结合我的个人经验简单说几点:1、打好基础,由浅入深学习Oracle不能急于求成,寄希望于一天成为一个大侠。
学习有个过程,应该由浅入深,在学习的过程中打好基础,这样在以后的学习中就能触类旁通,举一反三。
就我个人经验而言,建议先学习OCA培训的Oracle体系结构等内容,再学习OCP的RMAN、数据泵内容,最后学习OCM的RAC、DataGuard、Stream等。
如果还不知道oracle是怎样启动关闭的,就开始研究rac、dataguard,就没有太大的意义。
2、多实践,多查资料Oracle的学习主要还是以实践为主,不断提高我们动手操作,解决实际问题的能力。
因此在学习的过程中,要搭建Oracle学习环境,对于资料、教程中的命令要多练习,确保其正确可行。
网上有很多资料,大多是作者自己的总结,不能保证在任何环境中都适用。
要多动手,实践才是检验真理的唯一标准。
3、多交流,多提问Oracle博大精深,不是依靠一个人的力量可以穷尽的,要多多利用互联网这个工具。
在oracle的论坛和QQ群中都可以跟其他人进行交流,有问题大家一起解决,三个臭皮匠赛过诸葛亮。
oracle的论坛比较好的有itpub,我常去的还有IT运维中文网/bbs,QQ群有很多,一搜一大把,我自己也建立了几个oracle的QQ群60632593、60618621和23145225,欢迎大家跟我讨论oracle技术。
我相信只有互相学习,取长补短,才能快速提高。
只要专注,不断的努力,相信人人都能成为高手,加油吧!。
ORACLe深入浅出-初级篇PPT课件
HP Oracle Exadata Storage Server也颇为引人瞩目,
被称为“世界上最快的数据库机器”。
可编辑
8
如何安装Oracle
Oracle安装图文介绍Windows下ORACLE 10g安装与操作图解 - junying2yu的专栏 CSDN博客.htm
在安装Oracle过程中,Oracle将会创建3个默 认的用户:
客户端的网络服务名配置信息包括服务器地址、监听 端口号和数据库SID等,与服务器的监听器建立连接。 配置信息保存在名为tnsnames.ora的文件中
Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名
可编辑
13
Sqlplus工具的基本使用
可编辑
2
第一章 了解ORACLE
为什么要学习Oracle Oracle公司的基本介绍 如何安装Oracle Sqlplus工具的基本使用 Oracle用户\权限 管理
可编辑
3
为什么学习Oracle
通过的时实统计,国内IT 届对oracle数据库人才的需求并不低于热门 的Java 与 .Net。
Oracle客户端工具介绍
Sqlplus Oracle自带的客户端工具 Pl_sql 第三方厂商提供的客户端工具 其它第三方厂商提供的客户端工具
Sqlplus的启动方式
开始->启动-> sqlplusw 启动界面版sqlplus。 启动->启动-> sqlplus 启动命令行版sqlplus。
可编辑
14
Sqlplus工具的基本使用
常用Oracle命令行
oracle学习心得
遇到问题了。如果是概念上的问题,第一时间可以找,这里会给你最详细的解释。如果在运行的过程中出了什么错误。可以去metalink看看。如果是想知道事务的处理的经验之谈。可以去asktom。当然。这里只是相对而言。
三、oracle的体系
oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。
PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收
4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件
1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)
控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件
数据文件:存储数据的文件
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件
oracle官方文档:《concept》上面讲了oracle的体系和概念,很适合初学者看。
OCP的教学用书,也就是STUDY GUIDE(SG)。
Oracle8i 备份恢复手册
Oracle8高级管理与优化
Oracle8i PLSQL程序设计
Oracle8数据库管理员手册
以上书本都是机械工业出版社出版。
.au/
/oracle_links.htm
最全面详细讲解Oracle入门(新手必看)
最全面详细讲解Oracle入门(新手必看)本章内容:Ø Oracle介绍Ø安装步骤Ø基本使用Ø用户管理一、Oracle数据库简介Oracle数据库是Oracle(甲骨文)公司的核心产品,适合于大型项目的开发;银行、电信、电商、金融等各领域都大量使用Oracle数据库。
Oracle数据库是一种对象关系型数据库,在关系型数据库的基础上,引入了一些面向对象的特性。
Oracle数据库的产品可以免费下载,其服务是收费的,也就是该数据库用于商业目的时,必须取得Oracle的授权。
Oracle出现有30年时间,经历了很多版本,目前最新的版本是12c。
11g版本是目前比较稳定,很多企业也在使用,所以我们从此版本入门学习,后面的版本基本也不会有太大区别。
PS:MySQL是Java开发常用的数据库,MySQL的母公司08年被SUN公司收购,而SUN公司09年被Oracle收购,所以MySQL 也是Oracle旗下的产品。
二、Oracle的安装:1、可以从Oracle官网下载Oracle安装包/technetwork/database/enterprise-edition/downloads/index.html2、解压后双击setup.exe文件,弹出界面后选择高级安装3、选择企业版4、选择安装目录(目录不要包含中文),下面的名称和路径使用默认的就可以。
5、可以不用填写邮箱,直接下一步选是6、Oracle会检查安装环境,可能会有部分失败,下一步选是7、直接下一步8、直接下一步9、设置数据库名,也可以使用默认的10、可以调整使用内存、字符集等,这里设置字符集为UTF811、下一步12、下一步13、下一步14、这里为方便起见,可以设置所有账户使用统一口令,用于登录数据库。
15、接下来就可以开始安装了16、安装过程中会自动弹出一些窗体,不需要理会17、安装完成后,会出现下面的窗体,点击口令管理18、这里将SCOTT账户解除锁定,该账户常用于学习19、安装完成后,在Windows的系统服务中会出现几个服务:OracleServiceORCL是Oracle的核心服务,启动此服务,Oracle 才能使用Oracle***Listener是客户端的监听服务,启动此服务,客户端才能连接OracleDBConsoleorcl是企业控制台B/S程序的后台服务三、基本使用安装完毕后,可以在Windows命令行输入sqlplus,可以打开Oracle自带的客户端程序sqlplus,一种简单的命令行程序,用于输入各种SQL命令用于管理数据库。
Oracle数据库使用心得
Oracle数据库使用心得092909 谢弘毅经过助教对oracle和sybase数据库的讲解后,我下载使用和体验了这两个数据库,但主要的还是使用了Oracle数据库,经过一段时间的使用,对其使用有了一定的心得体会,并且通过阅读资料对其现在的前景状况有了一定的了解。
【选择Oracle的原因】(1)在Gartner/Dataquest报告中Oracle依然在主流操作系统Unix和Linux, Windows NT/2000/XP上的关系数据库市场上占据绝对的领先地位,在UNIX上占63%, Windows+Unix上占49.9%。
在关系型数据库市场(包括AS/400,Mainframe),Oracle以39.8%仍然处于领先地位。
(2)Oracle数据库依然是Fortune 100公司的首选数据库,其中51%的Fortune 100公司选用Oracle Database作为构建企业的传统应用和电子商务平台。
(3)Oracle数据库与Sybase数据库相比,无论从体系架构、并行支持、完整性控制等各方面均有很大的优势。
【Oracle相比于sybase的优势】(1)体系结构的比较Oracle采用多线索多进程体系结构,直接在内核中支持分布式数据库操作、多线索处理、并行处理以及联机事务处理等。
Sybase采用单进程多线索体系结构,其核心是SQL Server(2)多线索多进程与单进程多线索的比较Oracle和Sybase都采用多线索。
Oracle多服务器进程结构,能实现数据库事务的并行处理,提高并发事务处理的响应速度。
并且多服务器结构具有非常灵活的扩充性,当硬件平台处理能力提高时,服务器进程的个数也能随之增加,数据库性能也随之提高。
Sybase采用单进程多线索方式。
当并发用户数达到一定的数量时,会引起系统处理性能大大下降,和服务器进程瓶颈及死锁等现象;同时系统的可扩展余地非常狭窄。
(3)联机事务处理Oracle的多线索技术在相同硬件环境下,所支持的用户数是其他数据库系统的5至10倍。
韩顺平oracle学习笔记
韩顺平oracle学习笔记第0讲:如何学习oracle一、如何学习oracleOracle目前最流行的数据库之一,功能强大,性能卓越。
学习oracle需要具备一定基础:1.学习过一门编程语言(如:java ,c)2.最好学习过一门别的数据库(sql server,mysql , access)教程推荐:oracle使用教程,深入浅出oracle记住:欲速则不达,做任何事情要遵循他的规律,循序渐进,信心很重要成为一个oracle高手过程:理解小知识点->做小练习->把小的只是点连成线->做oracle项目->形成只是面->深刻理解Oracle基础部分:oracle基础使用; oracle用户管理; oracle表管理Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程;索引,约束和事物。
期望目标:1 学会安装、启动、卸载oracle2 使用sql *plus工具3 掌握oracle用户管理4 学会在oracle中编写简单的select语句第1讲:基础语法内容介绍:1.为什么学习oracle2.介绍oracle及其公司的背景3.学会安装、启动、卸载oracle4.oracle开发工具5.Sql*plus的常用命令6.oracle用户管理一、主流数据库包括:●微软:sql server 和 access●瑞典:mysql AB公司●IBM公司:DB2●美国sybase公司:sybase●IBM公司:infromix●美国oracle公司:oracle(目前最流行的之一)二、oracle安装,启动及卸载1.系统要求:操作系统最好为windows2000内存最好在256M以上硬盘空间需要2G以上2.oracle安装会自动的生成sys和system两个用户说明:○1Sys用户是超级用户,具有最高权限,具有sysdba角色,create database 的权限,默认密码是manager○2System 用户是管理操作员,权限也很大,具有sysoper角色,没有create database权限,默认密码是 change_on_install○3一般讲,对数据库维护,使用system用户登录就可以了3.启动oracle右键单击我的电脑->服务和应用程序:服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener4.卸载oracle1、先关掉oralce,net stop OracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭2、开始->程序->Oracle - oracle的版本号,我的是10ghome->Oracle Installation Products->Universal Installer 卸载oracle3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。
oracle学习心得体会
oracle学习心得一、sqlserver的理解sqlserver服务器就像一栋大楼,大楼里的机房就像服务器的数据库,机房里的电脑如同数据库里的表1、登录用户可以登录服务器——可以进大楼2、登录用户成为数据库用户才能进指定的数据库——进入大楼的人给了某个机房的钥匙才能进入机房3、登录用户有权限使用表——进入机房的人有电脑的密码才能使用电脑二、oracle的理解oracle服务器(全局数据库)就像一个商场,商场的每一家公司是表空间,公司的业务是表1、数据库由多个表空间组成——商场里有多家公司组成2、表空间由段组成——公司要有自己的经营业务,可以只有一个业务,就是一个表空间中只有一个段,可以有多个业务,就是一个表空间有多个段3、段由区组成——单个业务的细分类别。
例如有家公司经营三个业务,卖书,卖家电,卖衣服,则每个业务就是一个段。
而每个业务又有细分,比如卖书的话要进行分类了。
计算机区,人文区,小说区等,每一区都要放上书架存放书籍,则书架就是oracle块,存放数据的三、数据库,表空间,用户(指定默认表空间),表统统由管理员管理四、在oem中管理数据库的步骤1、创建1)存储——表空间——创建表空间(tomspace)(类似于在sql中创建数据库,通常可以省略,使用默认表空间为users,,临时表空间为temp)2)首先展开安全性——创建新用户(tom,指定表空间)(类似于在sql中指定数据库用户)3)创建表——指定方案(用户)和表空间(列名不要带<>)4)设置约束5)输入信息:方案——用户名——表——右击——查看/编辑目录…2、修改1)方案——用户名——表2)修改表结构,添加约束3、删除:右击表——移去五、注意事项1、刚创建的用户不会出现在方案中,只有创建了一个表指定方案和表空间,该用户的方案名就会出现在方案中,此时就可以方便为该方案创建其他表1)新创建的用户能在sqlplus中登录,为什么不能在企业管理器中登录呢?解答:需要授予selectanydirectory权限才能正常登录企业管理器,但没有其他权限2)可以对创建的用户在安全性中赋予角色权限,如dba,则该用户就是数据库管理员3)sys用户主要用来维护系统信息和管理实例,只能以sysoper 或sysdba角色登录4)安装oracle的用户自动为ora-dba权限,自动是sys用户,所以在登录时不需要用户名和密码,只要选中以sysdba登录。
ORACLE数据库学习心得1
ORACLE数据库结课论文一个好的程序, 必然联系着一个庞大的数据库网路...今年我们学习了oracle数据库这门课程, 起初的我, 对这个字眼是要多陌生有多陌生, 后来上课的时候听一会老师讲课, 偶尔再跟上上机课, 渐渐的学会了不少东西, 但我感觉, 我学到的仍是一些皮毛而已, 怀着疑惑和求知的心态, 我在网上搜索了关于oracle数据库的一些知识。
1.ORACLE的特点:可移植性ORACLE采用C语言开发而成, 故产品与硬件和操作系统具有很强的独立性。
从大型机到微机上都可运行ORACLE的产品。
可在UNIX、DOS、Windows等操作系统上运行。
可兼容性由于采用了国际标准的数据查询语言SQL, 与IBM的SQL/DS、DB2等均兼容。
并提供读取其它数据库文件的间接方法。
可联结性对于不同通信协议, 不同机型与不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。
2.ORACLE的总体结构(1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。
数据文件一个数据库可有一个或多个数据文件, 每个数据文件可以存有一个或多个表、视图、索引等信息。
日志文件须有两个或两个以上, 用来记录所有数据库的变化, 用于数据库的恢复。
控制文件可以有备份, 采用多个备份控制文件是为了防止控制文件的损坏。
参数文件含有数据库例程起时所需的配置参数。
(2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。
SGA(System Global Area)包括数据库缓冲区、日志缓冲区与共享区域。
PGA(Program Global Area)是每一个Server进程有一个。
一个Server进程起动时, 就为其分配一个PGA区, 以存放数据与控制信息。
(3)ORACLE的进程结构ORACLE包括三类进程:①用户进程用来执行用户应用程序的。
深入浅出谈Oracle临时表
关于临时表上的DML活动,有以下结论: 活动,有以下结论: 关于临时表上的 活动
• 1、 INSERT 会生成很少甚至不生成undo/redo活动。因此,临 时表对insert/select型的应用很有用。 比如在处理web翻页时, 可以通过临时表来模拟cache返回结果。 • 2、 DELETE 在临时表上生成的redo与正常表上生成的redo同 样多。 • 3 、临时表的UPDATE会生成正常表UPDATE一半的redo。
在一个SESSION中(比如SQLPLUS登陆)插入上面3条记录,然后再以另外一个SESSION(用 SQLPLUS再登陆一次)登陆,当你select * from classes;的时候,classes表是空的,而你再第 一次登陆的SQLPLUS中select的时候可以查询到,这个时候你没有进行commit或者rollback之前 你可以对刚才插入的3条记录进行update、delete等操作,当你进行commit或者rollback的时候, 这个时候由于你的表是事务级的临时表,那么在插入数据的session也看不到数据了,这个时候 数据就已经被截断了。
什么时候使用临时表? 什么时候使用临时表?
• 1)、当某一个SQL语句关联的表在2张及以上,并且和一些小表 关联。可以采用将大表进行分拆并且得到比较小的结果集合存放 在临时表中。 • 2)、程序执行过程中可能需要存放一些临时的数据,这些数据在 整个程序的会话过程中都需要用的等等。
<Insert Picture Here>
事务级SQL操作 操作 事务级
• • • • • • • • • • SQL> insert into classes(Class_id,Class_Name,Class_Memo) values(1,'计算机','9608'); 1 row inserted SQL> insert into classes(Class_id,Class_Name,Class_Memo) values(2,'经济信息','9602'); 1 row inserted SQL> insert into classes(Class_id,Class_Name,Class_Memo) values(3,'经济信息','9603'); 1 row inserted SQL> update classes set class_memo ='' where class_id=3 ; 1 row updated SQL> select * from classes ; CLASS_ID CLASS_NAME CLASS_MEMO -------- ---------- -------------------------------------------------------------------------------1 计算机 9608 2 经济信息 9602 3 经济信息 SQL> delete from classes where class_id=3 ; 1 row deleted SQL> select * from classes ; CLASS_ID CLASS_NAME CLASS_MEMO -------- ---------- -------------------------------------------------------------------------------1 计算机 9608 2 经济信息 9602 SQL> commit; Commit complete SQL> select *from classes ; CLASS_ID CLASS_NAME CLASS_MEMO -------- ---------- -------------------------------------------------------------------------------SQL> 再重复插入一次,然后rollback。 SQL> Rollback ; Rollback complete SQL> select * from classes ; CLASS_ID CLASS_NAME CLASS_MEMO -------- ---------- -------------------------------------------------------------------------------SQL>
Oracle数据库心得体会
学习Oracle数据库的心得体会
对于学习Oracle数据库,应该先要了解OracleSGA和PGA〕算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写,后台进程〔数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、效劳进程、用户进程〕,SCN(System Change Number)。
这些东西感觉都比拟专业,我对它们也就是个知道,想要真真去认识我还得努力去做。
虽然懂得还不是很多,起码会了根本的软件操作,老师说我们用的都是客户端,效劳端看不到,也不知道效劳端是什么样的,只知道客户端就挺多东西的,没有真正的去学习利用是很难掌握的。
Oracle数据库的学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。
就像我学习C语言,当时不能说是学习的棒,但不算差。
所以我对以后的语言感觉都不是很困难,了解了、C++还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。
因此,我感谢OracleOracle能给我更多帮助,让我在我熟悉的中运用上去,我以前的一个目标是要为学校的选课做一个选课助手来帮助大学。
不过因为种种原因一直没有完成,也包括我对数据库的不了解,因为学了Oracle以后知道第一项内容是通过SQL查询后得到的,如果去把它们联系起来还不是真正明白,不过我相信我的目标能在学习Oracle后得到进展。
Oracle RAC培训学习心得
Oracle RAC培训学习心得Oracle RAC培训学习心得OracleRAC培训学习心得上周参加了OracleRAC培训课程,课程介绍了RAC在数据库中的概念,以及如何在LINUX系统下配置和管理使用RAC的数据库,同时还介绍了如何在RAC环境中配置和使用自动存储管理(ASM),节点的添加和删除,RAC 数据库的备份和恢复。
OracleRAC是Oracle数据库实现高可用的一项重要技术,OracleRAC的实施配置并不困难,只要按照文档一步步操作下去就可以了。
然而,我认为Oracle培训更大的意义在于对RAC技术原理、实现方式在理论上的讲解。
对于一项技术的深入掌握,理论和实践缺一不可。
理论指导实践,尤其在进行故障诊断的时候,理论知识的掌握就会起到巨大的作用,另一方面,实践能更好地帮助理论的理解,进而完全的掌握这项技术。
Oracle和其他技术的学习都应该是一个由实践到理论,再由理论回到实践的不断交替的过程。
OracleRAC的优势在于利用多个节点(实例)组成一个数据库,这样在保证了数据库高可用性的情况下更充分的利用了多个主机的性能,而且可以通过增加节点进行性能的扩展。
实现OracleRAC需要解决的关键问题就是多节点进行数据访问时如何保证数据的一致性,Oracle是通过各节点间的私有连接进行内存融合(cachefusion)来保证各节点数据访问的一致性。
用一个例子来解释一下内存融合的过程,在存在A、B两个节点的RAC环境中,当A节点使用DML语句(如Update)对一个数据块中的数据进行修改时,A节点实例会到GRD(GlobalResourceDirectory)中查找该数据块的信息,这些信息包括该数据块的Master(第一次读这个数据块的节点),Owner(当前拥有这个数据块的节点),以及数据块在各个节点间的传递记录。
A节点如果发现GRD中没有需要读取的数据块的信息,说明该数据块是一个干净的数据块,A节点从磁盘或BufferCache中获得该数据块,然后对需要修改的行加锁,进行相应的修改,当然SCN会随之增加。
学习oracle的6条经验
学习oracle的6条经验第一篇:学习oracle的6条经验学习oracle的6条经验1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL,但可以看懂它们,你就可以跳到2。
否则请先看一下数据库基础和SQL语言,不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用边学习、记忆。
2、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入理解它们,但要分清几个关键的概念:instance&database, memory structure,process&those files,such as data file, control file, init parameter file etc以及database ,tablespace,data file和tablespace,segmnet,extent & block它们之间的关系。
当然还要分清undo tablespace & redo log file等,对于很多初学者来说,能够对这些概念有个较为清晰的认识并不是一件容易的事,而这些并非Oracle的全部。
3、有关Oracle的一些基本概念,下面要学习的是一些简单的的实际操作,就是如何去管理Oracle数据库,当然不是管理全部的Oracle。
在此过程中你将对SQL和Oracle体系结构有个更深入的了解。
4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具体学习其它的ORACLE知识了。
如果你是开发人员,则需要更多地去学习PL/SQL以及DEVELOPER,而这将是一门新的课程。
如果你是一名DBA,请继续。
5、现在你可以根据自己的实际情况,进行有选择的学习,也就是说下面的内容没有特别顺序要求。
可以选择深入学习ORACLE的管理、备份与恢复、性能调整、网络等。
当然在学习这些知识的过程中,如果有实际的工作更好,这样你可以在实际中成长,学会TROUBLE SHOOTING。
跟我学Oracle从入门到精通培训教程——Oracle 数据库相关的基础知识
1.1跟我学Oracle从入门到精通培训教程——Oracle 数据库相关的基础知识1.1.1与数据库有关的基本知识1、熟悉数据库及数据库系统相关的术语(1)数据是描述事物的符号数据是描述事物的一种符号,其实该符号可以是数字形式,也可以是文字、图形、图像、声音、语言等其它的多种表现形式,但它们都可以经过数字化后存入到计算机中的特定的存储设备中。
(2)数据库(DataBase,简称DB)它是长期储存在计算机存储设备内的有组织的可共享的数据集合,数据库中的数据一般按特定的数据模型组织、描述和储存。
这些数据一般要求具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种形式的企业应用系统的用户所共享。
(3)数据库系统(Database Systems)数据库系统是指在计算机系统中引入数据库后,并由数据库及其管理软件所组成的一个软件系统。
它不仅是一个实际可运行的存储、维护和为企业应用系统提供数据的软件系统,也是存储介质、处理对象和管理系统的集合体。
目前有许多数据库系统产品,如商业化的Oracle、Sybase、Informix、Microsoft SQL Server等数据库产品,也有如MySQL等开源的系统。
2、了解数据库系统的基本组成由于数据库系统是指在计算机系统中引入数据库后的系统,因此数据库系统要维持正常的运转,需要硬件、软件和人员三方面的共同支持和协作。
(1)保存数据库中数据的物理存储设备数据库中的数据最终是存储在磁带、磁盘、光盘或其他外存介质上并按一定的结构组织在一起的相关数据的集合,其中的磁带、磁盘、光盘或其他外存介质都是保存数据库中数据的物理存储设备。
(2)数据库系统的软件主要是数据库管理系统(Database Management System,DBMS)数据库管理系统是位于用户与操作系统之间的一层数据管理软件,它是一种描述、操纵和管理、维护数据库的大型软件系统,用于建立、使用和维护数据库数据。
Oracle数据库学习总结
Oracle数据库学习总结时间过的还真快,不知不觉中就在这里呆了半个月了。
这段时间里都在学习oracle数据库的编程,毕竟这是家软件外包公司。
像我们这样的新员工也就只能接触到些CURD的操作。
废话不多说,赶紧来梳理下这半月来学习的知识点.在来公司之前一直都是使用Sql Server数据库,用Sql Server也开发了3个小型项目。
所以对Sql语句以及在数据库中扮演重要作用的存储过程,触发器,视图,主键/外键约束都很熟。
但Oracle是一个全新的环境,记得刚装上Oracle 的时候,我都不知道在哪查看自己已经建立好的表格。
还好有师傅的帮忙,要不然我还真没这么快就能入门Oracle。
学习东西就要学习些能改变自己思维的东西,只有这样才能让自己的眼光比别人更独到,思维比别人更深邃,Oracle就是这样的东西。
当然做这样的事是要很大的驱动力的呀,如果公司不是都采用Oracle来写程序的话,我估计也就懒得学啦。
对于一位程序员来说并不需要完全掌握Oracle的所有知识,毕竟自己不是DBA。
在日常开发中也用不到那些命令和工具,但是有些知识点我们还是必须得熟练的掌握它们。
比如:一些基本的DDL和DML语句,存储过程,函数,视图,触发器,序列,游标,自定义类型和包。
下面我就把这段时间里学习Oracle获得的知识点罗列出来,一是为了方便以后查阅,二是为了和搭档交流学习经验。
要适应的一些细节从Sql Server转到Oracle进行数据库编程,第一道门槛就是语法问题。
很多很多的问题都是因为语法而产生的,现将它们统统集合起来并将它们一网打尽之。
PL结构。
在Sql Server中,采用的是批处理执行任务的方式,所以可以将多条sql语句选中批量执行,而不用顾忌要在专门的地方声明变量,在专门的地方进行逻辑编码。
在Oracle中采用的是PL编程方式,必须在专门的地方声明变循环结构,要达到循环在Oracle中有3种方式,各有各的好处,你懂的。
深入浅出Oracle
深入浅出Oracle课程简介:授之以鱼不如授之以渔,本次课程围绕Oracle数据库的内部核心原理,通过实战操作深入浅出每个核心知识点。
主要通过实战操作来验证Oracle的内部原理,反之通过内部原理来指导实战操作。
师傅领进门,修行靠自己,少泡妞、少扯淡、少逛街,只要稍加练习、多加思考、善于总结,学完本次课程一定可以成为一个合格的Oracle DBA。
对自己狠一点,逼自己努力,再过两年你将会感谢今天发狠的自己、恨透今天懒惰自卑的自己。
欢迎加入《Oracle Oracle DBA入门深入浅出》实战学习,坚持坚持再坚持,成功之路始于这里。
课程大纲:第1课Oracle DBA入门之道第2课Linux 下Oracle 11gR2的安装第3课手工建库实战演练第4课Oracle参数调整与优化第5课网络监听及TNS的配置第6课Oracle体系结构概述第7课Oracle DBA日常维护第8课彻底搞定控制文件第9课BBED之数据块结构深入解析第10课UNDO与REDO永恒的话题第11课事务与锁深入浅出第12课RMAN的备份恢复实操第13课11Oracle dba 实战攻略之数据库巡检第14课Oracle 11g Data Guard实战演练第15课如何成为实至名归的Oracle OCP第16课突破OCM认证不是我的真正目的授课对象:希望从事Oracle DBA方向的工作,以及在校学生,学员对Oracle数据库无需任何基础。
授课环境 windows+oracle11g预期收获:学完本次课程一定可以成为一个合格的Oracle DBA授课讲师:郭一军浙江象行数据技术有限公司创始人、CEO; 网络ID:guoyJoe,尖线在线教育的创始人;曾任浙江连连支付首席DBA、浙江知墨技术副总;ITPUB论坛社区资深版主, Oracle OCM10g & OCM11g大师;擅长于Oracle、MySQL的tuning/troubleshooting/internal;精通电信BOSS系统架构、支付架构和互联网金融大数据风控;现专注于大数据方向的职业教育及大数据平台应用。
深入浅出Oracle学习笔记(9)
深入浅出Oracle学习笔记(9)第9章性能诊断与SQL优化在Oracle10g之前,缺省情况下AUTOTRACE功能并未打开,需要通过手工启动该功能。
从Oracle 9i开始,Oracle提供了一个新的工具dbms_xplan用于格式化和查看SQL的执行计划,其原理是通过对plan_table的查询和格式化提供更友好的用户输出。
Explain plan for select count(*) from dual;@?/rdbms/admin/utlxplp该脚本中调用了dbms_xplan:Select * from table(dbms_xplan.display());在Oracle10g中plan_table不再需要创建,Oracle缺省增加了一个字电表plan_table$,然后基于plan_table$创建公用同义词供用户使用。
AUTOTRACE功能的内部操作当使用AUTOTRACE功能时,在数据库内部,Oracle实际上是启动了2个session连接,一个session用于执行查询等操作,另外一个session用于记录执行计划和输出最终结果等操作。
注意,这两个session都是由一个进程衍生创建的。
这就是通常所说的,一个进程在数据库中可能对应多个session。
通过在全局启用10046事件,可以得到AUTOTRACE的内部操作:Alter system set event=’10046 trace name context forever,level12’scope=spfile;从V$SYSSTAT视图中,可以查询得到关于全表扫描的系统统计信息:Select name,value from v$sysstatWhere name in (‘table scans(short tables)’,’table scans(long tables)’);其中table scans(short tables)指对于小表的全表扫描的。
深入浅出Oracle:DBA入门、进阶与诊断案例(读书笔记1)
深⼊浅出Oracle:DBA⼊门、进阶与诊断案例(读书笔记1)⼀、数据库的启动和关闭Oracle Server共有2部分组成:Instance和Database.Instance是指⼀组后台进程/线程和⼀块共享内存区域,⽽Database是指存储在磁盘上的⼀组物理⽂件。
1.1数据库的启动数据库的启动主要分为3个步骤:(1)启动数据库到nomount状态;(2)启动数据库到mount状态;(3)启动改数据库到open状态;1.1.1启动数据库到nomount状态Oracle⾸先会寻找参数⽂件(pfile/spfile),然后根据参数⽂件中的设置,创建实例,分配内存,启动后台进程!该步只要拥有了1个参数⽂件,就可凭它重启实例(Instance). 该步不需要控制⽂件和数据⽂件的参与。
Oracle选择参数⽂件的顺序:在Oracle9i⾥,Oracle⾸选spfile.ora⽂件作为启动参数⽂件;如果该⽂件不存在,Oracle选择spfile.ora⽂件;如果前⼆者都不存在,Oracle将会选择init.ora⽂件;如果以上3个⽂件都不存在,Oracle将⽆法创建和启动Instance.show parameter spfile:检查数据库是否使⽤了spfile⽂件,如果value不为null,说明使⽤了该⽂件;在参数⽂件中,通常需要最少的参数是db_name,设置了这个参数之后,数据库实例就可以启动。
缺省情况下,如果不设置,background_dump_dest⽬录(警报⽇志⽂件alert_.log的存放地点)位于$ORACLE_HOME/rdbms/log⽬录下。
在使⽤RMAN(Recovery Manager)时存在更为特殊的情况,Oracle允许在不存在参数⽂件的情况下启动⼀个实例,数据库的db_name会被缺省的命名为DUMMY.1.1.2启动数据库到mount状态启动到nomount状态时,Oracle就可通过参数⽂件找到控制⽂件的位置信息。
深入浅出oracle数据库
数据库的启动与关闭一.nomount、mount与open的的数据库启动过程1、startup nomount不加载数据库,这种方式启动下可执行:重建控制文件、重建数据库;读取init.ora文件,启动instance(实例),即启动SGA和后台进程,这种启动只需要init.ora 文件。
(只是启动例程)Oracle首选spfile<sid>.ora文件作为启动参数文件;如果该文件不存在,oracle选择spfile.ora文件;如果前两者都不存在,oracle会选择init<ora>.ora文件,如果三个文件都不存在,oracle将无法创建和启动instance(实例)。
在nomount状态下,用户可以通过在sql*plus中show parameter spfile检查数据库是否使用启动文件spfile。
在nomount状态下,用户可以通过sql*plus中show parameter control_files查看数据库的控制文件2、alter database mount;安装加载数据库,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件;执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。
(只是加载实例,并不加载数据库)在mount状态下,用户可以通过sql*plus中select * from v$controlfiles;查看数据库控制文件;3、startup open dbname先执行“nomount”,然后执行“mount”,再打开包括Redo.log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。
(启动数据库)4、startup等于以下三个命令startup nomount;alert database mount;alert database open ;(特别注意:命令后的“;”是不能省略的)建立实例ORADIM NEW SID TEST-INTPWD 口令-STARTMODE AUTO-PFILE %ORACLE_HOME%\DATABASE\INITTEST.ORA自动建立特权用户sys自动建立NT服务:oracleservicetest自动建立口令文件:pwdtest.ora(unix中没有这一步)改变特权用户的口令手工删除口令文件使用orapwd建立新口令文件orapwd file=%oracle_home%\database\pwdtest.ora password-口令要求口令文件的名字与位置与原文件相同重新建立实例删除实例删除口令文件重新建立实例实例的操作oradim edit sid test startmode autooradim -delete -sid testoradim -startup -sid testoradim -shutdown -sid test建立数据库1决定数据库的位置2启动实例3建立数据库4安装数据字典和PL/SQL包5安装profile启动实例设置环境变量:set oracle_sid=test以特权用户登录:sqlplus /nologconn sys/1234 as sysdba启动实例:startup nomount pfile=参数文件(这些文件可以用图形化窗口生成脚本文件,然后进行分析)故障查找数据库创建失败的可能原因:1、SQL语句的格式错误2、创建的文件已经存在3、操作系统发生错误,比如文件或目录的权限问题,磁盘空间不足等安装数据字典和PL/SQL包安装数据字典视图(以sys用户):ORACLE_HOME\rdbms\admin\catalog.sql安装PL/SQL包(以sys用户):ORACLE_HOME\rdbms\admin\catproc.sql安装profile(system用户):ORACLE_HOME\rdbms\sqlplus\pupbld.sql安装样例模式:ORACLE_HOME\rdbms\adimin\utlsample.sql启动数据库pfile=参数文件(nomount/mount/open/force)改变数据库的状态把数据库从nomount状态改变到mount状态:alter database database mount从mount状态打开数据库:alter database open以只读方式打开数据库alter database db open read only;关闭数据库shutdowm (abort/nornal/transactional/immediate)不同的关闭方式具有不同的特点(具体可以查询其他资料)允许新连接等待会话结束等待事物结束发出检查点并关闭文件数据字典:数据库中最重要的部分,用语存放系统信息1数据库逻辑和物理空间2对象定义及分配空间3完整性约束4用户,角色和权限5审计数据字典的类型DBA_XXX数据库所有对象ALL_XXX用户可访问的所有对象USER_XXX用户所拥有的所有对象相关的数据视图v$databasev$controlfilev$datafilev$logfilev$bgprocessv$parameterv$sga二.rman命令基本操作与备份还原1. 命令格式:rman target /(是连接到目标数据库但是不启动数据库)进入恢复管理器RMAN>……2. 恢复目录2.1.恢复目录的概念恢复目录是由RMAN使用、维护的用来放置备份信息的仓库。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
825110 SQL> / Enter value for scn: 12928000000 select count(*) from hs_passport as of scn 12928000000
恩墨科技 成就所托
© 2007-2009 All rights reserved.
1
深 入 解 析 Oracle
-Oracle学习与探索
© 2007-2009 All rights reserved.
• 盖国强 (eygle) • Mobile:13911812803 • MSN: eygle@ • Site : • Mail: eygle@
* ERROR at line 1: ORA-01466: unable to read data - table definition has changed
案例:使用Oracle9i闪回特性恢复误删除数据
© 2007-2009 All rights reserved.
20
Oracle 11g的UNDO
1 2008-06-11 04:34:13 04:34:13
2008-06-11 04:49:13 04:49:13
N
0 SYSDATE + (1/24/4)
2 2008-06-11 03:28:58 03:28:58
2008-06-12 03:28:58 03:28:58
N
0 SYSDATE + 1
2007
2008
3
Subject
➢DBA守则 ➢深入浅出学习方法谈 ➢Oracle数据库的时间维度 ➢案例与经验分享
© 2007-2009 All rights reserved.
4
ITPUB的缘起
• 2000.05.01 Smiling Oracle小组创建
© 2007-2009 All rights reserved.
17
Oracle的时间计量
© 2007-2009 All rights reserved.
18
Unix Time
© 2007-2009 All rights reserved.
Smon_scn_time的维护
19
Oracle的闪回特性-闪回查询
SQL> select count(*) from hs_passport as of scn &scn; Enter value for scn: 12929941968 COUNT(*) ----------
审堂下之阴,而知日月之行,阴阳之变; 见瓶水之冰,而知天下之寒,鱼鳖之藏也; 尝一脔肉,而知一镬之味,一鼎之调。
© 2007-2009 All rights reserved.
11
案例分析- Job任务停止执行
生产环境,JOB任务异常停止
SQL> select job,last_date,last_sec,next_date,next_sec,broken,failures,interval from dba_jobs;
4294967295/100/3600/24 ----------------------
497.102696
© 2007-2009 All rights reserved.
14
Linux Timer
SQL> COLUMN STARTED_AT format A25
SQL> COLUMN UPTIME format A50
11:15am up 497 day(s), 8:21, 2 users, SQL> select startup_time from v$instance;
load average: 0.64, 0.59, 0.52
STARTUP_TIME ------------------2007-01-31 03:03:19
8 TRUNC (SYSDATE - startup_time))),60)
9 || ' seconds' uptime
10 FROM v$instance;
STARTED_AT
UPTIME
------------------------- --------------------------------------------------
JOB LAST_DATE
LAST_SEC
NEXT_DATE
NEXT_SEC
B FAILURES INTERVAL
---- ------------------- ---------------- ------------------- ---------------- - ---------- -------------------------
案例分析- Job任务停止执行
© 2007-2009 All rights reserved.
12
Oracle进程与时间
© 2007-2009 All rights reserved.
13
v$timer
SQL> select * from v$timer; HSECS ---------4294967295 SQL> / HSECS ---------4294967295 SQL> select 4294967295/100/3600/24 from dual;
23
AWR & Time Model
© 2007-2009 All rights reserved.
After tuning
24
What’s SCN ?
• Logical Clock Oracle uses to order events
SCN wrap: 2 bytes SCN base: 4 bytes Monotonically increasing Current SCN and Snapshot SCN
• rm是危险的
要知道在Unix/Linux下,这个操作意味着你可能永远失去后面的东西, 所以,确认你的操作!!!
一知半解比无知更可怕.
• 你来制定规范
不以规矩,不成方圆
© 2007-2009 All rights reserved.
7
DBA常见故障
© 2007-2009 All rights reserved.
9
知难行易
• 了解日志文件 • 熟悉10个视图 • 熟悉10个事件 • 熟悉10个统计信息 • 掌握2个工具 • 学会认真阅读 • 克服心理恐惧
© 2007-2009 All rights reserved.
10
Oracle学习之路
• 基础重于一切 • 独立思考才能提高 • 严谨是一种素质 • 通过实践检验知识 • 由点及面、由浅入深 • 见微知著
05-JUL-2005 10:36:58 803 day(s), 2 hour(s), 27 minute(s), 55 seconds
SQL> ! uptime 13:06:21 up 306 days, 19:00, 1 user, load average: 0.00, 0.00, 0.00 SQL> ! cat /etc/redhat-release Red Hat Enterprise Linux AS release 3 (Taroon Update 2)
• 2. DB Time/Sec (Avg. Active Sessions)= Total DB Time / Wall Clock Time
© 2007-2009 All rights reserved.
22
诊断报告的时间维度
© 2007-2009 All rights reserved.
4 TRUNC (SYSDATE - startup_time)))
5 || ' hour(s), '|| MOD (TRUNC ( 1440 * ( (SYSDATE - startup_time) -
6 TRUNC (SYSDATE - startup_time))),60)
7 || ' minute(s), '|| MOD (TRUNC ( 86400 * ( (SYSDATE - startup_time) -
26
Oracle 10g SCN 与 时间
© 2007-2009 All rights reserved.
27
IOTs & Clusters
“If a schema has no IOTs or clusters, that is a good indication that no thought has been given to the matter of optimizing data access.” -----Steve Adams .au
© 2007-2009 All rights reserved.
28
Oracle 10g SCN与时间转换
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss‘; Session altered.
SQL> SELECT TO_CHAR (startup_time, 'DD-MON-YYYY HH24:MI:SS') started_at,
2
TRUNC (SYSDATE - (startup_time))
3 || ' day(s), ' || TRUNC ( 24 * ((SYSDATE - startup_time) -