- 浏览: 126531 次
最新评论
-
gaoxikun:
看起来很齐全,很完美,但是不知道从哪里下载 。
myeclipse插件简单介绍 -
gaoxikun:
亲,能把这个集成了插件的myeclipse 6.5给我一下吗, ...
myeclipse插件简单介绍 -
hotsmile:
不错!!!!!!!!!
myeclipse插件简单介绍
查询一般表空间:
SELECT a.tablespace_name "表空间名",
total 表空间大小,
free 表空间剩余大小,
(total - free) 表空间使用大小,
ROUND((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM DBA_FREE_SPACE
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM DBA_DATA_FILES
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
and a.tablespace_name = '查询的表空间名称'
查询临时表空间:
SELECT a.tablespace_name "表空间名",
total 表空间大小,
total-used 表空间剩余大小,
used 表空间使用大小,
ROUND(used / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes_used) used
FROM v$temp_space_header
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_temp_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
and a.tablespace_name = '查询的临时表空间名称'
======================================================
下面介绍Oracle查询用户表空间
查看当前用户的缺省表空间 select username,default_tablespace from user_users
查看当前用户的角色 select * from user_role_privs 查看当前用户的系统权限
Oracle查询用户表空间:select * from user_all_tables
Oracle查询所有函数和储存过程:select * from user_source
Oracle查询所有用户:select * from all_users.select * from dba_users
Oracle查看当前用户连接:select * from v$Session
Oracle查看当前用户权限:select * from session_privs
================================================================
1.查询oracle表空间的使用情况
select b.file_id 文件ID,
b.tablespace_name 表空间,
b.file_name 物理文件名,
b.bytes 总字节数,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
sum(nvl(a.bytes,0)) 剩余,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
order by b.tablespace_name
2.查询oracle系统用户的默认表空间和临时表空间
select username,default_tablespace,temporary_tablespace from dba_users
3.查询单张表的使用情况
select segment_name,bytes from dba_segments where segment_name = 'RE_STDEVT_FACT_DAY' and owner = USER
RE_STDEVT_FACT_DAY是您要查询的表名称
4.查询所有用户表使用大小的前三十名
select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30
5.查询当前用户默认表空间的使用情况
select tablespacename,sum(totalContent),sum(usecontent),sum(sparecontent),avg(sparepercent)
from
(
SELECT b.file_id as id,b.tablespace_name as tablespacename,b.bytes as totalContent,(b.bytes-sum(nvl(a.bytes,0))) as usecontent,sum(nvl(a.bytes,0)) as sparecontent,sum(nvl(a.bytes,0))/(b.bytes)*100 as sparepercent
FROM dba_free_space a,dba_data_files b
WHERE a.file_id=b.file_id and b.tablespace_name = (select default_tablespace from dba_users where username = user)
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
)
GROUP BY tablespacename
6.查询用户表空间的表
select * from user_tables
=============================================================================
1.查询用户(数据)表空间
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
ORDER BY 4 DESC
2.查询临时表空间
SELECT d.status "Status", d.tablespace_name "Name", d.CONTENTS "Type",
d.extent_management "Extent Management",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.900') "Size (M)",
TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.999')
|| '/'
|| TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99999999.999') "Used (M)",
TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
FROM SYS.dba_tablespaces d,
(SELECT tablespace_name, SUM (BYTES) BYTES
FROM dba_temp_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM (bytes_cached) BYTES
FROM v$temp_extent_pool
GROUP BY tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management LIKE 'LOCAL'
AND d.CONTENTS LIKE 'TEMPORARY'
-- 收缩临时表空间
alter tablespace tbs_mk_temp coalse;
3.查询某个用户下表 占用的空间
select t.segment_name,sum(t.bytes)/1024/1024
from user_segments t
where segment_name like 'TB%'
group by t.segment_name
order by sum(t.bytes)/1024/1024 desc
4.查询表是否是分区表 ,占用的大小
select *
from user_segments t
where segment_name like 'TB%'
and t.segment_name='TB_FI_FIG_WINNER_CUST_MON'
5.查询 被锁的进程(dba登录)
select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name, sess.LOGON_TIME,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid
order by sess.LOGON_TIME;
6. 杀掉被锁的进程
alter system kill session '1997,33097';
SELECT a.tablespace_name "表空间名",
total 表空间大小,
free 表空间剩余大小,
(total - free) 表空间使用大小,
ROUND((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM DBA_FREE_SPACE
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM DBA_DATA_FILES
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
and a.tablespace_name = '查询的表空间名称'
查询临时表空间:
SELECT a.tablespace_name "表空间名",
total 表空间大小,
total-used 表空间剩余大小,
used 表空间使用大小,
ROUND(used / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes_used) used
FROM v$temp_space_header
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_temp_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
and a.tablespace_name = '查询的临时表空间名称'
======================================================
下面介绍Oracle查询用户表空间
查看当前用户的缺省表空间 select username,default_tablespace from user_users
查看当前用户的角色 select * from user_role_privs 查看当前用户的系统权限
Oracle查询用户表空间:select * from user_all_tables
Oracle查询所有函数和储存过程:select * from user_source
Oracle查询所有用户:select * from all_users.select * from dba_users
Oracle查看当前用户连接:select * from v$Session
Oracle查看当前用户权限:select * from session_privs
================================================================
1.查询oracle表空间的使用情况
select b.file_id 文件ID,
b.tablespace_name 表空间,
b.file_name 物理文件名,
b.bytes 总字节数,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
sum(nvl(a.bytes,0)) 剩余,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
order by b.tablespace_name
2.查询oracle系统用户的默认表空间和临时表空间
select username,default_tablespace,temporary_tablespace from dba_users
3.查询单张表的使用情况
select segment_name,bytes from dba_segments where segment_name = 'RE_STDEVT_FACT_DAY' and owner = USER
RE_STDEVT_FACT_DAY是您要查询的表名称
4.查询所有用户表使用大小的前三十名
select * from (select segment_name,bytes from dba_segments where owner = USER order by bytes desc ) where rownum <= 30
5.查询当前用户默认表空间的使用情况
select tablespacename,sum(totalContent),sum(usecontent),sum(sparecontent),avg(sparepercent)
from
(
SELECT b.file_id as id,b.tablespace_name as tablespacename,b.bytes as totalContent,(b.bytes-sum(nvl(a.bytes,0))) as usecontent,sum(nvl(a.bytes,0)) as sparecontent,sum(nvl(a.bytes,0))/(b.bytes)*100 as sparepercent
FROM dba_free_space a,dba_data_files b
WHERE a.file_id=b.file_id and b.tablespace_name = (select default_tablespace from dba_users where username = user)
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
)
GROUP BY tablespacename
6.查询用户表空间的表
select * from user_tables
=============================================================================
1.查询用户(数据)表空间
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
ORDER BY 4 DESC
2.查询临时表空间
SELECT d.status "Status", d.tablespace_name "Name", d.CONTENTS "Type",
d.extent_management "Extent Management",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.900') "Size (M)",
TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.999')
|| '/'
|| TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99999999.999') "Used (M)",
TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
FROM SYS.dba_tablespaces d,
(SELECT tablespace_name, SUM (BYTES) BYTES
FROM dba_temp_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM (bytes_cached) BYTES
FROM v$temp_extent_pool
GROUP BY tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management LIKE 'LOCAL'
AND d.CONTENTS LIKE 'TEMPORARY'
-- 收缩临时表空间
alter tablespace tbs_mk_temp coalse;
3.查询某个用户下表 占用的空间
select t.segment_name,sum(t.bytes)/1024/1024
from user_segments t
where segment_name like 'TB%'
group by t.segment_name
order by sum(t.bytes)/1024/1024 desc
4.查询表是否是分区表 ,占用的大小
select *
from user_segments t
where segment_name like 'TB%'
and t.segment_name='TB_FI_FIG_WINNER_CUST_MON'
5.查询 被锁的进程(dba登录)
select sess.sid,sess.serial#, lo.oracle_username,lo.os_user_name,ao.object_name, sess.LOGON_TIME,lo.locked_mode
from v$locked_object lo,dba_objects ao,v$session sess
where ao.object_id = lo.object_id
and lo.session_id = sess.sid
order by sess.LOGON_TIME;
6. 杀掉被锁的进程
alter system kill session '1997,33097';
发表评论
-
oracle job中Interval参数
2013-03-23 15:26 9241:每分钟执行 Interval => TRU ... -
oracle计算时间差
2013-03-23 15:20 1015select sysdate, ... -
oracle结果集的操作信息
2013-03-04 16:22 1023众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一 ... -
oracle利用user_db_like的存储过程
2013-03-04 15:59 1152CREATE OR REPLACE PROCEDURE hel ... -
oracle创建表分区(001)
2013-01-11 15:21 1196[color=red]create table par_tab ... -
oracle命令大全
2013-01-11 11:05 1225Oracle 命令集合 制作人: 陈杉 1、 创建表空 ... -
oracle 创建简单的函数
2013-01-06 18:46 792CREATE OR REPLACE FUNCTION hell ... -
oracle简单的创建存储过程
2012-12-28 16:50 999--如果存在数据库表的就删除,没有的话 就创建一个 ... -
set autotrace on
2012-12-27 15:01 1035在SQL*Plus中,你可以通过设置autotrace选项来在 ... -
oracle创建表浅先删除表 的实现
2012-12-25 17:10 964oracle语法中没有mysql语法中的drop table ... -
oraclel wmsys.wm_concat的使用
2012-12-25 15:16 1166create table fuqiang as sele ... -
oracle树 sys_connect_by_path的应用
2012-12-21 15:36 1420SELECT max(LTRIM(SYS_CONNECT_B ... -
oracle日期比较
2012-11-21 15:31 1081select * from tableA where cda ...
相关推荐
本篇文章将深入探讨Oracle表空间的概念、作用、创建方法以及常用的SQL语句,帮助你更好地理解和管理数据库资源。 一、Oracle表空间概念 在Oracle数据库中,表空间是逻辑存储单元,用于组织数据库对象,如表、索引和...
可以通过SQL查询数据字典表来获取信息。以下是一个示例查询: ```sql select a.a1 表空间名称, c.c2 类型, c.c3 区管理, b.b2/1024/1024 表空间大小 M, (b.b2-a.a2)/1024/1024 已使用 M, substr((b.b2-a.a2...
通过上述SQL查询,你可以有效地监控和管理Oracle数据库中的表空间资源。了解这些查询对于确保数据库性能和稳定性至关重要。此外,掌握如何将查询结果保存到文件中也是非常实用的技能,可以帮助你在日常工作中更高效...
"Oracle 表空间创建" Oracle 表空间创建是 Oracle 数据库中的一种基本...在本节中,我们讨论了 Oracle 表空间创建的基本概念和步骤,并提供了相关的 SQL 语句,以便于读者更好地理解和应用 Oracle 表空间创建技术。
通过以上内容,我们详细了解了Oracle中的表空间与数据文件的概念、分类以及它们在Oracle数据库存储结构中的作用,并学习了如何通过SQL查询来查看和管理这些表空间和数据文件。这对于管理和优化Oracle数据库的性能至...
#### 一、Oracle表空间基本信息查询 1. **查询Oracle表空间使用情况** ```sql SELECT b.file_id AS file_id, b.tablespace_name AS tablespace, b.file_name AS filename, b.bytes AS total_size, (b.bytes ...
在 Oracle 中,可以使用 SQL 语句来查询表空间的容量信息。以下是查询表空间容量的 SQL 语句: ```sql SELECT TABLESPACE_NAME "表空间", To_char(Round(BYTES / 1024, 2), '99990.00') || '' "实有", To_char...
查询表空间空闲空间 查询每个表空间的空闲空间大小: ```sql SELECT tablespace_name, SUM(bytes)/1024/1024 AS free_space_mb FROM dba_free_space GROUP BY tablespace_name; ``` ##### 3. 调整数据文件大小 ...
例如,通过以下SQL语句可以查询表空间的详细信息: ```sql SELECT d.status "Status", d.tablespace_name "Name", d.contents "Type", d.extent_management "ExtentManagement", NVL(a.bytes/1024/1024, 0) ...
以上是Oracle数据库中创建表、索引、表空间、触发器、用户和序列的基本操作。在实际应用中,根据业务需求可能还需要考虑其他因素,如分区、约束、存储过程、视图等。掌握这些基本操作对于理解和管理Oracle数据库至关...
创建表空间的基本SQL语句格式如下: ```sql CREATE TABLESPACE tablespace_name STORAGE ( INITIAL size NEXT size MINEXTENTS number MAXEXTENTS number | UNLIMITED PCTINCREASE percent ) DATAFILE '...
### 创建Oracle表空间知识点 #### 一、Oracle表空间概述 在Oracle数据库中,表空间是逻辑存储单元,用于组织和管理数据文件。一个表空间可以包含多个数据文件,而一个数据文件只能属于一个表空间。Oracle中的表...
在Oracle数据库管理系统中,创建表空间是管理数据库存储空间的关键操作。表空间是数据库中用于存储数据对象(如表、索引、视图等)的逻辑结构。它将物理磁盘上的一个或多个数据文件组织成一个逻辑单元,使得数据库...
在Oracle数据库管理系统中,表空间是逻辑存储单元的基本单位。每个数据库至少包含一个表空间,默认情况下为`SYSTEM`表空间。表空间由一个或多个数据文件组成,用于存储用户数据、索引、临时数据等。 #### 二、创建...
2. **使用DBMS_SPACE.TOTAL_SPACE**:这是一个Oracle提供的包,可以用来查询表空间中使用的空间大小。例如: ```sql SELECT DBMS_SPACE.TOTAL_SPACE('FILE_LOG') AS total_space; ``` 3. **使用DBMS_SPACE.COUNT...
1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件组成。每个表、索引和其他对象都会被分配到特定的表空间中。理解表空间的工作原理对于管理数据库空间至关...
通过这份“Oracle SQL.ppt”,初学者可以逐步学习并实践这些基本概念和操作,为后续的数据库管理、开发或数据分析工作奠定坚实基础。记住,实践是检验学习效果的最好方式,理论结合实际操作才能真正掌握Oracle SQL。
在深入探讨表空间变动前,首先需要了解Oracle表空间的一些基本概念: 1. **表空间**:Oracle数据库中的逻辑存储单元,由一个或多个数据文件组成。 2. **数据文件**:物理文件,用来存储表空间的数据。 3. **段**:...
#### 二、查询表空间基本信息 **1. 查询表空间总大小、已用空间、剩余空间** 给定文件中的第一段SQL语句展示了如何获取表空间的总大小、已用空间、剩余空间等信息。具体来说: - `Ta.Define_Size`表示定义的表...
在Oracle数据库管理中,表空间是数据逻辑存储的基本单位,用于组织和管理数据库中的数据。本文将详细介绍Oracle中关于表空间的一些关键操作,包括创建、修改、管理和删除表空间的过程,以及如何处理表空间的在线与...