收获不止oracle 笔记

合集下载

ORACLE数据库学习心得

ORACLE数据库学习心得

ORACLE数据库结课论文一个好得程序,必然联系着一个庞大得数据库网路、、、今年我们学习了oracle数据库这门课程,起初得我,对这个字眼就是要多陌生有多陌生,后来上课得时候听一会老师讲课,偶尔再跟上上机课,渐渐得学会了不少东西,但我感觉,我学到得仍就是一些皮毛而已,怀着疑惑与求知得心态,我在网上搜索了关于oracle 数据库得一些知识。

1、ORACLE得特点:可移植性ORACLE采用C语言开发而成,故产品与硬件与操作系统具有很强得独立性。

从大型机到微机上都可运行ORACLE得产品。

可在UNIX、DOS、Windows等操作系统上运行。

可兼容性由于采用了国际标准得数据查询语言SQL,与IBM得SQL/DS、D B2等均兼容。

并提供读取其它数据库文件得间接方法。

可联结性对于不同通信协议,不同机型及不同操作系统组成得网络也可以运行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数据库学习笔记大全 (1)

Oracle数据库学习笔记大全 (1)

为什么要创建其它用户?因为system,sys用户等等是系统用户,系统
用户使用的是系统的表空间。我们应该创建一个非系统用户去使用上面创建的非
系统表空间,以免破坏系统原始数据。
使用SQL语句创建用户使用上述表空间:
CREATE USER 用户名
IDENTIFIED BY 密码
delete from test1 where id=1 and name='jack'; //删除id=1并且name='jack'的那些数据
delete from test1 where id=2 or name='jack'; //删除id=2或者name='jack'的那些数据
使项目的数据更加的清晰,易于维护.
什么是SQL?结构化查询语言(Structor Query Language)
通过SQL命令去创建表空间:(SQL语句大小写不敏感)
CREATE TABLESPACE
表空间的逻辑名称
DATAFILE
表空间的物理结构文件路径名称
9.安装ORACLE后,oracle数据库会启动很多服务,这些服务占用大量内存,如果不用ORACLE数据库最好把ORACLE相关开启的服务关闭。
如何关闭服务?
我的电脑-->管理-->服务和应用程序-->服务
把Oracle相关的自动启动的服务改成手动启动。
10.数据库的实例名是编程语言连接数据库的标志。
注意:如果敲入的SQL语句执行错误。可以使用edit命令进行编辑
编辑步骤:SQL>edit 回车(edi缩写)
弹出记事本

Oracle学习笔记

Oracle学习笔记

Oracle 入门学习笔记
4.3 分析函数 .................................................................................................... 17 第三章 分区表与锁 ................................................................................................ 17 1. 分区表的分类 ....................................................................................................... 17 2. 分区表的使用 ....................................................................................................... 17 3. 分区表的维护 ....................................................................................................... 20 4. 锁 ........................................................................................................................ 21 第四章 数据对象..............................................................................

收获,不止Oracle(第2版)

收获,不止Oracle(第2版)
写得很好的一本数据库相关的技术类具体作用,也就是前面说的预处理,是什么呢?主要有三点:第一,保存用户的连接信息,如会 话属性、绑定变量等;第二,保存用户权限等重要信息,当用户进程与数据库建立会话时,系统会将这个用户的 相关权限查询出来,然后保存在这个会话区内;第三,当发起的指令需要排序的时候,PGA(Program Global Area)正是这个排序区,如果在内存中可以放下排序的尺寸,就在内存PGA区内完成,如果放不下,超出的部分 就在临时表空间中完成排序,也就是在磁盘中完成排序。
8.1大表等同小表了 8.2大表切成小表了 8.3索引变身小表了 8.4删除动作不做了 8.5清表角度变换了 8.6提交次数缩减了 8.7迁移越来越快了 8.8 SQL语句精简了
9.1描述要考虑周全 9.2用词要尽量准确 9.3说明要力求简洁 9.4问过的避免再问 9.5能搜能试不急问
10.1小余买鱼系列故事 10.2买鱼买出了方法论 10.3方法论的应用案例
11.1抓狂,为何事总忙不完 11.2淡定,规范让你少做无谓事
作者介绍
这是《收获,不止Oracle(第2版)》的读书笔记模板,暂无该书作者的介绍。
谢谢观看
学习任何技术都是一样的,没有思考过你所学的某项技术有什么用,没有想过如何落地,如何应用到实际工 作中去,都是毫无意义的学习,纯粹浪费生命。
数据库应用可以分为数据库开发、数据库管理、数据库优化、数据库设计4类
其实数据库和Excel等最明显的差别在于,数据库是有‘事务’的概念的。
什么时候将数据缓存区中的数据写到磁盘的动作正是由进程CKPT来触发的,CKPT触发DBWR写出。
3.1长幼有序的逻辑体系 3.2逻辑体系从老余养殖细细说起 3.3课程结束你给程序安上了翅膀

