自说
在使用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;
希望以上内容可以帮助到你!如有问题或疑问,欢迎留言评论!