一些Oracle的语句

前端之家收集整理的这篇文章主要介绍了一些Oracle的语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

注:从网上搜集的,备用


拷贝表结构
createtableroot.m_shipinfo2asselect*fromroot.m_shipinfowhere1=2
改表名
renamem_shipinfo2tom_shipinfo3;

查看当前用户默认表空间
selectusername,default_tablespacefromuser_users;

查看表空间信息
select*fromdba_data_files;

统计表空间大小
selecttablespace_name,sum(bytes)/1024/1024fromdba_data_files
groupbytablespace_name;

增加数据文件到表空间并打开自动
altertablespaceUSERSADDDATAFILE'/oracle/oradata/orcl/USER02.DBF'size5000mAUTOEXTENDON;

文件扩容并打开自动
altertablespacedatafile'/oracle/oradata/orcl/USER02.DBF'autoextendon

查看所有表空间文件路径(sysdba)
selecttablespace_name,file_id,file_name,
round(bytes/(1024*1024),0)total_spacefromdba_data_filesorderbytablespace_name;

SELECTtablespace_name表空间,sum(blocks*8192/1000000)剩余空间MFROMdba_free_spaceGROUPBYtablespace_name;

selecta.a1表空间名称,c.c2类型,c.c3区管理,
b.b2/1024/1024表空间大小M,
(b.b2-a.a2)/1024/1024已使用M,
substr((b.b2-a.a2)/b.b2*100,1,5)利用率
from
  (selecttablespace_namea1,sum(nvl(bytes,0))a2fromdba_free_spacegroupbytablespace_name)a,
  (selecttablespace_nameb1,sum(bytes)b2fromdba_data_filesgroupbytablespace_name)b,
  (selecttablespace_namec1,contentsc2,extent_managementc3fromdba_tablespaces)c
  wherea.a1=b.b1andc.c1=b.b1;

select
b.file_name物理文件名,
b.tablespace_name表空间,
b.bytes/1024/1024大小M,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024已使用M,
  substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,5)利用率
  fromdba_free_spacea,dba_data_filesb
  wherea.file_id=b.file_id
  groupbyb.tablespace_name,b.file_name,b.bytes
  orderbyb.tablespace_name

----用户
查看当前用户的缺省表空间
sql>selectusername,default_tablespacefromuser_users;

查看当前用户的角色
sql>select*fromuser_role_privs;

查看当前用户的系统权限和表级权限
sql>select*fromuser_sys_privs;
sql>select*fromuser_tab_privs;

查看用户下所有的表
sql>select*fromuser_tables;

----表
查看用户下所有的表
sql>select*fromuser_tables;

查看名称包含log字符的表
sql>selectobject_name,object_idfromuser_objects
whereinstr(object_name,'LOG')>0;

查看某表的创建时间
sql>selectobject_name,createdfromuser_objectswhereobject_name=upper('&table_name');

查看某表的大小
sql>selectsum(bytes)/(1024*1024)as"size(M)"fromuser_segments
wheresegment_name=upper('&table_name');

查看放在Oracle的内存区里的表
sql>selecttable_name,cachefromuser_tableswhereinstr(cache,'Y')>0;

原文链接:https://www.f2er.com/oracle/208617.html

猜你在找的Oracle相关文章