Oracle[转]Oracle – 数据库的实例、表空间、用户、表中涉及

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

 

总体的Oracle数据库一般由片组成部分组成:Oracle数据库及数据库实例。 1)
数据库是一样文山会海物理文件之会师(数据文件,控制文件,联机日志,参数文件等);
2)
Oracle数据库实例则是同等组Oracle后台进程/线程以及当服务器分配的共享内存区。

于起步Oracle数据库服务器时,实际上是在服务器的内存中创造一个Oracle实例(即于服务器内存中分配共享内存并创连锁的后台内存),然后由是Oracle数据库实例来访问和决定磁盘中的数据文件。Oracle有一个老大酷之外存快,成为全局区(SGA)。

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

1、数据库

数据库是数量集合。Oracle是平种数据库管理网,是一模一样栽关系型的数据库管理体系。
通常状态了咱遂之“数据库”,并不只靠物理的多寡集合,他饱含物理数据、数据库管理体系。也就算物理数据、内存、操作系统进程的组合体。
咱以装置Oracle数据库时,会吃咱摘安装启动数据库(即默认的大局数据库)如下图:Oracle 1
全局数据库名:就是一个数据库的标识,在设置时就要想吓,以后一般不改,修改起来也累,因为数据库一旦设置,数据库名就是描写上了控制文件,数据库表,很多地方还见面为此到是数额库名。
开行数据库:也为全局数据库,是数据库系统的输入,它会安放有尖端权限的用户如SYS,SYSTEM等。我们就此这些高档权限账号登陆就可于数据库实例中开创表空间,用户,表了。
询问时数据库名:

select name from v$database;

 

2、数据库实例

就此Oracle官方描述:实例是访问Oracle数据库所用的相同局部电脑内存和援助处理后台进程,是出于进程与这些过程所下的内存(SGA)所成一个会师。
实则就算是故来做客同运数据库的一致片进程,它仅设有于外存中。就比如Java中new出来的实例对象同。
咱们访问Oracle都是造访一个实例,但这个实例如果提到了数据库文件,就是可以拜的,如果没,就会见得实例不可用之错。
实例名指的是用于应某个数据库操作的数据库管理体系的称谓。她以也于SID。实例名是由于参数instance_name决定的。
询问时数据库实例名:

select instance_name from v$instance;

数据库实例名(instance_name)用于对表面连接。在操作系统中而取得跟数据库的沟通,必须采用数据库实例名。比如我们发开发,要连续数据库,就得总是数据库实例名:

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

一个数据库可生多独实例,在作数据库服务集群的上可就此到。

3、表空间

Oracle数据库是由此表空间来囤物理表的,一个数据库实例可以出N个表空间,一个表空间下可以发N张表。

起了数据库,就得创建表空间。

说明空间(tablespace)是数据库的逻辑划分,每个数据库至少发生一个申明空间(称作SYSTEM表空间)。为了便于管理和增长运行效率,可以采取部分附加表空间来划分用户和应用程序。例如:USER表空间供一般用户用,RBS表空间供回滚段用。一个说明空间只能属于一个数据库。

创造表空间语法:

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数据库建好后,要想以数据库里建表,必须先乎数据库建立用户,并也用户指定表空间。

地方我们修建好了数据库及表空间,接下去建用户:

缔造新用户:

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

如:

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

相关文章