Oracle——用户

创建与删除用户:

   创建用户语法:create user 用户名 identified by 密码 [default tablespace 默认表空间] [temporary tablespace 临时表空间] [PROFILE DEFAULT] [Quota integer/unlimited on 表空间][ACCOUNT UNLOCK|LOCK];

    删除用户语法:SQL> drop user 用户名 cascade/restrict;
若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
--查看所有用户信息
select * from dba_users order by user_id desc;
--查询系统资源文件名
select * from dba_profiles;
--创建用户
CREATE USER ETS IDENTIFIED BY ETS DEFAULT TABLESPACE LYTP temporary tablespace TEMP_LYTP PROFILE DEFAULT Quota 50M on LYTP ACCOUNT UNLOCK;
--赋予连接角色
grant connect to ETS;
--删除用户
drop user ETS cascade;

      创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。

     CREATE USER ETS IDENTIFIED BY ETS DEFAULT TABLESPACE LYTP temporary tablespace TEMP_LYTP PROFILE DEFAULT Quota 50M on LYTP ACCOUNT UNLOCK;
1、PROFILE DEFAULT:使用系统默认的profile(如果不做特殊指定,每个用户的PROFILE都会默认的使用系统默认的PROFILE。)
2、Quota(配额):是为了限制用户对表空间的使用;比如你限制用户ETS在tablespace LYTP中的quota为50M,当用户ETS在tablespace   LYTP中的数据量达到50M后,无论你的tablespace LYTP中有多少空间,ETS都无法再使用tablespace LYTP了。 默认情况下,用户对所有表空间都是没有配额的(都会对用户赋 unlimited tablespace 的权限),即不受空间的限制。

3、account lock:创建用户的时候锁定用户(默认account unlock:创建用户的时候解锁用户)

修改用户

1、修改用户密码:

--修改口令(密码)
Alter user ETS identified by "12345";
--强制用户修改口令字
Alter user ETS password expire;

2、修改用户默认表空间

--修改用户缺省表空间
Alter user ETS default tablespace users;

3、修改用户临时表空间

--修改用户临时表空间
Alter user ETS temporary tablespace temp;

4、修改用户配额

--查询配额信息(max_bytes 为-1,即不受限制。)如果用户具有unlimited tablespace权限可能不出现在这里 
select * from dba_ts_quotas where username='ETS';
--显示指定用户所具有的系统权限
select * from dba_sys_privs where grantee='ETS';
--修改配额(全局)
grant unlimited tablespace to ETS;
--回收用户对表空间的配额(全局)
revoke unlimited tablespace from ETS;
--修改配额(针对某个特定的表空间)
alter user ETS quota unlimited on LYTP; 
--回收用户对表空间的配额(针对某个特定的表空间)
alter user ETS quota 0 on LYTP;

5、用户解锁

--将用户加锁与解锁:
Alter user ETS account lock; // 加锁
Alter user ETS account unlock; // 解锁

当然也可以集中在一起修改:

--修改用户
alter user ETS IDENTIFIED BY ETS DEFAULT TABLESPACE LYTP temporary tablespace TEMP_LYTP PROFILE DEFAULT Quota 50M on LYTP ACCOUNT UNLOCK;
查询用户信息

下面列出了相关SQL语句

--查看当前用户信息
select * from user_users; 
--查看当前用户的角色
select * from user_role_privs;
--显示当前会话所具有的权限
select * from session_privs;
--查看当前用户的系统权限
select * from user_sys_privs;
--查看当前用户的表级权限
select * from user_tab_privs;
--查询用户可以访问的视图文本
select * from dba_varrays;
--查询用户可以访问的表
select * from all_tables;
--查看用户对象
select * from user_objects;
--查看用户下所有的表
select * from user_tables;
--查看视图信息
select * from user_views;
--查询用户段信息
select * from user_segments;
   --查看某表的大小
      select sum(bytes)/(1024*1024) tablesize from user_segments where segment_name='&table_name'
--查看索引信息
select * from user_indexes order by table_name;
--查看索引被索引的字段信息
select * from user_ind_columns;
--查看同义词的名称
select * from user_synonyms;
--查询用户下字段信息
select * from col;
select * from user_tab_columns;
  --查询某个表的字段
  select * from col where tname='&Table_name';
  select * from user_tab_columns where table_name='&Table_name';

猜你喜欢

转载自blog.csdn.net/qq_33459369/article/details/80511342