测试在 Oracle 下直接 rm dbf 数据文件并重启数据库

创建一个新的表空间并创建新的用户,指定新表空间为新用户的默认表空间

create tablespace zzw datafile '/oradata/cesdb/zzw01.dbf' size 10m;

zzw用户已经创建过,这里修改其默认表空间

alter user zzw quota unlimited on zzw;
alter user zzw default tablespace zzw;  

创建一个简单的测试表

CREATE TABLE t1 (id INT NOT NULL,name VARCHAR(50),
);INSERT INTO t1 (id, name) VALUES (1, 'Alice');
INSERT INTO t1 (id, name) VALUES (2, 'Bob');
INSERT INTO t1 (id, name) VALUES (3, 'Charlie');
INSERT INTO t1 (id, name) VALUES (4, 'David');
INSERT INTO t1 (id, name) VALUES (5, 'Emily');insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;SQL> select count(*) from t1;

接下来创建给表空间添加新的数据文件并插入数据

alter tablespace zzw add datafile '/oradata/cesdb/zzw02.dbf ' size 1m;
select file_id,file_name,bytes/1024/1024 from dba_data_files where tablespace_name='ZZW';SQL> insert into t1 select * from t1;10240 rows created.SQL> insert into t1 select * from t1;20480 rows created.SQL> insert into t1 select * from t1;40960 rows created.SQL> insert into t1 select * from t1;81920 rows created.SQL> insert into t1 select * from t1;163840 rows created.SQL> insert into t1 select * from t1;
insert into t1 select * from t1
*
ERROR at line 1:
ORA-01653: unable to extend table ZZW.T1 by 128 in tablespace ZZW

现在删除数据文件

$ mv /oradata/cesdb/zzw02.dbf /oradata/cesdb/zzw02.dbf_bak

再次插入数据显示已经找不到dbf数据库文件了

SQL> insert into t1 select * from t1;
insert into t1 select * from t1*
ERROR at line 1:
ORA-01116: error in opening database file 6
ORA-01110: data file 6: '/oradata/cesdb/zzw02.dbf '
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

这时连shutdown immediate关库都关不掉了

SQL> shutdown immediate
ORA-01116: error in opening database file 6
ORA-01110: data file 6: '/oradata/cesdb/zzw02.dbf '
ORA-27041: unable to open file
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3

只能用 shutdown abort 关闭数据库了

SQL> shutdown abort
ORACLE instance shut down.

因为数据文件丢失启动数据库只能起到mount状态

SQL> startup
ORACLE instance started.Total System Global Area 3240239104 bytes
Fixed Size                  2257600 bytes
Variable Size            2030046528 bytes
Database Buffers         1191182336 bytes
Redo Buffers               16752640 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
ORA-01110: data file 6: '/oradata/cesdb/zzw02.dbf '

然后先 offline 这个数据文件再打开数据库

SQL> alter database datafile 6 offline;Database altered.SQL> alter database open;Database altered.

重建数据文件的语法

SQL> alter database create datafile 6;Database altered.#or
#alter database create datafile '//oradata/cesdb/zzw02.dbf'  [as '/oradata/cesdb/zzw02.dbf'];

recover 恢复数据文件

SQL> recover datafile 6;
Media recovery complete.

online 数据文件

alter database datafile 6 online;

查看数据文件是否onilne

SQL>  select file#,status from v$datafile_header where file#=6;FILE# STATUS
---------- ----------6 ONLINESQL> select COUNT(*) from t1;COUNT(*)
----------327708

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK企业级日志分析平台——logstash

部署 新建一台虚拟机elk4部署logstash [rootelk4 ~]# yum install -y jdk-11.0.15_linux-x64_bin.rpm[rootelk4 ~]# yum install -y logstash-7.6.1.rpm 命令方式 [rootelk4 bin]# /usr/share/logstash/bin/logstash -e input { stdin { } } output { stdout {} } elasticsearc…

使用骨传导耳机会伤耳朵吗?一文读懂骨传导耳机有哪些优点

首先说明,如果是正确的使用骨传导耳机是不会伤耳朵。 一、骨传导耳机的传声原理是什么? 声音的传播需要介质,传统的耳机是通过空气来进行传播,也被称为“空气传导耳机”,而骨传导耳机最大的特别之处就在于&#xff0…

AcWing 3384:二叉树遍历(依先序序列建树,输出中序序列) ← DFS

【题目来源】https://www.acwing.com/problem/content/3387/【题目描述】 编写一个程序,读入用户输入的一串先序遍历字符串,根据此字符串建立一个二叉树(以指针方式存储)。 例如如下的先序遍历字符串:abc##de#g##f###&…

录像机IP地址设置教程:轻松掌握网络连接方法

随着科技的发展,现在的录像机都具备了网络连接的功能,可以通过设置IP地址实现远程和监控。但是很多人对于录像机IP地址的设置方法感到困惑。虎观代理小二二将在本文详细介绍录像机IP地址的设置步骤,帮助您轻松掌握网络连接方法。 首先&#x…

DFS序和欧拉序的降维打击

1. DFS 序和时间戳 1.1 DFS 序 定义:树的每一个节点在深度优先遍历中进、出栈的时间序列。 如下树的 dfs 序就是[1,2,8,8,5,5,2,4,3,9,9,3,6,6,4,7,7,1]。 下图为生成DFS的过程。对于一棵树进行DFS序,除了进入当前节点时对此节点进行记录,…