Oracle学习笔记

Oracle学习笔记

目录Oracle学习路线 (1)在windows XP之后的版本中安装Oracle10g的注意事项 (2)创建和删除临时表空间 (3)创建数据表空间 (4)3、创建用户并指定表空间 (4)4、给用户授予权限 (4)Oracle学习路线1、sql、pl/sql(网上有很多的视频,可以做一个简单的入手,然后看几本书,多做实验)作为oracle的基本功,需要大家对sql和plsql非常的熟悉。

特别是sql 里面的多表连接、子查询、各种新版本的函数,以及plsql里面的所有语法。

建议大家拿出足够的时间来研究这两块。

不要认为这是开发人员的工作,他也是DBA的重要工作,而且对DBA的要求更高,你不但能看懂,还要能够找出问题。

学些这方面知识的要点就是:多练、多思考。

2、Oracle管理(体系结构)(这一块一定要听课,而且是要听“大师”的课、多讨论)这是Oracle的难点,Orcle技术博大精深,主要的难点就集中在这里面。

包括Oracle的存储管理、对象管理、内存和进程、undo管理、初始化参数、数据字典视图、安全、latch和lock、权限和角色、资源调度、闪回、日志原理等。

学习这一块知识的时候,一个重点是:要知道原理和“根”,知道表面的东西没有任何意义。

知道原理以后,通过实验去证明,将原理总结出来。

这一块学习的好还是不好,直接决定了以后的一个备份恢复、优化、排错。

这一块虽然是研究管理,但是更加注重原理和体系结构的分析和解剖。

应该叫做“深入剖析Oracle体系结构”,多深都需要。

在这一部分的学习中,已经学习了很多优化的内容,在学习任何一个知识点的时候,我们都离不开对性能的分析。

3、备份恢复(听听课、看几本书,多做做实验、多讨论)有了第二部分的铺垫,这一章的学习相对有意思,前提是我们对Oracle的日志原理研究得较深,对oracle的内存和进程研究得较深。

策划一个完美和正确的备份计划和实施方案(具体要分析出原理),实施备份;对各种损坏进行恢复(还是要能够够分析出原理);另外可以做一些高难度的恢复实验(还是老话、要能够分析出原理)。

oracle学习笔记(全)

oracle学习笔记(全)

N
模糊查询like
select last_name
from s_emp
where last_name like '%N%';
%:匹配0个或多个
?:匹配0个或1个
_:匹配单个字符
_briup
SELECT last_name
FROM s_emp
WHERE last_name LIKE
2:先定位到要插入语句的行
i 插入的内容
i where dept_id=42;
删除某一行:del
先定位到你要删除的行
del
start fileName:执行脚本文件
@ fileName :执行脚本文件
get fileName:脚本文件
的内容输出到工具上
save fileName:将buffer中sql保存到
'/_%' escape '/';
and
or
查询41,42号部门的员工,
或者工资大Leabharlann 2000; select last_name,salary,dept_id
from s_emp
where dept_id in(41,42)
or salary>2000;
not and or
select last_name name,salary
from s_emp
order by salary desc;
select last_name,salary
from s_emp
order by salary desc,
last_name asc;

Oracle数据库心得体会

Oracle数据库心得体会

学习Oracle数据库的心得体会
对于学习Oracle数据库,应该先要了解OracleSGA和PGA〕算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写,后台进程〔数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、效劳进程、用户进程〕,SCN(System Change Number)。

这些东西感觉都比拟专业,我对它们也就是个知道,想要真真去认识我还得努力去做。

虽然懂得还不是很多,起码会了根本的软件操作,老师说我们用的都是客户端,效劳端看不到,也不知道效劳端是什么样的,只知道客户端就挺多东西的,没有真正的去学习利用是很难掌握的。

Oracle数据库的学习使我对数据库的有了新的进步,以后再看到也就不至于什么也不懂,其实那么多数据库我觉得学好一门就行,只是他们的语言可能不大一样,学好一门后就可去认识其它的,这样应该有事半功倍的效果。

就像我学习C语言,当时不能说是学习的棒,但不算差。

所以我对以后的语言感觉都不是很困难,了解了、C++还有网页中用的Html语言、asp语言都能看懂,起码可以对别人的东西进行了一下修改。

因此,我感谢OracleOracle能给我更多帮助,让我在我熟悉的中运用上去,我以前的一个目标是要为学校的选课做一个选课助手来帮助大学。

