Oracle学习笔记一 初识Oracle
数据库简介
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。SQL 是 Structured Query Language(结构化查询语言)的首字母缩写词。
定义
数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
Oracle数据库简介
Oracle 数据库结构
oracle数据库结构分为物理结构和逻辑结构。
物理结构:物理组件就是Oracle数据库所使用的操作系统物理文件。我们可以在安装目录下的 product\10.2.0\oradata\orcl 目录下进行查看,在生产环境中不同的文件放在不同的目录,根据用户访问的频繁情况来做决定。
1)、主要物理文件可分为三类:
i、数据文件:数据文件用于存储数据库数据,如表、索引数据等。
ii、控制文件:控制文件是记录数据库物理结构的二进制文件。
iii、在线日志文件:记录对数据库的所有修改信息,用于故障恢复。
注意:丢失这些文件,数据库不可以继续运行,需要进行介质恢复。
2)、非主要物理文件包括:
参数文件、密码文件、告警和跟踪文件、归档日志文件、备份文件。
参数文件分为pfile文件和spfile文件,位于ORACLE_HOME\DATABASE目录下,9i开始默认不使用sfile文件,如spfileorcl.ora文件。
密码文件:sys用户密码,位于ORACLE_HOME\DATABASE目录下,如pwdorcl.ora文件。
查看是否有归档日志:archive log list。
ORACLE_HOME: D:\dev\oracle\product\10.2.0\db_1
注意:丢失这些文件,数据库仍然可以继续运行,不需要进行介质恢复。
逻辑结构:数据库的逻辑结构是从逻辑的角度分析数据库的组成。
Oracle 的逻辑组件包括:数据库->表空间->段->区->数据库->模式。
Oracle 实例
Oracle 实例是后台进程和内存结构的集合
Oracle 实例内存
当服务器进程启动时分配程序全局区,Oracle 的内存结构包含以下两个内存区
系统全局区
数据库信息存储于SGA,由多个数据库进程共享
共享池
- 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
- 共享池由库缓存和数据字典缓存组成。
- 共享池的大小直接影响数据库的性能。
数据缓冲区
- 用于存储从磁盘数据文件中读入的数据,所有用户共享。
- 服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。
- 数据缓冲区的大小对数据库的读取速度有直接的影响。
日志缓冲区
- 日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
- 当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。
- 相对来说,日志缓冲区对数据库的性能影响较小。
程序全局区
- 程序全局区(PGA)包含单个服务器进程所需的数据和控制信息
- PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息
- PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放
Oracle 实例进程
后台进程是Oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的。 Oracle 实例启动时即创建一系列后台进程
PMON 进程监控进程
- 清理出现故障的进程。
- 释放所有当前挂起的锁定。
- 释放故障进程使用的资源。
SMON 系统监控进程
- 在实例失败之后,重新打开数据库时自动恢复实例。
- 整理数据文件的自由空间,将相邻区域结合起来。
- 释放不再使用的临时段。
DBWR 数据写入进程
- 管理数据缓冲区,将最近使用过的块保留在内存中。
- 将修改后的缓冲区数据写入数据文件中。
LGWR 日志写入进程
- 负责将日志缓冲区中的日志数据写入日志文件。
- 系统有多个日志文件,该进程以循环的方式将数据写入文件。
Oracle 主要组件
会话
- 会话是用户与 Oracle 服务器的单个连接
- 当用户与服务器建立连接时创建会话
- 当用户与服务器断开连接时关闭会话
Oracle 逻辑组件
表空间
- 表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。
- 每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。
- 表空间的大小等于构成该表空间的所有数据文件大小之和。
CREATE TABLESPACE tablespacename
DATAFILE ‘filename’ [SIZE integer [K|M]]
[AUTOEXTEND [OFF|ON]];
段
- 段是构成表空间的逻辑存储结构,段由一组区组成。
- 按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。
区
- 区为段分配空间,它由连续的数据块组成。
- 当段中的所有空间已完全使用时,系统自动为该段分配一个新区。
- 区不能跨数据文件存在,只能存在于一个数据文件中。
数据块
- 数据块是Oracle服务器所能分配、读取或写入的最小存储单元。
- Oracle服务器以数据块为单位管理数据文件的存储空间。
模式
- 模式是对用户所创建的数据库对象的总称。
- 模式对象包括表、视图、索引、同义词、序列、过程和程序包等。
使用 Oracle 数据库的开发流程
Oracle学习笔记一 初识Oracle的更多相关文章
- Oracle学习笔记二 初识Oracle(二)
Windows 中的 Oracle 服务 Oracle 9i的每个实例在Windows中都作为一项服务启动 服务是在 Windows 注册表中注册的可执行进程,由 Windows 操作系统管理 “服务 ...
- 【Oracle学习笔记-2】Oracle基础术语解析
来自为知笔记(Wiz) 附件列表 Oracle概念解析.png 表空间.png 大小关系.png 段segment.png 块block.png 区entent.png 数据库基本概念.png
- Oracle学习笔记之五,Oracle 11g的PL/SQL入门
1. PL/SQL概述 PL/SQL(Procedural Language/SQL)是Oracle的专用语言,是对标准SQL语言的扩展,它允许在其内部嵌套普通的SQL语句,还可以定义变量和常量,允许 ...
- 【oracle学习笔记02】Oracle Architecture —— Process Structure
Oracle中有三类进程: 1 User Process 2 Server Process Server Process is a program that directly interacts wi ...
- Oracle学习笔记之三,Oracle 11g数据库的启动与关闭
SQL*PLus命令 SQLPLUS username[/password][@connect_identifier][AS SYSOPER|SYSDAB] 1. 启动数据库实例 STARTUP [n ...
- 【oracle学习笔记01】oracle architecture —— Memory Strucrure
附图3: granule_size for each components 附图4:
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle学习笔记——点滴汇总
Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster
随机推荐
- 在春意盎然的季节里初识GIT
Git 与 SVN 区别 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等. 如果你是一个具有使用SVN背景的人,你需要做一定的思想转换,来适应GIT提供的一些概念和特征. ...
- 对jquery操作复选框
摘要:jquery操作复选框.使用更简洁易懂,思路清晰,逻辑更明了,很实用 <!DOCTYPE html> <html> <head> <meta chars ...
- iOS-----App闪退,程序崩溃---解决方案
1.iOS-中app启动闪退的原因 2.iOS开发-闪退问题-解决之前上架的 App 在 iOS 9 会闪退问题 3.iOS-应用闪退总结 4.iOS开发-捕获程序崩溃日志 5.iOS开发-应用崩溃日 ...
- 通过easyui tab添加的子页面JS脚本必须放在body才生效
通过easyui tab添加的子页面JS脚本必须放在body才生效 可通过Chrome查看元素时,head标签是否含有你自己写的JS代码
- SQL Server-分页方式、ISNULL与COALESCE性能分析(八)
前言 上一节我们讲解了数据类型以及字符串中几个需要注意的地方,这节我们继续讲讲字符串行数同时也讲其他内容和穿插的内容,简短的内容,深入的讲解,Always to review the basics. ...
- Node.js:DNS模块的使用
Nodejs的DNS模块包涵有关DNS查询和操作的方法,下面介绍该模块的基本用法以及实现一个DNS查询小工具. 1.获取DNS服务器地址 使用getServers方法,该方法返回一个IP地址组成的数组 ...
- 【NLP】揭秘马尔可夫模型神秘面纱系列文章(四)
维特比算法解决隐马尔可夫模型解码问题(中文句法标注) 作者:白宁超 2016年7月12日14:08:28 摘要:最早接触马尔可夫模型的定义源于吴军先生<数学之美>一书,起初觉得深奥难懂且无 ...
- 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(1): 基础知识Beautiful Soup
开始学习网络数据挖掘方面的知识,首先从Beautiful Soup入手(Beautiful Soup是一个Python库,功能是从HTML和XML中解析数据),打算以三篇博文纪录学习Beautiful ...
- 利用Python进行数据分析(10) pandas基础: 处理缺失数据
数据不完整在数据分析的过程中很常见. pandas使用浮点值NaN表示浮点和非浮点数组里的缺失数据. pandas使用isnull()和notnull()函数来判断缺失情况. 对于缺失数据一般处理 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...