多线程Thread(初阶二:Thread类及常⻅⽅法)

目录 一、Thread 的常⻅构造⽅法 继承Thread代码: 实现Runnable接口代码: 二、Thread 的⼏个常⻅属性 1、id: 2、获取线程的名字。 3、进程的状态: 4、在java中设置的优先级, 5、是否后台线程, 6、是否存活&a…

ubuntu22.04 arrch64版在线安装node

脚本 #安装node#下载node、npm国内镜像(推荐)# 判断是否安装了nodeif type -p node; thenecho "node has been installed."elsemkdir -p /home/zenglg cd /home/zenglgwget https://registry.npmmirror.com/-/binary/node/v10.14.1/node-v10.…

Linux系统编程 day04 文件和目录操作

Linux系统编程 day04 文件和目录操作 1. 文件IO1.1 open 函数1.2 close函数1.3 read函数1.4 write函数1.5 lseek函数1.6 errno变量1.7 文件示例1 读写文件1.8 文件示例2 文件大小的计算1.9 文件示例3 扩展文件大小1.10 文件示例4 perror函数的使用1.11 阻塞与非阻塞的测试 2. 文…

关于「光学神经网络」的一切:理论、应用与发展

/目录/ 一、线性运算的光学实现 1.1. 光学矩阵乘法器 1.2. 光的衍射实现线性运行 1.3. 基于Rayleigh-Sommerfeld方程的实现方法 1.4. 基于傅立叶变换的实现 1.5. 通过光干涉实现线性操作 1.6. 光的散射实现线性运行 1.7. 波分复用(WDM)实现线性运…

Educoder中MATLAB数值计算与符号计算

第1关:数据处理 a[20 5 7 19 23 14 25 67 23 12]; %%%%%%%%% Begin %%%%%%%% smaxmax(a); sminmin(a); smeanmean(a); smedianmedian(a); ssumsum(a); %%%%%%%%% End %%%%%%%%% m[smax;smin;smean;smedian;ssum]; disp(m); 第2关:多项式计算与数值微积…

脉冲幅度调制信号的功率谱计算

本篇文章是博主在通信等领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在通信领域笔记&#xf…

风口下的危与机:如何抓住生成式AI黄金发展期?

回顾AI的发展历程,我们见证过几次重大突破,比如2012年ImageNet大赛的图像识别,2016年AlphaGo与李世石的围棋对决,这些进展都为AI的普及应用铺设了道路。而ChatGPT的出现,真正让AI作为一个通用的产品,走入大…

Linux | 创建 | 删除 | 查看 | 基本命名详解

Linux | 创建 | 删除 | 查看 | 基本命名详解 文章目录 Linux | 创建 | 删除 | 查看 | 基本命名详解前言一、安装Linux1.1 方法一:云服务器方式1.2 方法二:虚拟机方式 二、ls2.2 ll 三、which3.1 ls -ld 四、pwd五、cd5.1 cd .\.5.2 ls -al5.3 重新认识命…

程序员兼职需要收藏的防坑技巧

不管你是刚刚上车的新职员,还是职场经营多年的老手,在零散时间,通过兼职搞一点零花钱,充实一下自己的生活,这是在正常不过的事情,但是很多同学害怕兼职有风险,被骗或者说找不到门路,…

优思学院|质量工程师在汽车行业待遇好吗?

优思学院认为质量工程师在汽车行业的待遇有可能相对较好的。随着中国汽车品牌在国内市场的崛起,特别是在电动汽车领域的增长,质量工程师在保障产品质量和安全性方面变得非常重要。由于中国汽车制造商对产品质量的高度重视,质量工程师在制定和…

AC自动机(简单模板)

AC自动机,就相当于是在字典树上用kmp。next数组回退的位置为最大匹配字符串在字典树上的节点位置。 在获取字典树上的next数组的时候用的是BFS每次相当与处理的一层。 下图中红线为,可以回退的位置,没有红线的节点回退的位置都是虚拟原点。…

基于C#实现线段树

一、线段树 线段树又称"区间树”,在每个节点上保存一个区间,当然区间的划分采用折半的思想,叶子节点只保存一个值,也叫单元节点,所以最终的构造就是一个平衡的二叉树,拥有 CURD 的 O(lgN)的时间。 从…

关于同一接口有多个不同实现的设计方案

关于同一接口有多个不同实现的设计方案 前言 最近公司做了一个银行相关的项目,告诉我公司对接了多个银行的支付,每个银行都有对应的接口要去对接,比如:交易申请,交易取消,支付,回单&#xff0…

rabbitMQ发布确认-交换机不存在或者无法抵达队列的缓存处理

rabbitMQ在发送消息时,会出现交换机不存在(交换机名字写错等消息),这种情况如何会退给生产者重新处理?【交换机层】 生产者发送消息时,消息未送达到指定的队列,如何消息回退? 核心&…

麒麟KYSEC使用方法05-命令设置密码强度

原文链接:麒麟KYSEC使用方法05-命令设置密码强度 hello,大家好啊,今天给大家带来麒麟KYLINOS的kysec使用方法系列文章第五篇内容----使用命令设置密码强度,密码强度策略有两个文件需要修改,pwquality.conf/login.defs&…