不过因为种种原因一直没有完成,也包括我对数据库的不了解,因为学了Oracle以后知道第一项内容是通过SQL查询后得到的,如果去把它们联系起来还不是真正明白,不过我相信我的目标能在学习Oracle后得到进展。

Oracle经典自学笔记(doc 34页)

Oracle经典自学笔记(doc 34页)

Oracle经典自学笔记(doc 34页)一.验证Oracle已经安装完成了,首先得确认程序里有这些个选项,有四个选项:Oracle Installation Products、集成管理工具、配置和移植工具(管理员用得比较多)、应用程序开发。

Oracle也可以形成一种层次性的链接(Directory Manager),对于我们来说用得最多是sqlplus,而OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM),他是微软提出的,在用VB开发时可能要用,对于我们来说不须管。

当启动sqlplus时会提示输入用户名和口令,所谓的sqlplus是Oracle的一个客户端。

Oracle大多数命令都用命令来实现,所以比较难使,就如同unix比windows难使。

口令你输入tiger,建议就用它,因为以后去企业里Oracle 9i就是用的这个口令。

当你看到SQL>命令符时说明已经进入到了Oracle的命令行了。

图形版的sqlplus,命令行的sqlplus,还有一个就是通过网页访问Oracle的服务,启动sqlplus,端口号是5560,URL是它干什么且怎么干。

第四大只用告诉它我要干什么,不用去控制它怎么干,这样的语言学起来当然十分easy。

我们共有四类语句要学:数据操作语言语句[Data manipulation language,DML],会话控制语句[session control statement],数据定义语言语句[Data definition language,DDL]以及事务控制语句[transaction control statement]。

查询语句只有一句话就是select语句,这是最重要的一条语句。

以后只要遇到相应的select 语句一律背过,企业再面试时其他语句一般不会怎么考但这条语句是必考的。

如果考你SQL语句肯定会考这条select语句不是别的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收获不止oracle:
学习oracle的指点迷津。

学习oracle 对于不同的角色的相关知识的储备
Oracle的物理体系结构
1,oracle数据库是由实例(instance)和数据库(database)组成
2,instance 是由一个开辟的共享内存区SGA(system global area)和一些列的后台
组成,其中SGA区域可以被划分成共享池,数据缓冲池,日志缓冲池三类。

后台进程包括PMON,SMON,LCKn,RECO,CKPT,DBWR,LGWR,ARCH等进程.
3,数据库是由数据文件,参数文件,日志文件,控制文件,归档日志文件等组成,其中
归档日志文件最终可能会被转移到新的存储介质中,用于备份恢复使用。

4,PGA(program global area)也是一个开辟出来的内存区域,PGA不是共享内存是私有的,S 理解为共享的首字母,用户对数据库发起的任何操作,都是在PGA先处理在进入到实例区域。

PGA的预处理主要的三点:第一,保存用户的连接信息,如会话属性,绑定变量等。

第二保存用户权限等信息,当用户进程与数据库建立会话时系统会将用户的相关权限查询出来,保存在会话区内,第三,当发起指令需要排序的时PGA正是这个排序区,如果内存中可以放下排序的尺寸,就在内存PGA的区完成,如果不够,超出的部分就在临时表空间中完成排序,即在磁盘中完成
5,用户请求发起的顺序一般如下:1->2->3或者1->2
PGA 中第二条在重复时,可以查询记录SESSION 不必再到硬盘中查询,减少查询的时间使用一个例子来证明PGA中第二条的效果
[oracle@el5 ~]$ . oraenv
ORACLE_SID = [+ASM] ? orcl
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle
[oracle@el5 ~]$ sqlplus hr
SQL> set timing on
SQL> select * from huayu; 自己建立的一张表
第一次查询需要的时间
Elapsed: 00:00:00.03
第二次查询需要的时间
Elapsed: 00:00:00.01
第三次查询需要的时间
Elapsed: 00:00:00.0
在有索引和全表扫描后,查询需要的时间也是不相同的,一般有索引会比较快。

SQL> select /*+full(t)*/ id from huayu where lastname='tom'; 强制全表查询
Elapsed: 00:00:00.12 查询时间
在修改了数据库操作后需要用户做commit 或rollback 的动作
Commit是确认无误rollback是用户后悔了撤销先前操作
数据库每一次提交都是批量操作,可以提高效率
Oracle做到了安全和效率的兼顾
日志缓存区是记录在内存中
日志文件是永久保存在磁盘的
什么时候将数据缓存区的数据写到磁盘是有进程CKPT来出发的,CKPT出发DBWR写出
当数据库崩溃的时候可以调整CKPT的参数用于实例恢复
DML语句分为三类:insert,update,delete
在使用了DML(数据库管理语言)操作时,数据缓存区信息会写入磁盘,即使一直不ccommit 因为不是由commit来决定的,而是由CKPT进程来决定的
对8个核的进程进行劳模评选
PMON,SMON,LCKn,RECO,CKPT,DBWR,LGWR ,ARCH
PMON 含义是processess Monitor 进程监视器,在执行更新某语句未提交是进程崩溃这时PMON 会自动回滚该操作,无需人工rollback 。

