oracle 表空间,用户的创建及授权,表空间基本操作

Posted 阳光下的大男孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 表空间,用户的创建及授权,表空间基本操作相关的知识,希望对你有一定的参考价值。

参考地址:https://www.cnblogs.com/zhaideyou/articles/5845271.html

 

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\'--(随便一个路径下指定一个.dbf文件)

         SIZE 32M

         AUTOEXTEND ON

         NEXT 32M MAXSIZE UNLIMITED

         EXTENT MANAGEMENT LOCAL;

 

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

SQL> CREATE TABLESPACE DB_DATA

         LOGGING

         DATAFILE \'D:appAdministratororadataNewDBDB_DATA.DBF\'--(随便一个路径下指定一个.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 username IDENTIFIED BY password

         ACCOUNT UNLOCK

         DEFAULT TABLESPACE DB_DATA

         TEMPORARY TABLESPACE DB_TEMP;

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

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

 

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

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

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

    授权成功。

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

 

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

第一步:创建临时表空间

第二步:创建数据表空间

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

第四步:给用户授予权限

 

切换到system用户,
查询表空间
select * from Dba_Tablespaces;//查询所有的表空间

select tablespace_name from dba_tablespaces;//查询表空间的名字

select name from v$datafile;//表空间的文件的路径

select * from DBA_DATA_FILES;//查询表空间中数据文件具体位置和文件名,表空间名等

select * from all_tables where tablespace_name=\'dingxinTableSpace\';

删除表空间
drop tablespace dingxinTableSpace including contents and datafiles;//删除表空间

 

 

查询表空间下的文件

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files
order by tablespace_name

 

查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。

 

查询当前实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询。

 

create table 表名
(字段名 字段类型)
tablespace 表空间名
;

 

以上是关于oracle 表空间,用户的创建及授权,表空间基本操作的主要内容,如果未能解决你的问题,请参考以下文章

oracle 怎么授权用户 只能在指定的表空间中 创建表

oracle创建数据库表空间 用户 授权 导入 导出数据库

plsql怎么创建用户而且分配表空间?如果不制定表空间会怎样?以及授权的整个创建用户完整流程

Oracle新建表空间用户及授权

Oracle 创建用户并授权

oracle创建新用户,并授权指定表查询