目录
概述一、表空间创建二、表空间删除三、表空间及数据文件删除后数据文件还存在其他有空再补充概述
待补充
一、表空间创建
--表空间create tablespace space_name--数据文件的位置及大小datafile 'D:\name.dbf' size 20m--是否自动扩展,默认 autoextent off 不扩展,每次扩展5m,最大50m,可以根据需要更改autoextend on next 5m maxsize 50m--是否产生日志,否为nologginglogging-- 段空间自动管理,默认 'auto' 推荐segment space management auto -- 表空间管理方式,dictionary | local(默认,推荐) extent management local
extent management 有两种方式:
1、extent management local(本地管理);
2、extent management dictionary(数据字典管理)
本地管理表空间是自己管理分配,字典管理表空间需要系统管理空间分配
二、表空间删除
--1、单纯删除表空间drop tablespace 表空间名称 ;--2、删除表空间及内容(表空间名称要大写)drop tablespace "表空间名称" including contents;-- 3 完全删除(表空间 + 数据文件)drop tablespace "表空间名称" including contents and datafiles;-- 若存在约束,则追加下列子句即可cascade constraints;
三、表空间及数据文件删除后数据文件还存在
1、问题:执行该语句后发对应的数据文件(.dbf)还存在,手工删除提示OracleServiceORCL服务已打开
drop tablespace "表空间名称" including contents and datafiles;
注意:删除前可以先查看数据文件存放路径
--查询现有表空间文件存放目录,file_name 就是文件存放路径select b.file_id,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.bytes) * 100, 1, 5) 利用率from dba_free_space a, dba_data_files bwhere a.file_id = b.file_idgroup by b.file_id,b.tablespace_name, b.file_name, b.bytesorder by b.file_id;
2、解决方法:(暂停OracleServiceORCL服务,再手工删除.dbf文件)
运行cmd-输入services.msc --然后下图
暂停后就可以手工删除了
其他有空再补充
如果觉得《oracle使用(五)表空间创建 删除以及删除后数据文件还存在的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!