oracle中用户,表,表空间,三者的关系是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中用户,表,表空间,三者的关系是啥?相关的知识,希望对你有一定的参考价值。

参考技术A

Oracle的数据库结构:

实例(数据库)
用户(schema)
表、视图、存储过程等。

表空间,建立在1个或多个数据文件上;
表 存储在表空间中。

可以通过alter方法给用户指定表空间的,之后创建表不需要指定,会进行默认的表空间存储的。
sql:ALTER USER 用户名  IDENTIFIED BY 口令  DEFAULT TABLESPACE 表空间;


解释:上述语句就是给“用户名”用户指定了默认的表空间“表空间”,之后所有的表都会默认进行存储。


备注:一般表空间都是设置默认自动扩展的,所以一般不用担心存储超出最大存储的问题的。

Oracle创建表空间创建用户以及授权

Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。

    对于初学者来说,为了避免麻烦,可以用‘Database Configuration Assistant‘向导来创建数据库。

创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。

关系:一个大的数据中分为几个表空间,创建几个用户然后指定对应的表空间并授权,这样用户就独立操作自己的资源了,每每用户登录进入后,在自己的表空间中新建表啊等等对象,互不干扰。

    下面是创建数据库用户的具体过程:

 

1.假如现在已经建好名为‘NewDB‘的数据库

此时在D:appAdministratororadata目录下已经存在NewDB目录(注意:我的Oracle11g安装在D盘下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*:appAdministratororadata目录下)。

 

2.创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。

SQL> CREATE TEMPORARY TABLESPACE DB_TEMP

         TEMPFILE ‘D:appAdministratororadataNewDBDB_TEMP.DBF

         SIZE 32M

         AUTOEXTEND ON

         NEXT 32M MASIZE UNLIMITED

         EXTENT MANAGEMENT LOCAL;

 

3.创建用户之前先要创建数据表空间,若没有创建则默认永久性表空间是system。

SQL> CREATE TABLESPACE DB_DATA

         LOGGING

         DATAFILE ‘D:appAdministratororadataNewDBDB_DATA.DBF

         SIZE 32M

         AUTOEXTEND ON

         NEXT 32M MAXSIZE UNLIMITED

         EXTENT MANAGEMENT LOCAL;

其中‘DB_DATA‘和‘DB_TEMP‘是你自定义的数据表空间名称和临时表空间名称,可以任意取名;‘D:appAdministratororadataNewDBDB_DATA.DBF‘是数据文件的存放位置,‘DB_DATA.DBF‘文件名也是任意取;‘size 32M‘是指定该数据文件的大小,也就是表空间的大小。

 

4.现在建好了名为‘DB_DATA‘的表空间,下面就可以创建用户了:

SQL> CREATE USER NEWUSER IDENTIFIED BY BD123

         ACCOUNT UNLOCK

         DEFAULT TABLESPACE DB_DATA

         TEMPORARY TABLESPACE DB_TEMP;

默认表空间‘DEFAULT TABLESPACE‘使用上面创建的表空间名:DB_DATA。

临时表空间‘TEMPORARY TABLESPACE‘使用上面创建的临时表空间名:DB_TEMP。

 

5.接着授权给新建的用户:

SQL> GRANT CONNECT,RESOURCE TO NEWUSER;  --表示把 connect,resource权限授予news用户

SQL> GRANT DBA TO NEWUSER;  --表示把 dba权限授予给NEWUSER用户

    授权成功。

    OK! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!

 

总结:创建用户一般分四步:

第一步:创建临时表空间

第二步:创建数据表空间

第三步:创建用户并制定表空间

第四步:给用户授予权限

以上是关于oracle中用户,表,表空间,三者的关系是啥?的主要内容,如果未能解决你的问题,请参考以下文章

求解?表空间,表,用户这三者之间的 关系与区别?

ORACLE表空间限额是啥?

Oracle表空间用户详解

oracle数据库,表空间和表之间是啥关系

oracle数据库,表空间和表之间是啥关系

oracle的表空间是啥