oracle 表空间、用户名 相关语句
一、oracle查询表空间文件所在路径
select * from dba_data_files t where t.tablespace_name='FLW'
二、计算出表空间各相关数据
SELECT file_name 物理路径,t1 表空间,z 总表空间M,z-s 已用表空间,s 剩余表空间,ROUND((z-s)/z*100,2) "使用率%"
From (Select tablespace_name t1,round(SUM(bytes / (1024 * 1024)), 0) s
From DBA_FREE_SPACE Group by tablespace_name),
(Select file_name ,tablespace_name t2,round(SUM(bytes / (1024 * 1024)), 0) z
From DBA_DATA_FILES Group by file_name,tablespace_name) Where t1=t2;
--查询表空间使用情况(低版本也可以用)
SELECT Upper(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')
|| '%' "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
三、修改表空间自动增长
ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON; --设置数据文件自动增长
四、修改表空间大小
alter database datafile '/home/db/..../tbs.dbf' resize 100M;
五、新增表空间
create tablespace data_config datafile 'D:\ORACLE\app\Administrator\oradata\orcl\data_config.dbf' size 50m autoextend on;
六、新增用户
create user data_config identified by dcjet default tablespace data_config temporary tablespace temp;
grant dba,resource,connect to data_config;
七、查询出一个用户用了几个表空间
SELECT owner, tablespace_name, ROUND (SUM (BYTES) / 1024 / 1024, 2) "USED(M)"
FROM dba_segments
GROUP BY owner, tablespace_name
ORDER BY owner DESC;
八、查询表空间使用情况
--查询表空间使用情况
SELECT Upper(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), '990.99')
|| '%' "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
八、表压缩
--使能行移动
alter table tablename enable row movement;
--表压缩
alter table tablename shrink space;
--如果有函数索引就会有如下错误:
ORA-10631: SHRINK clause should not be specified for this object
九、新建表空间
alter tablespace 表空间名 add datafile '数据文件路径' size 10000m autoextend on next 1000m;
alter tablespace 表空间名 add datafile '数据文件路径' size 10000m autoextend on next 1000m;
十、表空间使用情况
---查看前一天所有表空间的增长量
select C.tablespace_name,
D."Total(MB)",
D."Used(MB)" - C."Used(MB)" AS "Increment(MB)",
to_char(trunc(sysdate - ),'yyyy/mm/dd') "TIME"
from (select B.name tablespace_name,
case when B.name not like 'UNDO%' then round(A.tablespace_size * / )
when B.name like 'UNDO%' then round(A.tablespace_size * / / )
END as "Total(MB)",
round(A.tablespace_usedsize* / ) "Used(MB)",
A.rtime
from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B
where A.tablespace_id = B.TS#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(trunc(sysdate - ), 'yyyymmdd hh24:mi')) C,
(select B.name tablespace_name,
case when B.name not like 'UNDO%' then round(A.tablespace_size * / )
when B.name like 'UNDO%' then round(A.tablespace_size * / / )
END as "Total(MB)",
round(A.tablespace_usedsize* / ) "Used(MB)",
A.rtime
from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B
where A.tablespace_id = B.TS#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(trunc(sysdate), 'yyyymmdd hh24:mi')) D
where C.tablespace_name = D.tablespace_name;
---查看前一周所有表空间的增长量
select C.tablespace_name,
D."Total(MB)",
D."Used(MB)" - C."Used(MB)" AS "Increment(MB)",
to_char(next_day(trunc(sysdate),)-,'yyyy/mm/dd')||'--'||to_char(next_day(trunc(sysdate),)-,'yyyy/mm/dd') "TIME"
from (select B.name tablespace_name,
case when B.name not like 'UNDO%' then round(A.tablespace_size * / )
when B.name like 'UNDO%' then round(A.tablespace_size * / / )
END as "Total(MB)",
round(A.tablespace_usedsize* / ) "Used(MB)",
A.rtime
from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B
where A.tablespace_id = B.TS#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(next_day(trunc(sysdate),)-,'yyyymmdd hh24:mi')) C,
(select B.name tablespace_name,
case when B.name not like 'UNDO%' then round(A.tablespace_size * / )
when B.name like 'UNDO%' then round(A.tablespace_size * / / )
END as "Total(MB)",
round(A.tablespace_usedsize* / ) "Used(MB)",
A.rtime
from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B
where A.tablespace_id = B.TS#
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'yyyymmdd hh24:mi') =
to_char(next_day(trunc(sysdate),)-,'yyyymmdd hh24:mi')) D
where C.tablespace_name = D.tablespace_name;
---每天使用情况
select B.name tablespace_name,
case when B.name not like 'UNDO%' then round(A.tablespace_size * / )
when B.name like 'UNDO%' then round(A.tablespace_size * / / )
END as "Total(MB)总空间",
round(A.tablespace_usedsize* / ) "Used(MB)使用空间",
A.rtime
from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B
where A.tablespace_id = B.TS#
AND B.NAME='NJYTH'
and to_char(to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss'),
'hh24:mi') =
to_char(trunc(sysdate), 'hh24:mi') ORDER BY
to_date(replace(rtime, '/', null),
'mmddyyyy hh24:mi:ss');
表空间使用情况
十一、查看oracle 分配了几个G的内存
select * from v$parameter where name like '%sga%';
十二、数据库读取情况排名前10统计分析
SELECT *
FROM (SELECT PARSING_USER_ID EXECUTIONS,
SORTS,
COMMAND_TYPE,
DISK_READS,
sql_text
FROM v$sqlarea
ORDER BY disk_reads DESC)
WHERE ROWNUM < 10
SELECT S.SID, S.EVENT, S.WAIT_TIME, W.SEQ#, Q.SQL_TEXT
FROM V$SESSION_WAIT W, V$SESSION S, V$PROCESS P, V$SQLAREA Q
WHERE S.PADDR = P.ADDR
AND S.SID = '14'
AND S.SQL_ADDRESS = Q.ADDRESS;
--当前由Oracle引起的CPU100%
十三、--每个session占用的cpu
select ss.sid, se.command, ss.value CPU, se.username, se.program
from v$sesstat ss, v$session se
where ss.statistic# in
(select statistic#
from v$statname
where name = 'CPU used by this session')
and se.sid = ss.sid
and ss.sid > 6
order by ss.sid
十四、抓取当前最消耗CPU的sql代码,根据操作系统(os)的spid
SELECT /*+ ORDERED */
sql_text
FROM v$sqltext a
WHERE (a.hash_value, a.address) IN (
SELECT DECODE (sql_hash_value,
0, prev_hash_value,
sql_hash_value
),
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address)
FROM v$session b
WHERE b.paddr = (SELECT addr
FROM v$process c
WHERE c.spid = '10401'))
ORDER BY piece ASC
十五、oracle 10以上的高水位问题处理
alter table t_hxhs_entryhead_tmp_log enable row movement;
alter table t_hxhs_entryhead_tmp_log shrink space;
analyze table t_hxhs_entryhead_tmp_log compute statistics;
十六、-所有分区表TABLE PARTITION占用空间
select segment_name, sum(bytes) / 1024 / 1024 Mbytese
from user_segments
where segment_type = 'TABLE PARTITION'
group by segment_name
十七、表和索引占用空间情况
select a.segment_name,
a.Mbytese total_size,
b.segment_name table_name,
b.Mbytese table_size,
c.segment_name index_name,
c.Mbytese index_size
from ( --查看所有segment的大小(M)
select segment_name, sum(bytes) / 1024 / 1024 Mbytese
from user_segments
group by segment_name) a
left join ( --所有表占用空间(M)
select segment_name, sum(bytes) / 1024 / 1024 Mbytese
from user_segments
where segment_type = 'TABLE'
group by segment_name) b
on a.segment_name = b.segment_name
left join ( --所有索引占用空间(M)
select segment_name, sum(bytes) / 1024 / 1024 Mbytese
from user_segments
where segment_type = 'INDEX'
group by segment_name) c
on a.segment_name = c.segment_name
order by total_size desc
---查看前一天所有表空间的增长量select C.tablespace_name, D."Total(MB)", D."Used(MB)" - C."Used(MB)" AS "Increment(MB)", to_char(trunc(sysdate - 1),'yyyy/mm/dd') "TIME" from (select B.name tablespace_name, case when B.name not like 'UNDO%' then round(A.tablespace_size * 8 / 1024) when B.name like 'UNDO%' then round(A.tablespace_size * 8 / 1024 / 2) END as "Total(MB)", round(A.tablespace_usedsize*8 / 1024) "Used(MB)", A.rtime from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B where A.tablespace_id = B.TS# and to_char(to_date(replace(rtime, '/', null), 'mmddyyyy hh24:mi:ss'), 'yyyymmdd hh24:mi') = to_char(trunc(sysdate - 1), 'yyyymmdd hh24:mi')) C, (select B.name tablespace_name, case when B.name not like 'UNDO%' then round(A.tablespace_size * 8 / 1024) when B.name like 'UNDO%' then round(A.tablespace_size * 8 / 1024 / 2) END as "Total(MB)", round(A.tablespace_usedsize*8 / 1024) "Used(MB)", A.rtime from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B where A.tablespace_id = B.TS# and to_char(to_date(replace(rtime, '/', null), 'mmddyyyy hh24:mi:ss'), 'yyyymmdd hh24:mi') = to_char(trunc(sysdate), 'yyyymmdd hh24:mi')) D where C.tablespace_name = D.tablespace_name;---查看前一周所有表空间的增长量select C.tablespace_name, D."Total(MB)", D."Used(MB)" - C."Used(MB)" AS "Increment(MB)", to_char(next_day(trunc(sysdate),2)-7,'yyyy/mm/dd')||'--'||to_char(next_day(trunc(sysdate),2)-7,'yyyy/mm/dd') "TIME" from (select B.name tablespace_name, case when B.name not like 'UNDO%' then round(A.tablespace_size * 8 / 1024) when B.name like 'UNDO%' then round(A.tablespace_size * 8 / 1024 / 2) END as "Total(MB)", round(A.tablespace_usedsize*8 / 1024) "Used(MB)", A.rtime from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B where A.tablespace_id = B.TS# and to_char(to_date(replace(rtime, '/', null), 'mmddyyyy hh24:mi:ss'), 'yyyymmdd hh24:mi') = to_char(next_day(trunc(sysdate),2)-14,'yyyymmdd hh24:mi')) C, (select B.name tablespace_name, case when B.name not like 'UNDO%' then round(A.tablespace_size * 8 / 1024) when B.name like 'UNDO%' then round(A.tablespace_size * 8 / 1024 / 2) END as "Total(MB)", round(A.tablespace_usedsize*8 / 1024) "Used(MB)", A.rtime from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B where A.tablespace_id = B.TS# and to_char(to_date(replace(rtime, '/', null), 'mmddyyyy hh24:mi:ss'), 'yyyymmdd hh24:mi') = to_char(next_day(trunc(sysdate),2)-7,'yyyymmdd hh24:mi')) D where C.tablespace_name = D.tablespace_name;---每天使用情况select B.name tablespace_name, case when B.name not like 'UNDO%' then round(A.tablespace_size * 8 / 1024) when B.name like 'UNDO%' then round(A.tablespace_size * 8 / 1024 / 2) END as "Total(MB)总空间", round(A.tablespace_usedsize*8 / 1024) "Used(MB)使用空间", A.rtime from DBA_HIST_TBSPC_SPACE_USAGE A, v$tablespace B where A.tablespace_id = B.TS# AND B.NAME='NJYTH' and to_char(to_date(replace(rtime, '/', null), 'mmddyyyy hh24:mi:ss'), 'hh24:mi') = to_char(trunc(sysdate), 'hh24:mi') ORDER BY to_date(replace(rtime, '/', null), 'mmddyyyy hh24:mi:ss');
oracle 表空间、用户名 相关语句的更多相关文章
- oracle创建表空间等相关语句
在数据库可视化工具中执行以下语句,可建立Oracle表空间. 主要分为四步 1.创建临时表空间 create temporary tablespace xuanwu_temp tempfile 'D: ...
- oracle表空间不足相关问题解决办法
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- oracle 表空间管理相关(原创)
通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...
- Oracle表空间管理相关
以下以我自己的测试环境举例: 1.表空间的 block_size 为 8192字节,即8KBytes.从数据字典中查到 max_size 为 2147483645,即约为15.9TBytes. 2.在 ...
- oracle表空间相关SQL语句
Oracle 数据库查看表空间的使用情况 SELECT d.tablespace_name, space "SUM_SPACE(MB)", ) "USED_SPACE(M ...
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- 【转】Oracle 表空间与数据文件
--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...
- 【基础】Oracle 表空间和数据文件
多个表空间的优势:1.能够将数据字典与用户数据分离出来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的I/O冲突2.能够将回退数据与用户数据分离出来,避免由于硬盘损坏而导致永久性的数据丢失3 ...
- Oracle 表空间与数据文件
-============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...
随机推荐
- Linux parted 分区
转自http://tilt.lib.tsinghua.edu.cn/node/889 如何使用parted对齐分区以得到最优性能 Sat, 03/08/2014 - 18:02 - tlblues ...
- python(4)-迭代器 和 生成器
迭代器是访问集合元素的一种方式.迭代器适合遍历一些巨大或无限的集合,比如几个G的文件.迭代器具有以下特点: 1. 访问者不需要关心迭代器内部的结构,只需通过__next__()方法不断取下一个内容 2 ...
- php.ini 配置文件的深入解析
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的 ;;;;;;;; ...
- PLS-00201: 必须声明标识符 'UTL_FILE'
解决办法: 用sysdba身份 把UTL_FILE包的执行权限给这个用户. 举例: 1.C:\Users\Anakin>sqlplus /nolog2.SQL> connect /as s ...
- [改善Java代码]asList方法产生的List对象不可更改
上一个建议之处了asList方法在转换基本类型数组时候存在的问题,在看下asList方法返回的列表有何特殊的地方.看代码: import java.util.Arrays; import java.u ...
- [BigData]关于Hadoop学习笔记第四天(PPT总结)(一)
课程安排 Partitioner编程** 自定义排序编程** Combiner编程** 常见的MapReduce算法** ---------------------------加深拓展-------- ...
- spring+mybatis管理多个数据源(非分布式事务)
本文通过一个demo,介绍如何使用spring+mybatis管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立的事 ...
- 使用spring+mybatis+atomikos+tomcat构建分布式事务
本文通过一个demo,介绍如何使用spring+mybatis+atomikos+tomcat构建在一个事务中涉及两个数据源的web应用. demo功能:实现一个能成功提交和回滚的涉及两个数据库数据源 ...
- ASP常用函数表
ASP常用函数表(新手们的好工具) 作者:未知 Array() 函数返回一个数组 表达式 Array(list) 允许数据类型: 字符,数字均可 实例: <% Dim myArray() For ...
- NGUI的原理机制:深入剖析UIPanel,UIWidget,UIDrawCall底层原理
这是我去搜狐畅游面试时,面试官问的一个问题.问NGUI的机制原理是什么?就是这个插件是根据什么写出来的.当时没答上来,下面是我从转载过来的,可以研究研究. 之前项目中用的NGUI的版本是3.0.7 f ...