创建ORACLE大文件表空间

2022-09-18 14:54:28 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

目录

创建普通表空间

你可以创建多大的表空间?     

创建bigfile表空间

查看表空间的使用情况


  1. 创建普通表空间

表空间不够报错

ORA-01144: File size (26214400 blocks) exceeds maximum of 4194303 blocks

  1. 你可以创建多大的表空间?     

我们在前面提及,BFT 还受到操作系统的文件系统的限制。 下面我们以 Linux 操作系统为例:      

  1. 创建bigfile表空间

在oracle11g中引进了bigfile表空间,他充分利用了64位CPU的寻址能力,使oracle可以管理的数据文件总量达到8EB。单个数据文件的大小达到128TB,即使默认8K的db_block_size也达到了32TB。

创建bigfile的表空间使用的sql语句也很简单。

create bigfile tablespace…

create bigfile tablespace WH_BOOK datafile ‘/u01/app/oracle/oradata/WH_BOOK/WH_BOOK.DBF’ size 102400M reuse autoextend on next 1024M maxsize unlimited default storage(initial 1024M next 1024M minextents 2 maxextents unlimited);

需要注意的是使用bigfile表空间,他只能支持一个数据文件。也就是说这个文件的最大大小就是表空间最大大小,你不可能通过增加数据文件来扩大该表空间的大小。所以oracle说,如果你的这个文件没有剩余空间的话,你还是不要使用bigfile表空间了,这个表空间你没有扩展的余地了

  1. 查看表空间的使用情况
  • –1G=1024MB

–1M=1024KB

–1K=1024Bytes

–1M=11048576Bytes

–1G=1024*11048576Bytes=11313741824Bytes

SELECT a.tablespace_name “表空间名”, total “表空间大小”, free “表空间剩余大小”, (total – free) “表空间使用大小”, total / (1024 * 1024 * 1024) “表空间大小(G)”, free / (1024 * 1024 * 1024) “表空间剩余大小(G)”, (total – free) / (1024 * 1024 * 1024) “表空间使用大小(G)”, 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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157751.html原文链接:https://javaforall.cn

0 人点赞