oracle数据库扩容方案_Oracle数据库表空间扩容方法

----查询表空间使用情况----

方法1:

select a.tablespace_name, (a.bytes/1024/1024) "total(MB)", (b.bytes/1024/1024) "free(MB)", round((a.bytes-b.bytes)*100/a.bytes, 2) "used%" from

(select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a,

(select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) b

where a.tablespace_name=b.tablespace_name order by (a.bytes-b.bytes) desc;

方法2:

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;

----查看表空间是否具有自动扩展的能力----

方法1:

select file_name,autoextensible from dba_data_files where tablespace_name='METADB';

方法2:

SELECT T.TABLESPACE_NAME,D.FILE_NAME,

D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS

FROM DBA_TABLESPACES T,DBA_DATA_FILES D

WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME

ORDER BY TABLESPACE_NAME,FILE_NAME;

----增加表空间大小的四种方法----

方法1:给表空间增加数据文件

ALTER TABLESPACE app_data ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;

方法2:新增数据文件,并且允许数据文件自动增长

ALTER TABLESPACE app_data ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M

AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

例:

ALTER TABLESPACE METADB ADD DATAFILE

'D:\opt\oracle\product\12cR1\db\metadb6.dbf' SIZE 100M

AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

方法3:允许已存在的数据文件自动增长

ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'

AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

方法4:手工改变已存在数据文件的大小

ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'

RESIZE 100M;

----查询表空间已被扩容(METADB)----

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
扩容Oracle数据库表空间,可以按照以下步骤进行操作: 1. 首先,使用管理员账号(如system/admin)登录到PL/SQL环境。 2. 查看当前表空间的使用情况,可以使用以下SQL语句: ``` SELECT A.TABLESPACE_NAME "表空间名", A.BYTES / 1024 / 1024 "表空间大小(M)", (A.BYTES - B.BYTES) / 1024 / 1024 "已使用空间(M)", B.BYTES / 1024 / 1024 "空闲空间(M)", ROUND(((A.BYTES - B.BYTES) / A.BYTES) * 100, 2) "使用比" 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; ``` 3. 查看当前表空间的数据文件路径,可以使用以下SQL语句: ``` SELECT FILE_ID, FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE, INCREMENT_BY FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = '表空间名'; ``` 4. 根据需要,选择一种方法来扩充表空间。其中一种方法是给表空间增加数据文件并允许数据文件自动增长。可以使用以下SQL语句: ``` ALTER TABLESPACE 表空间名 ADD DATAFILE '数据文件路径' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 32768M; ``` 请注意,'数据文件路径'应该是一个新的数据文件路径,可以根据需要进行设置。 5. 执行以上SQL语句后,表空间将会被扩容。可以再次使用步骤2中的SQL语句来确认扩容是否成功。 请注意,以上步骤仅为一种扩容表空间方法,具体操作可能会因数据库版本和配置而有所不同。建议在进行任何数据库操作之前,先备份数据库以防止意外情况发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值