加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

一些Oracle的语句

发布时间:2020-12-12 14:44:44 所属栏目:百科 来源:网络整理
导读:注:从网上搜集的,备用 拷贝表结构 createtableroot.m_shipinfo2asselect*fromroot.m_shipinfowhere1=2 改表名 renamem_shipinfo2tom_shipinfo3; 查看当前用户默认表空间 selectusername,default_tablespacefromuser_users; 查看表空间信息 select*fromdba_

注:从网上搜集的,备用


拷贝表结构
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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读