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

-- 查询登录用户

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;



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值