日期:2014-05-16  浏览次数:20511 次

oracle创建用户
一、在命令行(window:开始->运行->cmd;linux:以超级用户登录->su - oracle切换到oracle下)输入:
1、sqlplus / as sysdba(以默认的超级用户登录)
2、sqlplus  aaa/aaa123 as sysdba(以用户aaa密码aaa123登录)
二、开始创建用户(格式:CREATE USER 用户名 IDENTIFIED BY 密码)
SQL>create user aaa identified by aaa23
   说明:此时用户已经被创建,但是还不能正常登陆,没有操作session的权限。
三、为新用户授权(格式:GRANT 权限1,权限n+1 TO 用户名):
SQL>grant  create session to openlab;
    说明:此时用户已经被创建,且已赋予操作session的权限,可以正常登陆。
四、验证登陆
    SQL>conn openlab/open123;
    SQL>已连接;
    说明:如果出现已连接则代表创建用户成功。
五、赋予用户aaa权限
1、比如:赋予可以aaa用户拥有操作DDL的权限
   SQL>grant  connect,resource to openlab;
2、权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限,如:
SQL>grant  connect,resource,dba to openlab;
六、使用超级管理员账号修改普通用户密码
alter user 用户名 identified by 新密码;
七、手动设置新用户名首次登陆后密码失效,并提示重心设置新密码。
alter user 用户名 password expire
八、锁定用户与解锁用户
   *锁定用户:alter user 用户名 account lock
   *用户解锁:alter user 用户名 account unlock
九、跨用户访问表或者视图(涉及的知识点用户之间的权限分配与回收)
例如:在aaa账户下访问scott下面的emp表
    1)select * from emp;(此时肯定访问不了)
    2)grant select,delete on scott.emp to aaa;(将scott账户的权限赋予给aaa)
    3)select * from scott.emp;(此时使用授权用户名.表名就可以访问其他用的表了)
    4)revoke select,delete on scott.emp from aaa(授权使用完毕,进行权限回收)
十、显示当前用户:show user;