===============oracle用户管理=====================
给test分配空间配额
alter user test1 quota unlimited on users
quota容量的意思
unlimited无限制
on users在users这个表空间上没有限制
--创建用户(指定密码)
SQL> create user test identified by test;
用户已创建。
--连接用户
SQL> conn test/test;
ERROR:
ORA-01045: user TEST lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
--组用户授session权限
SQL>
授权用户登录
SQL> grant create session to test;
授权成功。
--再次登录
C:\Users\Administrator>sqlplus test/test
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 6 22:32:14 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
--查询该用户拥有的表
SQL>
--查询拥有的表(test)
SQL> select * from tab;
未选定行
--查询能够访问的表
SQL> select * from all_objects
--创建表,权限不足,需要dba授权
SQL> create table test(id number);
create table test(id number)
*
第 1 行出现错误:
ORA-01031: 权限不足
--dba为用户修改密码(dba)
SQL> alter user test identified by test2;
用户已更改。
--锁定用户(dba)
SQL> alter user test account lock;
用户已更改。
--解锁用户(dba)
SQL> alter user test account unlock;
用户已更改。
--删除用户(dba)
SQL> drop user test;
用户已删除。
--删除用户后登录,登录失败
C:\Users\Administrator>sqlplus test/test2
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 6 22:44:19 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
================授权==============================
授权: grant 权限1,权限2,... to 用户;
收回权限:remove 权限1,权限2,...from user;
--创建test1用户(dba)
SQL> create user test1 identified by test1
2 ;
用户已创建。
--授予session,创建表的权限(dba)
SQL> grant create session,create table to test1;
授权成功。
SQL>
--因为没有给用户分配磁盘配额,不能创建表(test1)
SQL> create table test(id number);
create table test(id number)
*
第 1 行出现错误:
ORA-01950: 对表空间 'USERS' 无权限
--给用户分配磁盘配额(dba)
SQL> alter user test1 quota unlimited on users;
用户已更改。
--再次创建表(test1)
SQL> create table test(id number);
表已创建。
--创建视图的权限(test1)
SQL> create view myview as select * from test;
create view myview as select * from test
*
第 1 行出现错误:
ORA-01031: 权限不足
--授权创建视图(dba)
SQL> grant create view to test1;
授权成功。
--创建视图(test1)
SQL> create view myview as select * from test;
视图已创建。
============角色管理========================
--创建角色/删除(dba)
SQL> create role role1;
角色已创建。
--删除角色(dba)
SQL> drop role role1;
角色已删除。
==给角色授权(dba)
grant create session,create table,create view to role1;
--收回权限(dba)
SQL> revoke create session,create table,create view from role1;
撤销成功。
--给用户分配角色(dba)
SQL> grant role1 to test1;
授权成功。
给test分配空间配额
alter user test1 quota unlimited on users
quota容量的意思
unlimited无限制
on users在users这个表空间上没有限制
--创建用户(指定密码)
SQL> create user test identified by test;
用户已创建。
--连接用户
SQL> conn test/test;
ERROR:
ORA-01045: user TEST lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
--组用户授session权限
SQL>
授权用户登录
SQL> grant create session to test;
授权成功。
--再次登录
C:\Users\Administrator>sqlplus test/test
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 6 22:32:14 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
--查询该用户拥有的表
SQL>
--查询拥有的表(test)
SQL> select * from tab;
未选定行
--查询能够访问的表
SQL> select * from all_objects
--创建表,权限不足,需要dba授权
SQL> create table test(id number);
create table test(id number)
*
第 1 行出现错误:
ORA-01031: 权限不足
--dba为用户修改密码(dba)
SQL> alter user test identified by test2;
用户已更改。
--锁定用户(dba)
SQL> alter user test account lock;
用户已更改。
--解锁用户(dba)
SQL> alter user test account unlock;
用户已更改。
--删除用户(dba)
SQL> drop user test;
用户已删除。
--删除用户后登录,登录失败
C:\Users\Administrator>sqlplus test/test2
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 6 22:44:19 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-01017: invalid username/password; logon denied
================授权==============================
授权: grant 权限1,权限2,... to 用户;
收回权限:remove 权限1,权限2,...from user;
--创建test1用户(dba)
SQL> create user test1 identified by test1
2 ;
用户已创建。
--授予session,创建表的权限(dba)
SQL> grant create session,create table to test1;
授权成功。
SQL>
--因为没有给用户分配磁盘配额,不能创建表(test1)
SQL> create table test(id number);
create table test(id number)
*
第 1 行出现错误:
ORA-01950: 对表空间 'USERS' 无权限
--给用户分配磁盘配额(dba)
SQL> alter user test1 quota unlimited on users;
用户已更改。
--再次创建表(test1)
SQL> create table test(id number);
表已创建。
--创建视图的权限(test1)
SQL> create view myview as select * from test;
create view myview as select * from test
*
第 1 行出现错误:
ORA-01031: 权限不足
--授权创建视图(dba)
SQL> grant create view to test1;
授权成功。
--创建视图(test1)
SQL> create view myview as select * from test;
视图已创建。
============角色管理========================
--创建角色/删除(dba)
SQL> create role role1;
角色已创建。
--删除角色(dba)
SQL> drop role role1;
角色已删除。
==给角色授权(dba)
grant create session,create table,create view to role1;
--收回权限(dba)
SQL> revoke create session,create table,create view from role1;
撤销成功。
--给用户分配角色(dba)
SQL> grant role1 to test1;
授权成功。