大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

基础概念:Oracle数据库、实例、用户、表空间、表之间的关系

转载自http://www.cnblogs.com/zjhs/p/3147905.html

1.概念

  • ORACLE服务器:由实例和数据库组成。
  • 数据库:Oracle数据库是数据的物理存储。就是一堆文件(包括数据文件ORA或者DBF、控制文件、联机日志、参数文件等)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。
  • 实例: 是访问数据库文件的一个手段。 一个Oracle实例(Oracle Instance)由一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有多个实例来访问,但一个实例只能访问一个数据库。
  • 连接:互相访问的进程。如:客户端和服务器之间的TCP/IP访问进程,服务器和数据库之间的ODBC进程。
  • 会话:客户端和服务器通过进程互相确认身份、传输通信的过程。
  • 用户:用户是在实例下建立的。不同实例可以建相同名字的用户。
  • 表空间:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
  • 数据文件(dbf、ora):数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真 正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
  • 注:
    表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
    关系示意图:

2.理解

Oracle数据库可以创建多个实例,实例下有用户和表空间,用户经授权访问表空间,在表空间中创建表,表随机存储到一个或多个数据文件中。如下图所示:



3.操作

操作1:
安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。
1,运行CMD进入DOS界面,首先输入:sqlplus,回车;再输入:sys/sys as sysdba,回车,即进入“SQL〉”操作状态。
2,输入:CREATE TABLESPACE 表空间名称 LOGGING DATAFILE 'c:\表空间数据文件.ora' SIZE 500M autoextend on next 200m maxsize 2048m;,表空间创建完成。
3,输入:CREATE USER 用户名称 PROFILE default IDENTIFIED BY 用户密码 DEFAULT TABLESPACE 授权访问的表空间名称 TEMPORARY TABLESPACE temp ACCOUNT UNLOCK;,用户创建完成,并授权用户访问某表空间。
具体操作如下图所示:




操作2:
创建表和插入数据,并查询浏览插入的数据。
1,创建表,输入:
create table 表名(字段名称1 字段类型,字段名称2 字段类型,字段名称3 字段类型);,回车。
2,插入数据,输入:insert into 表名(字段1,字段2,字段3) VALUES(值1,值2,值3);,回车。
3,查询数据,输入:select * from 表名;,回车。
具体操作如下图所示: