本文共 3859 字,大约阅读时间需要 12 分钟。
针对oracle的使用,有一些常用的功能,在此做一个小小的总结。
sys change_on_install 网络管理员 [as sysdba] system manage 本地管理员 scott tiger 超级用户
登录oracle: sqlplus / as sysdba 启动监听: lsnrctl start 启动数据库的实例: oradim -startup -sid orclSQL> show user; //显示当前用户SQL> create user lisi identified by lisi; //创建一个用户SQL> grant create session to lisi; //给用户授予会话权限SQL> sqlplus lisi/lisi //用创建的用户进行登录SQL> grant unlimited tablespace to lisi //给用户授予表空间权限SQL> grant create table to lisi; //给用户创建表的权限SQL> create table mytable (id int); //创建表SQL> insert into mytable values (1); //插入数据SQL> select * from mytable; //查询数据SQL> drop table mytable //删除表SQL> revoke create table from lisi; //撤消对表操作的权限SQL> select * from user_sys_privs; //查询当前用户拥有哪些权限SQL>revoke unlimited tablespace from lisi; //撤消对表空间操作的权限
用sys用户进行修改sqlplus / as sysdbaalter user scott Identified by tiger;
角色就是一个权限的集合。show user; 显示当前用户create role myrole; 创建一个角色grant create session to myrloe; 给角色授予session权限grant create table to myrole; 给角色授予表操作权限create user zhangsan identified by zhangesan; 创建一个用户grant myrole to zhangsan; 把角色授予给用户sqlplus zhangsan/zhangsan 用户登录drop role myrole; 删除角色grant unlimited tablespace to myrole; 这个权限比较大,不能通过角色授权,只能授权给用户
show user: 查看当前用户select * from user_sys_privs 查看当前用户的系统权限grant alter any table to lisi; sys可以授权给李四grant alter any table to wangwu; 但是李四不能授权给王五grant alter any table to lisi with admin option; //现在李四可以授权给王五了grant alter any table to wangwu with admin option; //让王五也可以传递权限create table A(id int); //在sys中创建一个表Agrant select On A to lisi; //把表操作权限传递给李四,但李四不能传递权限grant select On A to lisi with grant option; //现在李四可以传递权限了grant select on sys.A to wangwu with grant option;; //让王五也可以传递权限。
SQL> create user wanwu identified by wangwuSQL> grant create session to wangwu;SQL> sqlplus wangwu/wangwuSQL> grant create table,unlimited tablespace to wangwu;SQL> create table mytab(id int);SQL> insert into mytab values(2);用lisi访问wangwu 的表,不能访问SQL> select * from wangwu.mytab;用sys用户访问wangwu 的表,可以,要执行两次SQL> select * from wangwu.mytab;SQL> select * from wangwu.mytab;让lisi可以访问wangwu的表SQL> grant select on mytab to lisi; //把查询权限授予李四SQL> grant insert on mytab to lisi; //把插入权限授予李四SQL> commit; //提交后才显示数据SQL> grant all on mytab ot lisi; // 把操作表的最大权限授予李四SQL> revoke all on mytab from lisi; // 撤消李四对表操作的权限SQL> disconnSQL> conn wangwu/wangwuSQL> commit: //每次对表操作后要提交SQL> alter table mytab add name varchar(50);SQL> insert into mytab values(1,'zhang');SQL> insert into mytab values(2,'li');SQL> insert into mytab values(3,'wang');SQL> commit;SQL> grant update(name) on mytab to lisi; //让李四只有更新name列的权限SQL> grant insert(id) on mytab to lisi; //让李四只有插入id列的权限SQL> update wangwu.mytab set name='lihuoming' where id=1;
三个常用的系统用户: scott(一个数据库的普通用户) conn scott/tiger manager(数据库管理员) conn system/manager sys(数据库对象的拥有者权限最高) conn sys/change_on _install as sysdba创建用户的完整格式: create user 用户名 identified by 密码 default tableSpace 表空间 Temporary TableSpace 表空间 Quota 整数[ K | M | Limited | unlimited ] on 表空间 例子: create user abc identified by 123 default tablespace Users Temporary tablespace Temp Quota 50M on Users限制用户: 用户加锁 -- alter user 用户名 account lock 用户解锁 -- alter user 用户名 account unlock 用户口令即刻失效 -- alter user 用户名 password expire删除用户: drop user 用户名 [CasCade] CasCade表示删除用户所有对象 示例: drop user abc cascade;
转载地址:http://xllhx.baihongyu.com/