Home >Database >Mysql Tutorial >Oracle数据库用户创建规范

Oracle数据库用户创建规范

WBOY
WBOYOriginal
2016-06-07 17:26:171122browse

在Oracle数据库中,每一个用户一般都有自己的数据表空间、临时表空间和索引表空间等数据存储空间,而且你不能随意写到其他的表空

在Oracle数据库中,每一个用户一般都有自己的数据表空间、临时表空间和索引表空间等数据存储空间,而且你不能随意写到其他的表空间上。例如,我们常见到有表建立在users表空间上,更有甚者是建立在system表空间上的。不信的话,你去查一下自己的数据库。新用户的权限也需要严格控制,一般授予connect,resource两个角色,另外create view等权限可以根据需求添加。在10g中,resource角色有一个系统权限unlimited tablespace,需要最后手工去掉。

如果你需要对用户的资源等做限制,,如密码失效周期、用户最大会话连接数等,可以借助profile来实现。

这是数据库用户创建的规范。具体创建过程,我一步一步的列出来。

首先,创建用户所需要的存储数据的表空间和临时空间。

create tablespace TBS_MIKI datafile '/u01/oradata/servdb/datafile/tbs_miki01.dbf' size 10M;
create temporary tablespace TBS_MIKI_TEMP datafile '/u01/oradata/servdb/datafile/tbs_miki_temp01.dbf' size 10M;

注意表空间命名方式。

其次,创建新用户,如usr_miki 。

CREATE USER USR_MIKI IDENTIFIED BY USR_MIKI
 DEFAULT TABLESPACE TBS_MIKI
 TEMPORARY TABLESPACE TBS_MIKI_TEMP
 PROFILE DEFAULT
 QUOTA UNLIMITED ON TBS_MIKI;

最后,授予角色connect,resource

GRANT "CONNECT" TO USR_MIKI WITH ADMIN OPTION;
GRANT "RESOURCE" TO USR_MIKI WITH ADMIN OPTION;
ALTER USER USR_MIKI DEFAULT ROLE "CONNECT", "RESOURCE";

需要将unlimited tablespace去掉,因为10g2之后添加resource角色会自动加此系统权限。

revoke unlimited tablespace from usr_miki;

alter user USR_MIKI  QUOTA UNLIMITED ON TBS_MIKI;

还需要一些权限,如创建视图、创建物化视图、创建同义词等,毕竟resource角色的权限还比较少。

通过这些步骤,我们创建了一个基本上符合开发、生产的规范的数据库用户。

这个用户拥有connect,resource 角色,所有数据将只能写入到tbs_miki 表空间上。如果您需要新加一个表空间如用来单独保存索引对象,可以在表空间建立后,将它的使用限额授权给该用户。

create tablespace TBS_MIKI_IND datafile '/u01/oradata/servdb/datafile/tbs_miki_ind01.dbf' size 10M;
alter user USR_MIKI  QUOTA UNLIMITED ON TBS_MIKI_IND;

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn