您的位置:首页 > 数据库 > Oracle

oracle 创建用户、赋权限、删除用户和一些基本查询操作

2015-05-20 11:53 771 查看
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本人声明。否则将追究法律责任。

作者:永恒の_☆ 地址:/article/2048059.html
1、创建用户

创建用户的时候要指定密码,属于哪个表空间等等信息。



/*
create user :顾名思义,创建用户
Chenghui:表示创建的用户是 Chenghui 如果在创建的时候加了双引号比如"Chenghui" 那登录的时候也要加双引号,我开始以为这样子创建的用户是"Chenghui",其实不然,我后来分别创建了Chenghui和"Chenghui" 在My objects 中的Users中查看创建的用户,发现了CHENGHUI和Chenghui ,所以我知道了,原来oracle是不区分大小写的,但是如果给用户名加上双引号这个时候就区分大小写了,但是呢在登录的时候会统一把用户名都改成大写或者小写,这就导致加了双引号和没加双引号的用户区分不了了,唯一解决方案就是在登录的时候给加了双引号的用户"Chenghui"登录的时候同样用"Chenghui"登录
profile:在Profile文件里保存了一些资源的限制信息。如果在创建用户时指定了profile。 那么用户就不能超过profile里指定的资源。
identified by :这里指定用户的密码,这里的密码加不加双引号都是一样子的,比如空格等等之类的特殊符号
default tablespace : 指定默认的表空间USER
account unlock : 新创建的用户都是锁着的,所以要解下锁。
*/
create user Chenghui profile "DEFAULT" identified by yongheng default tablespace "USERS" account unlock;
/*修改用户的密码*/
alter user Chenghui identified by "123456";
/*将用户锁住是lock ,解锁则是unlock */
alter user Chenghui account lock;

如果用户锁住了,是不允许登录的,效果如下:



2、创建好用户之后,任何权限都没有 ,所以需要赋权



/*授予用户登录的权限*/
GRANT "CONNECT" TO chenghui;
/*授予用户database admin的权限*/
GRANT "DBA" TO chenghui;
/*授予用户导出database的权限*/
GRANT "EXP_FULL_DATABASE" TO chenghui;
/*授予用户导入database的权限*/
GRANT "IMP_FULL_DATABASE" TO chenghui;

3、接下来用户可以执行登录,操作数据库等等权限,现在有一个导入导出功能讲解
地址: http://blog.csdn.net/ch656409110/article/details/7893342
4、如果发现该用户下的数据库表已经不能满足需要,或者数据库已经有了新版本,要移除现在的版本,单从表来看的话,要把该用户下的所有表,索引,序列,存储过程等等全部删除,这个太麻烦了,所以我们可以直接删除用户,然后该用户下的所有绑定的数据库也随之删除,再然后新建一个用户,把最新的数据库重新导入进去就好了。

删除用户:例如创建了一个用户 ,要删除它可以这样做



/*级联删掉,删除了该用户会将该用户下的所有表,索引,序列也统统删除 此操作不可逆*/
drop user Chenghui cascade;

如果不能删除,请参考
http://www.cnblogs.com/fengmiaosen/archive/2010/11/08/1872001.html
下面列出一些常用的系统表

1.查看所有用户:

select * from dba_user;

select * from all_users;

select * from user_users;

2.查看用户系统权限:

select * from dba_sys_privs;

select * from all_sys_privs;

select * from user_sys_privs;

3.查看用户对象权限:

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

4.查看所有角色:

select * from dba_roles;

5.查看用户所拥有的角色:

select * from dba_role_privs;

select * from user_role_privs;

6、查询某个用户下所有的表的行数

select table_name,num_rows from dba_tables t where t.owner ='SCOTT';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