-
2021-05-01 09:02:46
查询表空间剩余内存
SELECT TABLESPACE_NAME "表空间",
To_char(Round(BYTES / 1024, 2), '99990.00')
|| '' "实有",
To_char(Round(FREE / 1024, 2), '99990.00')
|| 'G' "现有",
To_char(Round(( BYTES - FREE ) / 1024, 2), '99990.00')
|| 'G' "使用",
To_char(Round(10000 * USED / BYTES) / 100, '99990.00')
|| '%' "比例"
FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME,
Floor(A.BYTES / ( 1024 * 1024 )) BYTES,
Floor(B.FREE / ( 1024 * 1024 )) FREE,
Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED
FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME,
Sum(BYTES) BYTES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME TABLESPACE_NAME,
Sum(BYTES) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称
ORDER BY Floor(10000 * USED / BYTES) DESC;
查询文件路径
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)) 剩余
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
表空间添加新数据文件扩容
一个表文件最大只能32G
给MY_01表空间扩容(直接将数据文件设置成最大)
ALTER TABLESPACE MY_01 ADD DATAFILE '/ibmp_data/oracle/oradata/hdyy_sjpt_ts/my_13.dbf’ size 30768M ;
手工改变已存在数据文件的大小
ALTER TABLESPACE MY_01 ADD DATAFILE '/ibmp_data/oracle/oradata/hdyy_sjpt_ts/my_13.dbf’ size 30768M ;
允许已存在的数据文件自动增长(每次100M)
ALTER DATABASE DATAFILE '/ibmp_data/oracle/oradata/hdyy_sjpt_ts/my_13.dbf’ AUTOEXTEND ON NEXT 100M MAXSIZE 20480M;
更多相关内容 -
oracle表空间容量查询以及表空间扩容
2019-03-29 18:58:34oracle表空间容量查询,通过sql语句查询表空间的名称和使用情况以及表空间扩容的几种方法 -
oracle表空间扩容
2021-11-12 14:38:56查看了操作系统各路径文件空间,发现空间不足,查看了下因为之前上一任技术负责人在安装oracle时,存储数据文件没有专门创建一个大空间文件来存储,使用的是默认,导致随着时间推移,这两年各种数据库实例越来越多,...开发人员在导入表和数据时,反馈无法导入,提示ORA-27044:Unable to wirte the header block of file
Linux X86_64 Error 2:NO such file director
查看了操作系统各路径文件空间,发现空间不足,查看了下因为之前上一任技术负责人在安装oracle时,存储数据文件没有专门创建一个大空间文件来存储,使用的是默认,导致随着时间推移,这两年各种数据库实例越来越多,最终空间不足
加上home的空间也不足,开发人员也在申请需要扩容空间用于存储备份一些文件等,同样需要扩容干脆在home目录下扩容100G空间专门存储数据与表空间和备份文件
扩容100G,直接挂载在home目录下
扩容成功:
接下来就是转移占用空间比较大的表空间和数据问题到新空间
加上开发新要构建的数据库表空间也直接构建新路径,
能成功新增,且是在新的目录下:
oracle迁移表空间数据文件
一、迁移非关键数据表空间数据文件方案:1.alter tablespace BATRISKTS offline;
2.cp 原数据文件 新路径/数据文件
3.alter tablespace BATRISKTS rename datafile '原数据文件' to '新数据文件';
4.alter tablespace BATRISKTS online; -
oracle 表空间扩容.txt
2020-04-21 15:47:30直接划一个xxG的裸设备就行 然后执行alter tablespace xxx add datfile '***' size 30000M autoextend off; 建裸设备时,裸设备的大小要大于文件的大小,下面以是建设备system01的命令: -
oracle 表空间扩容方法
2021-04-30 09:58:15测试环境OS:RedHat 6.7Oracle:11.2.0.4[root@iccsdb01 ~]# su - oracle[oracle@iccsdb01 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on 星期四 5月 25 15:09:24 2017Copyright (c) 1982, ...测试环境
OS:RedHat 6.7
Oracle:11.2.0.4
[root@iccsdb01 ~]# su - oracle
[oracle@iccsdb01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期四 5月 25 15:09:24 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@icsdb >
第一步:查看表空间的名字及文件所在位置:
set linesize 200
col FILE_NAME for a50
col TABLESPACE_NAME for a20
select tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
from sys.dba_data_files
order by tablespace_name;
表空间扩容有三个方法:
方法一:增大所需表空间大小:
alter database datafile '表空间位置' resize 新的尺寸
例如:
alter database datafile '/ora_data/icsdb/system01.dbf' resize 500M;
对于oracle数据库的表空间,除了用手动增加数据文件大小外,还可以增加数据文件数量等方式扩展表空间大小。
方法二:增加数据文件个数
alter tablespace 表空间名称 add datafile '新的数据文件地址' size 数据文件大小
例如:
alter tablespace system add datafile '/ora_data/icsdb/system02.dbf' size 1G;
方法三:设置表空间自动扩展。
alter database datafile '数据文件位置' autoextend on next 自动扩展大小 maxsize 最大扩展大小
例如:
alter database datafile '/ora_data/icsdb/system02.dbf' autoextend on next 500m maxsize 10000m;
查询表空间使用情况:
select a.tablespace_name,
a.bytes / 1024 / 1024 "sum MB",
(a.bytes - b.bytes) / 1024 / 1024 "used MB",
b.bytes / 1024 / 1024 "free MB",
round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "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.tablespace_name
order by ((a.bytes - b.bytes) / a.bytes) desc;
-
Oracle 表空间扩容
2021-05-01 11:00:001、查询当前表空间使用情况col FILE_NAME format a50;col SPACE_NAME format a15;select b.file_name file_name,b.tablespace_name space_name,b.bytes/1024/1024 munM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 ...1、查询当前表空间使用情况
col FILE_NAME format a50;
col SPACE_NAME format a15;
select b.file_name file_name,b.tablespace_name space_name,
b.bytes/1024/1024 munM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "use%"
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.bytes
order by b.tablespace_name;
2、查询各表占用空间情况,可以通过blocks块数判断空间占用情况
select table_name,tablespace_name,num_rows,blocks from all_tables where owner='IPEMS_DEV_EMS' order by blocks asc;
3、结合业务需要可以对历史数据表进行删除,如果需要删除的表较多,可通过拼接自动生成SQL脚本,也可利用notpad++工具手动拼接SQL脚本
alter table IPEMS_DEV_EMS.DO_5C6B3296CD1E_1062 move tablespace IPEMS01;
4、增加数据文件扩展表空间
alter tablespace IPEMS01 add datafile 'D:\APP\ADMINISTRATOR\ORADATA\IPEMS\IPEMS0104.DBF' size 30000m reuse autoextend on next 50M;
5、直接增大现有数据文件扩展表空间
ALTER DATABASE DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFIRST\DITS.DBF' RESIZE 400M;
6、关于oracle数据文件大小的说明:
64位OS 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G(最大blocks 2^22-1,单个数据文件最大为最大blocks*block_size (2^22-1)*8/1024/1204/1024)。要扩大单个数据文件的大小限制主要修改block_size的大小
uname -a 查看linuxOS的位数,sqlplus 登录oracle会显示oracle的位数,show parameter block;在命令行窗口可以查看数据块大小;
计算机右键“属性”查看windows的位数;
32位OS和32位oracle,默认oracle表空间datafile用的BLOCKSIZE也是8k,表空间数据文件最大也是32G。试了一下64G文件,也没有问题。
所以最终限制数据文件大小的还是oracle数据库,而不是操作系统。
7、oracle11g官方文档中关于物理数据库相关的限制
https://docs.oracle.com/cd/E11882_01/server.112/e40402/limits002.htm#REFRN0042
-
oracle表空间扩容、创建、删除(解决表空间不足问题)
2021-04-30 10:27:25前言整理一下之前使用oracle数据库遇到的表空间不足的问题,顺便水个博客。oracle表空间操作语句1.改变已存在的数据文件的大小ALTER TABLESPACE app_data ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\... -
oracle表空间文件扩容
2021-11-18 17:33:45找到了问题,坚信一个数据库肯定不会就只支持32G,来分析下表空间,看看怎么给它扩容? oracle表空间 Oracle的表空间与数据文件是成对出现的,每一个数据文件对应一个表空间,一个表空间可以包含多个数据文件。表... -
oracle 表空间扩容
2020-11-11 20:37:37查看表空间的名字及文件所在位置 select tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space from sys.dba_data_files order by tablespace_name; 查询表空间使用情况 ... -
Oracle之表空间扩容(Asm存储)
2021-09-14 09:02:20Oracle之表空间扩容(Asm存储) 此操作适应于表空间扩容的操作 create tablespace zqj datafile '+DATA/ORCL/DATAFILE/zqj01.dbf' size 2G autoextend on; 在zqj表空间中增加一个数据文件 alter tablespace SYSTEM... -
oracle数据库表空间扩容问题
2021-08-24 10:23:401.查看表空间使用率 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... -
ORACLE扩容表空间
2021-11-22 16:15:01查看表空间的名称和文件所在位置 SELECT tablespace_name, file_id, file_name, round( bytes / ( 1024 * 1024 ), 0 ) total_space FROM sys.dba_data_files ORDER BY tablespace_name 查询表空间信息 ...