Oracle中用户的基本操作
创建用户
1.首先登陆到系统用户sys(sys用户具有创建用户的权限)。
2.然后在代码编辑框写入创建用户的代码。
语法:CREATE USER user_name IDENTIFIED BY password
[ACCOUNT LOCK|UNLOCK] lock:给用户上锁;unlock:解锁用户。(和connnect角色无关)
[DEFAULT TABLESPACE default_tablespace] default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间
[TEMPORARY TABLESPACE temporary_tablespace]; temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间
示例:CREATE USER student IDENTIFIED BY 123456;创建了一个student用户,登陆密码为123456.
给用户分配权限
1.如果想让用户在数据库里完成一些任务,需要相应的给用户授予权限。如:如果想让用户连接到数据库,必须授予用户CREATE SESSION的系统权限。
2.授权必须通过一些特殊用户授权(例如SYSTEM),通过GRANT语句来完成。下表列出了用户可能用到的权限。
|
系统权限 |
允许用户的操作 |
|
CREATE SESSION |
连接到数据库 |
|
CREATE SEQUENCE |
创建序列,用来生成一系列的数值 |
|
CREATE SYNONYM |
创建同义词 |
|
CREATE TABLE |
在用户架构中创建表 |
|
CREATE ANY TABLE |
在任意架构中创建表 |
|
DROP TABLE |
从用户架构中删除表 |
|
DROP ANY TABLE |
在任意构架中删除表 |
|
CREATE PROCEDURE |
创建存储过程 |
|
EXECUTE ANY PROCEDURE |
在任意架构中执行存储过程 |
|
CREATE USER |
创建用户 |
|
DROP USER |
删除用户 |
|
CREATE VIEW |
创建视图 |
语法:GRANT CREATE SESSION TO student;给用户student分配连接的权限。
CONNECT角色:主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT角色,拥有CONNECT角色可以与服务器建立连接会话(SESSION,客户对服务器连接称为会话。)
RESOURCE角色:更可靠的和正式的用户可以授予RESOURCE角色.RESOURCE角色提供给用户创建表,序列,过程(procedure),触发器(tigger),索引(index)等。
一般情况下,一个普通的用户,如scott,拥有connect和resource权限即可进行常规的数据库开发工作。
3.分配了权限之后的用户也可以给别的用户分配它自身所拥有的权限,但是前提是它被分配权限的时候最后有WITH ADMIN OPTION字样。
撤销用户权限
1.关键字:REVOKE.
示例:REVOKE CONNECT FROM student;
2.注意:如果student用户给别的用户分配了权限,那么撤销student的权限时,student用户分配权限的用户的权限不会改变。
修改用户密码
1.一般修改的时候都会用到ALTER关键字来打头,就如创建时候一样使用的关键字是CREATE。
语法:ALTER USER student IDENTIFIED BY 111111;修改student用户的密码为111111.
2.我们也可以用password来可视化修改密码。
student用户下和sys用户下都可以:
2-1.语法:CONN student/123456
PASSWORD;
password必须放在下一行。
2-2语法:CONNECT student/123456
PASSWORD;
password必须放在下一行。
查询用户信息
1.在Oracle数据库中,可以通过DBA_USERS查询出包含与用户和用户特征相关的信息。(它查出来的是所有用户的信息)
语法:SELECT username,user_id,password,default_tablespace
FROM dba_users;
2.如果要查询当前用户的信息,则可以登录你想查询的用户,然后使用Select * from user_role_privs;语句来查看它的信息。
删除用户
1.关键字DROP,例如删除student用户。
示例:DROP USER student [cascade --作用是级联删除即删除用户的对象(表。。),但注意删除是这些对象没有被其它用户访问];
2.注意:在删除用户时,如果用户架构包含对象(如,表),那么在删除用户的时候可以在DROP USER语句的用户名后面使用CASCADE关键字进行级联删除。但是需要注意是的是,要确保用户中的这些对象没有其他用户还需要访问。
Oracle中用户的基本操作的更多相关文章
- Oracle中的一些基本操作
关于Oracle中的一些基本操作,包括表空间操作,用户操作,表操作 --创建表空间 create tablespace itheima datafile 'I:\oracle\table\itheim ...
- Oracle中用户(User)和模式(Schema)的概念
数据库理论中数据库用户和数据库模式并没有必定的联系.具体的数据库模式解释能够在这里找到: http://stackoverflow.com/questions/2674222/what-is-purp ...
- Oracle中用户和方案的区别
从定义中我们可以看出方案(Schema)为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一 ...
- (转)oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQLalter user XXX account lock; ...
- oracle中用户删除不了,ORA-01940提示 “无法删除当前已连接用户”
Oracle删除用户的提示无法删除当前已连接用户两种解决方法如下: 1.先锁定用户.然后查询进程号,最后删除对应的进程.在删除对应的用户 SQL>alter user XXX account l ...
- 如何查询Oracle中用户所有信息
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2. ...
- Oracle中用户的创建和权限设置
权限: CREATE SESSION --允许用户登录数据库权限 CREATE TABLE --允许用户创建表权限 UNLIMITED TABLESPACE --允许用户在其他表空间随意建表 角色: ...
- ORACLE中用户等系统信息操作
1.查看所有用户:select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统 ...
- Oracle中用户解锁
以hr 用户为例: SQL> alter user hr account unlock; ユーザーが変更されました. SQL> alter user hr identified by hr ...
随机推荐
- 如何真正提高ASP.NET网站的性能
摘要:前言 怎么才能让asp.net网站飞得更快,有更好的性能?这是很多开发者常常思考的一个问题.我有时候会做大量的测试,或请求别人帮忙采集一些数据,希望能够验证网上一些专家的建议或证明 前言 怎么才 ...
- [转]expect的安装
转自:http://blog.chinaunix.net/uid-20639775-id-2453085.html Expect是在Tcl基础上创建起来的,它还提供了一些Tcl所没有的命令,它可以用来 ...
- JS正则获取参数值
var geturl = function(url){ var ret = {}; var queryStr=url.replace(/^[^\?#]*\??/g,'').replace(/#DIAL ...
- topcoder SRM 623 DIV2 CatAndRat
解决本题的一个关键点就是当Cat进入时,此时Rat在哪个位置? 注意移动方向可以随时改变,由于是圆环,故离入口最远点的距离是pi*R,即圆的一半, 当cat进入时(cat的速度大于rat的速度,否则不 ...
- ACM 众数问题
众数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重 ...
- mysql 存储过程,搞死人的语法
MySQL 真心不如sqlserver灵活 存储过程注意事项: 1.declare 依次声明 DECLARE MyAccountID VARCHAR (36); DECLARE Balance DEC ...
- 20145330《Java程序设计》第四周学习总结
20145330<Java程序设计>第四周学习总结 一周两章新知识的自学与理解真的是很考验和锻炼我们,也对前面几章我们的学习进行了检测,遇到忘记和不懂的知识就再复习前面的,如此巩固也让我对 ...
- Maven dependency spring-web vs spring-webmvc
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmv ...
- 【androidstudio】将eclipse的项目导入android studio
一.概述 最近正在实习公司迭代一个app,项目工程比较大,依赖的第三方服务.第三方库较多,比较复杂.因为公司项目一直是在ec上写的,没有android studio的版本.而大家都知道ec写代码远没有 ...
- [LintCode] House Robber 打家劫舍
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...