创建数据库用户一般分四步:
第一步:创建临时表空间
第二步:创建数据表空间
第三步:创建用户并制定表空间
第四步:给用户授予权限
下面是创建数据库用户的具体过程:
1.假如现在已经建好名为'orcl'的数据库
此时在C:\app\orcl\oradata目录下已经存在orcl目录(注意:我的Oracle12c R1安装在虚拟机C盘下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*:\app\orcl\oradata目录下)。
2.创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。
CREATE TEMPORARY TABLESPACE ORCL_TEMPTBS
TEMPFILE 'C:\app\orcl\oradata\orcl\ORCL_TEMPTBS.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
3.创建用户之前先要创建数据表空间,若没有创建则默认永久性表空间是system。
create tablespace ORCL_TBS
datafile 'C:\app\orcl\oradata\orcl\ORCL_TBS.dbf'
size 500M autoextend on next 5M maxsize unlimited;
其中'ORCL_TBS'和'ORCL_TEMPTBS'是你自定义的数据表空间名称和临时表空间名称,可以任意取名;'C:\app\orcl\oradata\orcl\ORCL_TBS.dbf'是数据文件的存放位置,'ORCL_TBS.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
4.现在建好了名为'DB_DATA'的表空间,下面就可以创建用户了:
CREATE USER ORCLUSER IDENTIFIED BY 123
ACCOUNT UNLOCK
DEFAULT TABLESPACE ORCL_TBS
TEMPORARY TABLESPACE ORCL_TEMPTBS;
用户名:ORCLUSER
密码:123
默认表空间'DEFAULT TABLESPACE'使用上面创建的表空间名:ORCL_TBS。
临时表空间'TEMPORARY TABLESPACE'使用上面创建的临时表空间名: ORCL_TEMPTBS。
5.接着授权给新建的用户:
GRANT CONNECT,RESOURCE TO ORCLUSER;
表示把 connect,resource权限授予news用户
GRANT DBA TO ORCLUSER;
表示把 dba权限授予给ORCLUSER用户
为用户设置权限,初始建立的用户没有任何权限,不能执行任何数据库操作,因此必须为用户设置权限或者角色。被赋予了某个角色的用户将拥有该角色所具备的权限,常被用到的系统预定义角色:CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE。
其中,CONNECT、RESOURCE、DBA主要用于数据库管理,数据库管理员需要被授予这三个角色。
一般的数据库开发人员,需要被授予CONNECT、RESOURCE角色即可。
EXP_FULL_DATABASE、IMP_FULL_DATABASE角色分别用于操作数据库导出、导入相关的操作,为用户授予角色:
6、这样就已经创建了一个数据库用户,尝试在arcmap中添加数据库连接,是可以成功的。
但是想在里面新建要素类却报对表空间无操作权限,尝试将其它的要素类导入到这个数据库用户里却报error 000210错误。
通过参考链接https://blog.csdn.net/qq_36722039/article/details/79047804 发现原来是没有授予用户表空间不受限制的权限。
GRANT unlimited tablespace to ORCLUSER;
授权之后,能够支持对数据库用户orcluser中进行导入、导出以及新建数据等操作。
参考链接:
https://blog.csdn.net/qq_25858235/article/details/80428243 Oracle入门教程
https://blog.csdn.net/oscar999/article/details/7468153 Oracle删除用户和表空间
https://jingyan.baidu.com/article/19020a0ac10026529d284222.html Oracle删除表空间方法
http://blog.itpub.net/31408204/viewspace-2148383/ Oracle创建表空间创建用户以及授权