表之间关系

正文转自:http://www.cnblogs.com/adforce/p/3312252.html

 

完整的Oracle数据库一般由两某些组成:Oracle数据库和数据库实例。 1)
数据库是一名目繁多物理文件的会合(数据文件,控制文件,联机日志,参数文件等);
2)
Oracle数据库实例则是一组Oracle后台进度/线程以及在服务器分配的共享内存区。

在开发银行Oracle数据库服务器时,实际上是在服务器的内部存款和储蓄器中开创2个Oracle实例(即在服务器内部存款和储蓄器中分配共享内部存款和储蓄器并创制连锁的后台内部存款和储蓄器),然后由这些Oracle数据库实例来访问和决定磁盘中的数据文件。Oracle有1个非常的大的内部存款和储蓄器快,成为全局区(SGA)。

一 、数据库、表空间、数据文件

1、数据库

数据库是多少集合。Oracle是一种数据库管理系列,是一种关系型的数据库管理系列。
平常状态了大家称的“数据库”,并不仅指物理的多少集合,他饱含物理数据、数据库管理种类。也即物理数据、内部存储器、操作系统进度的组合体。
我们在安装Oracle数据库时,会让大家选择设置运营数据库(即暗中认可的全局数据库)如下图:bifa365必发 1
全局数据库名:就是2个数据库的标识,在装置时就要想好,现在一般不修改,修改起来也麻烦,因为数据库一旦设置,数据库名就写进了决定文件,数据库表,很多地点都会用到这几个数目库名。
初叶数据库:也叫全局数据库,是数据库系统的进口,它会停放一些尖端权限的用户如SYS,SYSTEM等。我们用那个高级权限账号登陆就能够在数据库实例中制造表空间,用户,表了。
查询当前数据库名:

select name from v$database;

 

② 、数据库实例

用Oracle官方描述:实例是造访Oracle数据库所需的一部分电脑内部存款和储蓄器和扶持处理后台进度,是由进度和那些经过所选取的内部存款和储蓄器(SGA)所结合多少个会见。
实际上正是用来拜会和行使数据库的一块进度,它只设有于内部存款和储蓄器中。就如Java中new出来的实例对象一样。
作者们走访Oracle都以造访2个实例,但以此实例固然涉及了数据库文件,正是能够访问的,假使没有,就会获取实例不可用的谬误。
实例名指的是用以响应某些数据库操作的数据库管理类别的名称。她并且也叫SID。实例名是由参数instance_name决定的。
询问当前数据库实例名:

select instance_name from v$instance;

数据库实例名(instance_name)用于对表面连接。在操作系统中要取得与数据库的关系,必须使用数据库实例名。比如大家作开发,要一而再数据库,就得总是数据库实例名:

jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)

多少个数据库能够有多少个实例,在作数据库服务集群的时候可以用到。

3、表空间

Oracle数据库是通过表空间来储存物理表的,一个数据库实例可以有N个表空间,2个表空间下能够有N张表。

有了数据库,就足以创立表空间。

表空间(tablespace)是数据库的逻辑划分,种种数据库至少有1个表空间(称作SYSTEM表空间)。为了便于管理和拉长运转作用,能够使用部分附加表空间来划分用户和应用程序。例如:USE智跑表空间供一般用户使用,RBS表空间供回滚段使用。2个表空间只可以属于三个数据库。

成立表空间语法:

Create TableSpace 表空间名称  
DataFile          表空间数据文件路径  
Size              表空间初始大小  
Autoextend on

如:

create tablespace db_test  
datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'  
size 50m  
autoextend on;

翻看已经创办好的表空间:

select default_tablespace, temporary_tablespace, d.username  
from dba_users d

 

4、用户

Oracle数据库建好后,要想在数据Curry建表,必须先为数据库建立用户,并为用户钦定表空间。

上边大家建好了数据库和表空间,接下去建用户:

始建新用户:

CREATE USER          用户名  
IDENTIFIED BY        密码  
DEFAULT TABLESPACE   表空间(默认USERS)  
TEMPORARY TABLESPACE 临时表空间(默认TEMP) 

bifa365必发,如:

CREATE USER utest  
IDENTIFIED BY utestpwd  
DEFAULT TABLESPACE db_test  
TEMPORARY TABLESPACE temp;(这里临时表空间不能使用我们创建的db_test,不知为何?) 

有了用户,要想采纳用户账号管理本人的表空间,还得给它分权限:

GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。

翻开数据库用户:

select  * from dba_users;

5、表

有了数据库,表空间和用户,就能够用自定义的用户在自身的表空间创制表了。有了表,大家能够支付了。

 

转载:http://yuwenlin.iteye.com/blog/1882988

发表评论

电子邮件地址不会被公开。 必填项已用*标注