你的位置:首页 > 数据库

[数据库]Oracle 创建用户


介绍

本篇文章主要介绍在oracle中怎样使用语句创建用户,如果你是数据库运维人员那么这是必须掌握的,顺便提一下在oracle中数据库的概念它和其它数据库系统比如mysql和sqlserver不一样,在oracle中可以将用户理解成其它的数据库系统中的数据库的概念,oracle中只有一个全局数据库并且不能再创建其它数据库了,再创建一个数据库就相当于再重新安装一套数据库服务。

 

数据库版本:oracle11gR2

 

基本语法:

CREATE USER user  IDENTIFIED { BY password       | EXTERNALLY [ AS 'certificate_DN' ]       | GLOBALLY [ AS '[ directory_DN ]' ]       }  [ DEFAULT TABLESPACE tablespace  | TEMPORARY TABLESPACE    { tablespace | tablespace_group_name }  | { QUOTA { size_clause | UNLIMITED } ON tablespace }...EDO  | PROFILE profile  | PASSWORD EXPIRE  | ACCOUNT { LOCK | UNLOCK }   [ DEFAULT TABLESPACE tablespace   | TEMPORARY TABLESPACE     { tablespace | tablespace_group_name }   | { QUOTA { size_clause | UNLIMITED } ON tablespace }...   | PROFILE profile   | PASSWORD EXPIRE   | ACCOUNT { LOCK | UNLOCK }   ]... ] ;

 

创建删除用户

1.创建用户base

CREATE USER base   IDENTIFIED BY base   DEFAULT TABLESPACE userspace   TEMPORARY TABLESPACE temp;

2.删除用户

drop user base;

 如果用户存在对象不能删除可以加上cascade同时删除用户下的对象,例如:

drop user base cascade;

授权


1.标准角色 

connect role(连接角色)

临时用户,特别是那些不需要建表的用户,通常只赋予他们connectrole。connect是使用oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有connect role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。

resource role(资源角色)

更可靠和正式的数据库用户可以授予resource role。resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

dba role(数据库管理员角色)

dba role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有。下面介绍一些dba经常使用的典型权限。

2.授权

grant connect, resource to base; 

3.回收权限

revoke connect, resource from base;

 

connect,resource拥有的权限

 

 

创建用户

--表空间路径根据实际修改CREATE SMALLFILE TABLESPACE "CHENMH" DATAFILE 'D:\ORACLE\ORADATA\ORCL\chenmh' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; CREATE USER chenmh IDENTIFIED BY chenmh  DEFAULT TABLESPACE chenmh  TEMPORARY TABLESPACE temp;/*授予用户会话连接、创建表、创建视图、创建序列、创建存储过程、创建视图,表空间不限制*/grant create session,create table,create view,create sequence,create procedure,create trigger,unlimited tablespace to chenmh;--grant select on v_$session to chenmh;--grant select on v_$sesstat to chenmh;--grant select on v_$statname to chenmh;

 

总结

如果你想在oracle中实现其它数据库系统那样创建新的数据库那么你就只能用创建用户来代替了。 

 

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》