ORCLE删除数据库文件

在实际操作中很少会去删除数据库文件,但是凡事都有例外,由于一些特殊原因,例如存储方式变化、磁盘空间不够等,需要调整和删除一些无效的数据库文件,本文介绍一下实践出来的一种删除数据库文件的操作方式。
删除前请对数据进行备份,以防出现意外。

一、操作环境

数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

操作系统:Windows Server 12

二、操作步骤

1、查询数据库文件

查询数据库包含的数据库文件,获取数据库文件的id

select file#,name from v$datafile;

在这里插入图片描述
这里的FILE#即为数据库文件的id

2、新建表空间

新建一个表空间并使用新的数据库文件,主要是用来转移原数据库文件上的存储内容

create tablespace mytablespace datafile 'c:\mytablespace.dbf' size 100m aotuextend ON next 10m;

创建的表空间为mytablespace ,下面的语句注意替换为自己新建的表空间名字

3、查询文件包含内容

查询要删除的数据库文件是否包含有内容,如果有的话需要转移到其他表空间上

--需移动的表数据
select DISTINCT 'alter table '|| owner||'.'||segment_name || ' move tablespace mytablespace;' from dba_extents where segment_type='TABLE' and file_id=13;
--需移动的索引数据
select DISTINCT 'alter index '|| owner||'.'|| segment_name || ' rebuild tablespace mytablespace;' from dba_extents where segment_type='INDEX' and file_id=13;
--需移动的分区表数据
select DISTINCT 'alter table '|| owner||'.'|| segment_name || ' move partition '|| partition_name || ' tablespace mytablespace;' from dba_extents where segment_type='TABLE PARTITION' and file_id=13;
--需移动的分区表索引数据
select DISTINCT 'alter index '|| owner||'.'|| segment_name || ' rebuild partition '|| partition_name || ' tablespace mytablespace;' from dba_extents where segment_type='INDEX PARTITION' and file_id=13;

已上SQL查询后会显示出来该数据文件包含的内容(只查询了表和索引情况),第一列的内容可以直接拷贝出来执行,执行后会把当前数据库文件存储的内容转移到新的表空间上。

4、删除数据库文件

ALTER TABLESPACE "USERS" DROP DATAFILE 'C:\XXX\USERS_170312.DBF';
ALTER TABLESPACE USERS DROP DATAFILE 12;

已上SQL选择一个执行即可,少做等待,等ORACLE删除文件。

5、物理删除文件

将要删除的物理文件,从磁盘上删除。建议先移动到一个临时位置,过一段时间在删除。

三、出现的问题

1、重建索引

表和索引移动后,索引会失效,需要对索引进行重建,建议在业务空闲时进行移动操作。
查询失效索引:

SELECT owner,
       table_name,
       index_name,
       status'alter INDEX ' || index_NAME || '  REBUILD ONLINE tablespace mytablespace;'
  FROM dba_indexes
 WHERE STATUS != 'VALID'
       AND OWNER = 'XXX';

注意mytablespace 和XXX,mytablespace 为上面新建的表空间,XXX为数据库用户名。

2、无法移除文件

在执行第5步是可能提示文件占用无法移除,可以等一段时间再操作。有时候在执行第4步时,ORACL能自己移除文件,有时候不能。目前发现的规律是小的文件(2G左右)可以自己移除,大文件(32G)不行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/653295.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

室内也可以用北斗定位?还能用RTK?

室内卫星顾名思义,就是在室内有遮挡环境中的卫星定位技术,众所周知,目前全球几大GNSS定位系统已经很完善,但是GNSS有个致命的弱点,就是地面如果有遮挡就没有信号,在这样的条件下,在室内定位场景…

HTML大雪纷飞

目录 写在前面 HTML简介 完整代码 代码分析 运行结果 系列文章 写在后面 写在前面 小编又又又出现啦!这次小编给大家带来大雪纷飞HTML版,不需要任何的环境,只要有一个浏览器,就可以随时随地下一场大雪哦! HTM…

申请免费通配符SSL证书教程

申请免费通配符SSL证书的步骤相对直接,但需要注意的是免费且支持通配符的证书提供商较为有限,JoySSL是一个被多次提及提供此类服务的机构。以下是一个基于汇总信息的简明教程,帮助你申请免费的通配符SSL证书: 1. 准备工作 确认兼…

VPN的详细理解

VPN(Virtual Private Network,虚拟私人网络)是一种在公共网络上建立加密通道的技术,通过这种技术可以使远程用户访问公司内部网络资源时,实现安全的连接和数据传输。以下是对VPN的详细介绍: 选择代理浏览器…

