一、oracle关键概念
Oracle 是属于分布式存储相关数据的
DBMS(数据库管理系统)、DB(数据库)、RDBMS(关系型数据库管理系统)、DBS(数据库系统)
它通常由软件、数据库和数据管理员组成。
1、数据文件
数据文件是数据库的物理存储单位,而表空间TableSpace则是数据库的逻辑组成部分。数据库的数据是存储在表空间中的,而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。
**注意:**一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
2、表空间
**表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。**一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据库文件(datafile)。一个数据文件只能属于一个表空间。
3、用户
**用户是在实例下建立的。**不同实例中可以建相同名字的用户。
**注意:**表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于 Oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。
**注意:**因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
4、数据库和实例
Oracle 数据库服务器由一个数据库和至少一个数据库实例组成。 数据库是一组存储数据的文件,而数据库实例则是管理数据库文件的内存结构。此外,数据库是由后台进程组成。
数据库和实例是紧密相连的,所以我们一般说的 Oracle 数据库,通常指的就是实例和数据库。
通俗理解:数据库主要管理数据文件,如数据的逻辑关系,物理地址等;实例主要是是客户端应用程序(用户)和数据库之间的接口,主要是调节操作系统中关于数据库调用进程内存的大小等。
5、关于数据库语言的分类
DDL:数据库定义语言:create、drop、alert
DML:数据库的操作语言:insert、update、delete
DQL:数据库的查询语言:select
DCL:数据库的控制语言:grant(授权)、revoke(撤销)
6、OLTP和OLAP
通常来说,我们把业务分为来两类,在线事务处理系统(OLTP)和在线分析系统(OLAP)或者DSS(决策支持系统),这两类系统在数据库的设计上是如此的不同,甚至有些地方的设计是像相悖的。
比如:
OLTP 系统强调数据库的内存效率,强调内存各种指标的命中率,强调绑定变量,强调并发操作。
优化:通过优化数据库内存
OLAP 系统则强调数据分析,强调SQL 执行时长,强调磁盘I/O,强调分区等。
优化:优化SQL语句(可使用索引)