还有如果RECO 异常失败PMON会重启RECO 进程。

SMON 是system monitor 系统监视器于PMON不同SMON关注系统级的操作而不是单个进程,重点工作在于INSTANCE RECOVERY 除此之外还有清理临时表空间,清理回滚段表空间,合并空闲空间
LCKn 仅使用于RAC数据库做多可有10个进程(LCK0.LCK1……..)用于实例间的封锁
RECO用于分布式数据库的恢复(Distributed Database Recovery),适用于两阶段提交的应用场景。

比如我们面临多个数据库A,B,C某个应用跨域三个数据库,发起的过程需要A,B,C库都提交成功,事务才会成功,只要一个失败必须全部回滚。

DBWR是ORACLE最核心的进程之一,负责把数据从数据缓存区写到磁盘里面,该进程和CKPT 相辅相成,因为CKPT促成DBWR去写,不过DBWR也和LGWR密切相关,因为DBWR想将数据缓存区写到磁盘时,必须通知LGWR先完成日志缓冲区写到磁盘动作后,
LGWR就是把日志缓存区的数据写到磁盘的REDO的文件,完成数据库对象创建,更新数据等操作过程的记录。

这个REDO记录威力强大,可以用来做数据库的异常恢复,只要保护好了REDO文件和后续对应的归档文件,从理论上说即使数据文件被删光了好事可以让数据库根据这些日志记录把所有的在数据库中曾经发生的事情在重做一遍,来保证数据库的安全。

LGWR必须记录下所用的数据缓存区写进数据文件的动作,要顺序记录情况下保留的日志才有意义,LGWR给自己制定了5条制度要求自己,
1,每隔三秒,LGWR运行一次
2,任何COMMIT触发LGWR运行一次
3,DBWR要把数据从数据缓存写到磁盘,触发LGWR运行一次
4,日志缓冲区满三分之一或记录满1MB,触发LGWR运行一次
5,联机日志文件切换也触发LGWR
ARCH进程作用是在LGWR写日志到需要覆盖重写的时候触发ARCH进行更去转移日志文件,复制出去形成归档日志文件,防止日志丢失。

准备回滚的钱镜像数据的生成其实和普通的数据操作产不多,唯一的差别就在于一个是刷新到磁盘的普通文件一个是刷新到磁盘的回滚数据文件
数据缓存区没立即刷新到磁盘数据丢失后需要依据redo来重做场景,回滚前镜像也是这样当回滚的前镜像数据既不在内存又不在磁盘的情况出现(例如突然断电)所以前镜像相关操作的日志是很重要的
Undo 是记录了反向信息的动作
Redo 之前的动作在再来一次
回滚段不仅保证了数据的回退还提供了另外一个功能保证数据库的一致读。

前提:
1,了解数据库的SCN,即system change number,这是一个只会增加不会减少的递增数字,存在于ORACLE的最小单位块中,
2,数据库的回滚段记录事务槽(事务槽是用来分配回滚空间)如果更新了某块,事务就被写进事务槽,若为提交或回滚,该块就存在活动事务,数据库读到此块可以十倍这种情况的存在
读过了的数据块不会再回头比较,
在早期的SQL SERVER的数据块版本,是读产生锁,在读数据时表就被锁住,但是诶过读表会让表锁住,那么数据库的并发就会受到很大的影响,但是ORACLE的回滚段解决了读的一致性问题,又避免了锁,增强了数据库的并发操作能力。

SQL> show parameter share_pool_size;
SQL> show parameter db_cache_size;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_size big integer 0
共享池和数据缓冲区的大小都是0,因为ORACLE设置SGA为自动管理,
sga_target 不能大于ga_max_size 6
在oracle 11g中自动化的程度更加彻底,推出了MEMORY_TARGET参数,只要设置了该参数连PGA都不需要设置了。

[oracle@el5 ~]$ ipcs –m 可以查看
Log_buffer 的大小不能自动分配必须手动来调整,因为log_buffer每满1M就要写一次,每满三分之一也要写一次,分配的太大优化效果不明显,一般15M
修改的例子
更改后查看没有生效,要重启才会生效哦。

相关文档
最新文档