颠仆流离学二叉树1 (Java版)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

Jetpack架构组件_2. 数据绑定库

1.理论基础 数据绑定库是一个支持库,可让您使用声明性格式(而不是以程序化方式)将布局中的界面组件绑定到应用中的数据源。 布局通常使用调用界面框架方法的代码在 activity 中定义。例如,以下代码会调用 findViewById() 来查找 T…

开源内网穿透神器:中微子代理(neutrino-proxy)实现内网穿刺

😄 19年之后由于某些原因断更了三年,23年重新扬帆起航,推出更多优质博文,希望大家多多支持~ 🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Mi…

yarn dev启动项目时遇到的问题

用yarn dev启动项目的时候,遇到了如下问题: 这个时候,我们可以这样解决:用nvm list 看下已安装的node版本,用nvm use切换一下node版本,当然前提是你已经安装了nvm。

4.共享文件夹的设置

注:设置共享文件夹:首先要先关机 一、点击 编辑虚拟机设置 二、点击 选项 选项卡 三、点击 共享文件夹 四、在本地建立一个共享文件夹后选择路径 五、Linux系统文件夹中的共享文件夹路径 六、在Linux系统中查看共享文件夹 Ubuntushare是共享文件夹&…

httphere是一个反向代理和友好前端开发的小工具

httphere 是干什么的 httphere在任意目录启动 http服务, 不仅仅是启动一个简单的http服务。 只启动http服务,现成的做法有: python2 -m SimpleHTTPServer python3 -m http.server 其他 httphere 工具httphere功能有:静态服器、文件上传与下…

【NumPy】掌握NumPy的histogram函数:数据直方图的生成与应用详解

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

vue 表格 随手笔记

对表格中单元格回显 做循环 <template slot-scope"scope"> <el-table-column label"责任网格类型" align"center"><template slot-scope"scope"><div v-for"(item, index ) in gridDutyTypeList">&…

吉祥物IP如何通过惯性动作捕捉技术“复活”实时互动?

随着数字人技术的不断发展&#xff0c;惯性动作捕捉技术已经成为实现吉祥物IP实时互动的重要手段。通过惯性动作捕捉技术&#xff0c;吉祥物不仅能够以生动逼真的数字人形象出现在大众视野&#xff0c;还能够与观众进行实时互动&#xff0c;为品牌营销注入新的活力。 作为3D、…

Funkey游戏机新作,基于全志T113的全新版本

不同于配置高端、性能强劲的Windows、安卓掌机&#xff0c;有一部分的爱好者往往对拥有复古外形的开源掌机更加感兴趣。作为开源掌机的热门产品&#xff0c;小巧便携的FunKeys掌机是各位开源爱好者争相复刻的对象。因热爱开源掌机DIY而聚集的“双核掌机开发组”开发者团队&…

江协科技STM32学习-0 购买套件

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技STM32”视频的学习笔记&#xff0c;在这里会记录下江协科技STM32开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技STM32教学视频和链接中的内容。 引用&#xff1a; STM32入门教程-2023版 细致讲…

探索Python中的随机数生成与统计分析

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、随机数的魅力与实用性 1. 随机数生成基础 2. 批量生成随机数 二、随机数的高级应用&a…

【SpringCloud】负载均衡

目录 负载均衡什么是负载均衡生活场景为什么需要负载均衡负载均衡手段负载均衡总的来说有两种实现手段负载均衡具体可以通过多种手段来实现 SpringCloud中的负载均衡组件Ribbon VS Nginx负载均衡区别集中式LB进程内LB RibbonRibbon的工作原理Ribbon在工作时分成两步 使用1.提供…

《KAN》论文笔记

原文出处 KAN: Kolmogorov–Arnold Networks (arxiv.org)https://arxiv.org/html/2404.19756v1 论文笔记 What 《KAN: Kolmogorov–Arnold Networks》——我们提出了 KolmogorovArnold Networks (KANs) 作为多层感知器 (MLP) 的有前途的替代方案。 我们表明&#xff0c;这…

.NET File Upload

VS2022 .NET8 &#x1f4be;基础上传示例 view {ViewData["Title"] "File Upload"; }<h1>ViewData["Title"]</h1><form method"post" enctype"multipart/form-data" action"/Home/UploadFile"…

MySQL 数据备份实战

文章目录 前言简介一、数据备份导出SQL文件第一步&#xff1a;登录MySQL第二步&#xff1a;选中数据库第三步&#xff1a;数据导出SQL文件 二、还原SQL文件第一步&#xff1a;登录MySQL第二步&#xff1a;创建数据库第三步&#xff1a;选中数据库第三步&#xff1a;终端命令行语…