当前位置:Gxlcms > 数据库问题 > Oracle数据字典

Oracle数据字典

时间:2021-07-01 10:21:17 帮助过:9人阅读

  Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
  Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。下面就几个主要的动态性能视图进行介绍。 

  • v$access:该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)。
  • v$session:该视图列出当前会话的详细信息。由于该视图字段较多,这里就不列详细字段,为了解详细信息,可以直接在sql*plus命令行下键入:desc v$session即可。
  • v$active_instance:该视图主要描述当前数据库下的活动的实例的信息。依然可以使用select语句来观察该信息。  
  • v$context:该视图列出当前会话的属性信息。比如命名空间、属性值等。 

    以上是Oracle的数据字典方面的基本内容,运用好数据字典技术,可以让数据库开发人员能够更好的了解数据库的全貌,这样对于数据库优化、管理等有极大的帮助。

 

二、常用命令

1.用户

查看当前用户的缺省表空间

select username,default_tablespace from user_users;

查看当前用户的角色

select * from user_role_privs; 

 查看当前用户的系统权限和表级权限

select * from user_sys_privs; 
select * from user_tab_privs; 

查看所有用户信息

select * from dba_users

创建用户

create user 用户名 identified by 密码 default tablespace 表空间名;

删除用户

drop user 用户名;
drop user 用户名 cascade;

注意:如果用户的schema中有objects ,需要加cascade参数。

给用户授权

grant connect,resource,dba to user with admin option;

注意:其中的“with admin option”选项的含义是权限转授,该用户user能把他得到的这个权限再转授给其他用户。

关于connect、resource和dba三种权限介绍:

Oracle学习笔记—connect、resource和dba三种权限(转载)

2.表

查看用户下所有的表 

select * from user_tables; 

查看某表的创建时间 

select object_name,created from user_objects where object_name=upper(‘&table_name‘); 

查看某表的大小

select sum(bytes)/(1024*1024) as "size(M)" from user_segments 
                where segment_name=upper(‘&table_name‘);

查看放在ORACLE的内存区里的表

select table_name,cache from user_tables where instr(cache,‘Y‘)>0;

3.索引

查看索引个数和类别

select index_name,index_type,table_name from user_indexes order by table_name; 

查看索引被索引的字段 

select * from user_ind_columns where index_name=upper(‘&index_name‘); 

 查看索引的大小 

select sum(bytes)/(1024*1024) as "size(M)" from user_segments 
                where segment_name=upper(‘&index_name‘); 

4.序列号

查看序列号,last_number是当前值

select * from user_sequences; 

5.视图

查看视图的名称 

select view_name from user_views;  

6.存储函数和过程

查看函数和过程的状态 

select object_name,status from user_objects where object_type=‘FUNCTION‘; 
select object_name,status from user_objects where object_type=‘PROCEDURE‘; 

查看函数和过程的源代码 

select text from all_source where owner=user and name=upper(‘&plsql_name‘); 

7.表空间

查看表空间的名称及大小

select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size 
    from dba_tablespaces t, dba_data_files d 
    where t.tablespace_name = d.tablespace_name 
    group by t.tablespace_name; 

查看表空间物理文件的名称及大小 

select tablespace_name, file_id, file_name, 
    round(bytes/(1024*1024),0) total_space 
    from dba_data_files 
    order by tablespace_name;

查看表空间的使用情况 

 select sum(bytes)/(1024*1024) as free_space,tablespace_name 
    from dba_free_space 
    group by tablespace_name; 

创建表空间

create tablespace 表空间名称
logging 
datafile ‘F:/ProgramFiles/app/tablespaces/JWYC.DBF‘   
size 1500M   
autoextend on 
next 5M maxsize 3000M; 

删除表空间(同时删除物理文件)

alter tablespace 表空间 offline;
drop tablespace 表空间 including contents and datafiles CASCADE CONSTRAINTS;

Oracle数据字典

标签:三种权限   一致性   tab   objects   dba   用户模式   amp   sql   auto   

人气教程排行