--1.静态数据字典
--user_source视图
--主要描述当前用户的type and
code信息.
select * from user_source;
select * from all_source;
select * from dba_source;
-----------------------------
--user_users视图
--主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。例如执行下列命令即可返回这些信息。
select * from user_users;
select * from all_users;
select * from dba_users;
-----------------------------
--user_tables视图
--主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。
select * from user_tables;
select * from all_tables;
select * from dba_tables;
------------------------------
--user_views视图
--主要描述当前用户拥有的所有views的信息.
select * from user_views;
select * from all_views;
select * from dba_views;
------------------------------
--user_objects视图
--主要描述当前用户拥有的所有对象的信息,对象包括表、视图、存储过程、触发器、包、索引、序列等。
--该视图比user_tables视图更加全面。例如,需要获取一个名为“PARTNER_DF_PK”的对象类型和其状态的信息,可以执行下面命令
select object_type,status from user_objects
where object_name=upper('PARTNER_DF_PK');
--这里需注意upper的使用,数据字典里的所有对象均为大写形式,而PL/SQL里不是大小写敏感的,所以在实际操作中一定要注意大小写匹配。
select * from user_objects;
select * from all_objects;
select * from dba_objects;
---------------------------------------
--user_tab_privs视图
--该视图主要是存储当前用户下对所有表的权限信息。比如,为了了解当前用户对DIM_ITEM的权限信息,可以执行如下命令
select * from user_tab_privs where
table_name=upper('DIM_ITEM');
--了解了当前用户对该表的权限之后就可以清楚的知道,哪些操作可以执行,哪些操作不能执行。
--前面的视图均为user_开头的,其实all_开头的也完全是一样的,只是列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。
--对于dba_开头的需要管理员权限,其他用法也完全一样,这里就不再赘述了。
select * from user_tab_privs;
select * from all_tab_privs;
select * from dba_tab_privs;
----------------------------------------
2.动态数据字典
/*Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,
所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。下面就几个主要的动态性能视图进行介绍。
v$access
该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)。*/
select * from v$access;
/*v$session
该视图列出当前会话的详细信息。由于该视图字段较多,这里就不列详细字段,为了解详细信息,
可以直接在sql*plus命令行下键入:desc v$session即可。*/
select * from v$session;
/*v$active_instance
该视图主要描述当前数据库下的活动的实例的信息。依然可以使用select语句来观察该信息。*/
select * from v$active_instance;
/*v$context
该视图列出当前会话的属性信息。比如命名空间、属性值等。*/
select * from v$context;
---------------------------
1.查看用户拥有的数据库对象
Sql代码
select object_name from user_objects;
2.查看约束信息
Sql代码
select constraint_name from user_constraints;
3.查看用户所拥有的表
Sql代码
select table_name from user_tables;
或
Sql代码
select *from tab;
4.查看用户所拥有的视图
Sql代码
select view_name from user_views;
5.查看用户所拥有的触发器
Sql代码
select trigger_name from user_triggers;
6.查看用户拥有的序列
Sql代码
select sequence_name from user_sequence;
7.查看用户拥有的索引
Sql代码
select index_name from user_indexs;
8.显示当前用户
Sql代码
show user;
9.切换用户
Sql代码
conn scott/tiger;
10.将用户赋予某种角色登录
Sql代码
conn scott/tiger as sysdba;
11.查看所有用户
Sql代码
conn system/unis;
select username from dba_users;
12.查看用户所拥有的权限
Sql代码
select *from session_privs;
13.给用户加锁
Sql代码
alter user scott account lock;
14.给用户解锁
Sql代码
alter user scott account unlock;
15.修改用户密码
Sql代码
alter user zzg identified by zzg123
16.新建用户
Sql代码
create user zzg identified by zzg123;
17.删除用户及相关对象
Sql代码
drop user zzg cascade;
18.给用户赋权(多个采用逗号间隔)
Sql代码
grant create session,create table to zzg;
19.分配表空间给用户
Sql代码
alter user zzg default tablespace ts_zzg;
20.授权表空间给用户
Sql代码
grant unlimited tablespace to zzg;