-- 查询登录用户
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;