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

Oracle数据字典的使用(更新中)

2014-03-12 13:17 387 查看
-- 查询登录用户

show user

-- 查询某用户下所有的表

 select* from all_tables where owner='SCOTT';

 

 --查询表中所有的字段
 select * from all_tab_columns where table_name='EMP';

 --列出表的索引列

 select * from sys.all_ind_columns where table_name='EMP'

 

 --列出表中的约束

 select* from all_constraints where table_name='EMP'

 

 --oracle中,描述数据字典的视图
 select table_name,comments from dictionary where table_name like '%TABLE%';

--sql共享区的使用率

 select  (sum(pins-reloads))/sum(pins) "lib cache" from V$LIBRARYCACHE

--数据字典缓冲区命中率

select (sum(gets-getmisses-usage-fixed))/sum(gets) "dd cache" from v$rowcache;

--数据缓冲区:存放sql运行结果抓取到的block

select name,value from v$sysstat where name  in ('db_block_gets','consistent gets','physical reads');

--日志缓冲区

 select * from v$sysstat where name  in ('redo entries','redo log space requests'); 

申请失败率entry/request接近0是,增加日志缓冲区大小

--查看用户

select username from dba_users; --所有

select username from all_users;--所有

select username from user_users;--当前

--查看角色(角色是权限的集合)

select role from dba_roles;

--查看用户系统权限

  select * from dba_sys_privs; 
  select * from session_privs; 
  select * from user_sys_privs; 

--查看用户对象权限

  select * from dba_tab_privs; 
  select * from all_tab_privs; 
  select * from user_tab_privs; 

--查看用户所拥有的角色:

 select
* from dba_role_privs; 
  select * from user_role_privs;

 与权限,角色相关的视图大概有下面这些: 
  DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 
  USER_SYS_PRIVS: 查询当前用户所拥有的系统权限 
  SESSION_PRIVS: 查询当前用户所拥有的全部权限 
  ROLE_SYS_PRIVS: 查询某个角色所拥有的系统权限 注意: 要以 SYS 用户登陆查询这个视图,否则返回空. 
  ROLE_ROLE_PRIVS: 当前角色被赋予的角色 
  SESSION_ROLES: 当前用户被激活的角色 
  USER_ROLE_PRIVS: 当前用户被授予的角色 

--查询数据库文件

select
* from dba_data_files;

--查看用户当前连接数:
select count(*) from sys.v_$session;



--修改连接数:(注:要重启数据库)
alter system set processes=1000 scope=spfile;

shutdown immediate;

startup;





--创建表空间:
create tablespace ittbank datafile '/u01/app/oracle/oradata/ORCL/ittbank.dbf' size 300m autoextend on;


说明:末尾带autoextend
on参数表示当表空间大小不够用时会自动扩容,所有建议加上autoextend on参数。


--删除表空间:
drop tablespace ittbank including contents and datafiles;

--修改表空间大小(注:修改=可以增大,可以减小。)
alter database datafile
'/u01/app/oracle/oradata/ORCL/ittbank.dbf' resize 200m;

--增加表空间大小(注:增加=只能增大,不能减少。)
alter tablespace ittbank add datafile '/u01/app/oracle/oradata/ORCL/ittbank.dbf' size 2048m;





--查询当前存在的表空间:
select * from v$tablespace;


--表空间情况:
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by
tablespace_name;

--查询表空间剩余空间:
select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;


--查看具有sysdba或者sysoper权限的用户


select * from v$pwfile_users;


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle dictionary view