Oracle中表空间的查看及扩容

684 阅读2分钟

自说

    在使用Oracle时,经常会使用到表空间,简单来说,表空间其实就是Oralce中的存储结构,用于方便管理、存储数据库对象,一个数据库可由多个表空间组成,可通过表空间来实现对Oracle的优化。

表空间的查看

dba_free_space          #可使用(空闲)的表空间

dba_data_files             #数据文件设置信息

dba_temp_files            #临时数据文件信息

查询表空间在物理磁盘上存放的位置

select tablespace_name,file_id,file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

查看表空间使用状态

col FILE_NAME for a30; set linesize 300; SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name;

创建表空间

create tablespace 表空间名称 logging datafile '存放路径/文件名.dbf' size 指定大小(单位以m为单位);

#创建临时表空间

create temporary tablespace 表空间名称 tempfile '/u01/app/oracle/product/19.0.0/dbhome_1/dbsuser.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local;

表空间扩容

alter tablespace user add datafile '存放路径/文件名.dbf' size 扩容大小(单位以m为单位);

#自动扩展表空间大小

其中设置的每个文件初始分配空间为7g, autoextend on为自动增长大小,oracle单个文件大小最大不超过32g

alter tablespace 表空间名称 add datafile '指定文件路径/文件名.dbf' size 7167M autoextend on ;

alter tablespace 表空间名称 add datafile '指定文件路径/文件名.dbf' size 7167M autoextend on ;

注:如报以下错误 #ERROR at line 1: ORA-65016: FILE_NAME_CONVERT must be specified #则需要手动指定FILE_NAME_CONVERT 主要修改后面的数据

create pluggable database salespdb admin user salesadm identified by oracle file_name_convert=('/u01/app/oracle/oradata/ORCL/pdbseed','/u01/app/oracle/oradata/ORCL/salespdb/');

汇总

1.给表空间增加数据文件

alter tablespace 表空间名 add datafile '数据文件路径' size 32768M;

2.给表空间增加数据文件,并允许数据文件自动增长.

alter tablespace 表空间名 add datafile '数据文件路径' size 100M autoextend on next 100M maxsize 32768M;

3.手工改变已存在数据文件大小

alter database datafile '已存在数据文件路径及名称' resize 32768M

4.使已存在数据文件自动增长

alter database datafile '已存在数据文件路径及名称' autoextend on next 100M maxsize 32768M;

希望以上内容可以帮助到你!如有问题或疑问,欢迎留言评论!