一个哥们问我 ,他们查询 表空间使用率 跑了一个多小时,这个太坑爹了,让我 帮忙优化一下. SQL语句如下 select * from ( select ts.tablespace_name,ts.contents "TABLESPACE_TYPE", to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') monitor_date, datafiles,total_gb "TOTAL_SIZE_GB", (total_gb-free_gb…
Oracle查询表空间使用率很慢 问题描述 执行查询表空间的语句,需要接近2min的时间才能执行完成. 以前也在其他客户的生产库遇到过一样的情况,当时是由于回收站的内容过多引起的. 不过这次的情况却不是这样,因为回收站的内容并不多. 调试分析 老方法,设置statistics_level=all获取详细的执行情况,如下: 20:32:05 SYS@anonymous> SELECT a.tablespace_name, 20:32:05 2 ROUND (a.bytes_alloc / 1024…
--查询表空间使用情况 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') || '%' "…
,) percent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.table…
测试用户连接C:\Users\ZP>sqlplus /nologconn hbcxuser/hbcxpass --查看所有表空间 select * from user_tablespaces--查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system select username from dba_users;--查看你能管理的所有用户! select * from all_users--查看当前用户信息 select * from user_users; --查看表所属的…
SELECT * FROM Dba_Data_Files ddf WHERE ddf.tablespace_name = 'TablespaceName'; 以上SQL代码可以查询出表空间的所在路径和表空间的其他信息…
select *   from (Select a.tablespace_name,                to_char(a.bytes / 1024 / 1024, '99,999.999') total_bytes,                to_char(b.bytes / 1024 / 1024, '99,999.999') free_bytes,                to_char(a.bytes / 1024 / 1024 - b.bytes / 1024…
select  t1.tablespace_name,curr_b/1024/1024/1024,max_b/1024/1024/1024,curr_b/max_b from(select tablespace_name,sum(maxbytes) max_b from dba_data_files group by tablespace_name) t1join(select tablespace_name,sum(bytes) curr_b from dba_segments group b…
一.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 * 102…
最近7天内 每天(某个)表空间的增长量 col TS_NAME for a15 SELECT a.snap_id, a.rtime, c.tablespace_name ts_name, round(a.tablespace_size * c.block_size / 1024 / 1024 / 1024, 2) TOTAL_SIZE_GB, round(a.tablespace_usedsize * c.block_size / 1024 / 1024 / 1024, 2) USED_SIZE…
增加表空间大小的四种方法Meathod1:给表空间增加数据文件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M; Meathod2:新增数据文件,并且允许数据文件自动增长ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF'…
oracle 查询表的大小,表空间的使用情况,默认表空间 oracle 查询表的大小,表空间的使用情况,默认表空间 --查看某张表占用磁盘空间大小 ( 表名大写 ) Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name having Segment_Name='表名'; 查看用户默认表空是那个 select username,default_tablespace from dba_user…
查询表空间对应地址 *),) total_space from dba_data_files order by tablespace_name; //方案一:修改表空间大小(32000可改为想要的数值) alter database datafile '要修改的数据文件地址' resize 32000m; //方案二:新增数据文件 ALTER TABLESPACE 表空间名(例如USERS) ADD DATAFILE '新的数据文件路径' SIZE 500M AUTOEXTEND ON NEXT…
在ASM中:查询所有磁盘名称.总大小.剩余大小:单位MB-----查看组的信息(总大小)select name,total_mb, free_mb from v$asm_diskgroup; ---查看磁盘成员信息分别大小select name,total_mb,free_mb from v$asm_disk; 或者: [oracle@racdb1]asmcmdASMCMD>lsdg 查询表空间数据文件路径和总大小:单位MBSELECT tablespace_name,file_id,file_…
本人对oracle调优还处在不断学习状态,这个问题是之前处理的项目上遇到过的,顺利解决了,分享下此类问题的处理思路,不足之处,还请指正. 项目上反馈说业务表空间增长越来越快,上次新增的30G数据文件,不到一个月就提示表空间不足了,并且由于安全考虑,需要每天备份,导致备份异常缓慢,需要12h以上,表空间占用150G. 表空间占用高问题,只要定位到占用磁盘高的表或lob对象,处理掉就好了(根据业务实际情况处理). 查询表空间情况 SELECT Upper(F.TABLESPACE_NAME)    …
1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示,一个数据库由对应一个或多个表空间,表空间逻辑上有一个或多个段(Segment)组成,物理上由一个或多个os file组成. 1.1基本的表空间 系统中默认创建的几个表空间: SYSTEM SYSAUX USERS UNDOTBS1 EXAMPLE TEMP 系统中必须的表空间有那几个? 答案: SY…
1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux   RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空间不停增长,表空间被设置为自动增长,因此dbf文件在不断增大,硬盘空间在每天约400M的速度减少.数据库虽有自清理的脚本,清理3个月前的数据,但实际增加的数据太多,清理释放的空间不能满足需求了. 3.处理过程 解决思路是,该服务器的硬盘有预留空间,未完全划分的约有100G,可以建立新的分区,将已经存…
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALTER TABLESPACE 旧表空间名称 TO 新表空间名称;                      //修改表空间名称 3.select * from v$database;   show parameter db                                        …
–查询表空间使用情况 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') || '%' "…
在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示,一个数据库由对应一个或多个表空间,表空间逻辑上有一个或多个段(Segment)组成,物理上由一个或多个os file组成. 1.1基本的表空间 系统中默认创建的几个表空间: SYSTEM SYSAUX USERS UNDOTBS1 EXAMPLE TEMP 系统中必须的表空间有那几个? 答案: SYSTEM.SYS…
oracle 查询表名以及表的列名的代码.   1.查询表名: 代码如下: select table_name,tablespace_name,temporary from user_tables [where table_name=表名] 其中:table_name:表名(varchar2(30)); tablespace_name:存储表名的表空间(varchar2(30)): temporary:是否为临时表(varchar2(1)). eg: select table_name,tabl…
一.数据文件和数据库逻辑存储结构: 一个表空间包含一个或多个数据文件,一个表空间包含一个或多个段,一个段包含一个或多个区,一个区包含一个或多个连续的数据库块,一个数据库块包含一个或多个操作系统块.段是对象存储基本单元,段中的区总是在同一个表空间中,可以跨数据文件.区是空间分配的基本单元,连续的数据块,不能跨数据文件.块是I/O 的基本单元,不能跨数据文件. ----------------------------------------------------------------------…
oracle在使用中会发现,表空间不足的情况:以下介绍了如何1.查询表空间使用率.剩余量:2.如何扩展表空间容量: 1.表空间容量指标查询 SELECT TABLESPACE_NAME "表空间", To_char(, ), '99990.00') || '' "实有", To_char(, ), '99990.00') || 'G' "现有", To_char(, ), '99990.00') || 'G' "使用", To…
问题:在对某一表空间进行新建表的时候,出现ora-01658的错误. create 语句: create table OA_ORGCONFIG(  OAOC_UNID      INTEGER not null,  OAOC_UUID      VARCHAR2(32) not null,  OAOC_CDATE     DATE,  OAOC_UDATE     DATE,  OAOC_CUSR      VARCHAR2(32),  OAOC_REMARK    VARCHAR2(2000)…
Oracle 表空间扩充 一.现场环境: (1)操作系统:AIX (2)数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production (3)数据库模式:RAC(双实例) (4)192.168.1.1 racone        192.168.1.2 ractwo 二.查询表 1. 登陆数据库查询数据库中表空间使用情况 set linesize 200 col file_name for a40…
查看端口号指令 netstat –a 设置: set pagesize 100; //设置每页显示的行数set linesize 200; //设置每页显示的字符数 空格也算col 列名A for a8; //设置A列的宽度为8,a代表字符串 col 列名B for 9999; //设置B列的宽度, 9999为数字格式    清屏: SQL> clear scre; SQL> host cls; 建立表空间 SQL> create tablespace tc20 datafile 'e:…
参考地址:https://www.cnblogs.com/zhaideyou/articles/5845271.html Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库. 创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间. 关系:一个大的数据中分为几个表空间,创建几个用户然后指定对应…
-- 1 向数据库导入数据时报了ORA-01653: unable to extend table错误,网上查了下原因是由于表空间不足引起的: 查询表空间使用情况语句 select a.tablespace_name,a.bytes/1024/1024 total, (a.bytes-b.bytes)/1024/1024 used, b.bytes/1024/1024 free, round((a.bytes-b.bytes)/a.bytes*100,2) used_ratefrom ( sel…
1.查询当前用户的所属表空间 select * from user_users; 2.增加表空间有两种方法: 以sysdba登陆进数据库 语法: alter tablespace 表空间名称 add datafile 表空间存放路径  size 表空间大小 autoextend on next 增长的大小 maxsize 空间最大值(如果不限制空间最大值就用unlimited) 例如: alter tablespace vgsm    add datafile 'c:\oracle\produc…
1.创建表空间 CREATE TABLESPACE TBS_TR_DATA DATAFILE '/oradata/rTBS_TR_DATA_001.dbf' SIZE 64G EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ONLINE; ALTER TABLESPACE TBS_TR_DATA ADD DATAFILE '/oradata/rTBS_TR_DATA_002.dbf' SIZE 64G AUTOEXTEND OFF; 2…