Oracle数据文件物理删除后的恢复
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,做系统管理的都是这样,难免会误删文件,某天要是把某个Oracle数据文件删除,那该如何恢复呢?(这里数据库是OPEN的,并且未关闭)建立测试表空间创建测试用户插入测试数据删除数据文件恢复数据库文件建立
千家信息网最后更新 2025年01月20日Oracle数据文件物理删除后的恢复
做系统管理的都是这样,难免会误删文件,某天要是把某个Oracle数据文件删除,那该如何恢复呢?(这里数据库是OPEN的,并且未关闭)
建立测试表空间
创建测试用户
插入测试数据
删除数据文件
恢复数据库文件
建立测试表空间
SQL> select name from v$datafile;NAME--------------------------------------------------------------------------------/opt/oracle/oradata/member/system01.dbf/opt/oracle/oradata/member/sysaux01.dbf/opt/oracle/oradata/member/undotbs01.dbf/opt/oracle/oradata/member/users01.dbfSQL> create tablespace test datafile '/opt/oracle/oradata/member/test01.dbf' size 10m;Tablespace created.SQL> select name from v$datafile;NAME--------------------------------------------------------------------------------/opt/oracle/oradata/member/system01.dbf/opt/oracle/oradata/member/sysaux01.dbf/opt/oracle/oradata/member/undotbs01.dbf/opt/oracle/oradata/member/users01.dbf/opt/oracle/oradata/member/test01.dbf
2.创建测试账户
SQL> create user test identified by test default tablespace test;SQL> grant connect,resource to test;
3.插入测试数据
SQL> conn test/testSQL> create table t1(id int);SQL> insert into t1 values(1);SQL> select * from t1; ID---------- 1
4.删除数据文件
[oracle@db2 ~]$ rm -f /opt/oracle/oradata/member/test01.dbf[oracle@db2 ~]$ sqlplus test/testSQL> create table t2 as select * from t1;create table t2 as select * from t1 *ERROR at line 1:ORA-01116: error in opening database file 5ORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'ORA-27041: unable to open fileLinux-x86_64 Error: 2: No such file or directoryAdditional information: 3SQL> select table_name,tablespace_name from user_tables;TABLE_NAME TABLESPACE_NAME------------------------------ ------------------------------T1 TEST
数据文件被删除了,这怎么办呢?这个时候千万别重启数据库,否则数据就丢失了
5.数据文件恢复
[oracle@db2 ~]$ ps -ef |grep dbw0oracle 3309 1 0 12:07 ? 00:00:00 ora_dbw0_memberoracle 6217 5105 0 15:29 pts/0 00:00:00 grep dbw0#找到ora_dbw0_SID的进程号3309[oracle@db2 ~]$ cd /proc/3309/fd#以上3309就是进程号,然后执行ls -al查看文件的链接
可以看到文件27就是被删除的文件
[oracle@db2 fd]$ cp 27 /opt/oracle/oradata/member/test01.dbf
查看test表空间状态
SQL> select name,status from v$datafile;NAME STATUS---------------------------------------- -------/opt/oracle/oradata/member/system01.dbf SYSTEM/opt/oracle/oradata/member/sysaux01.dbf ONLINE/opt/oracle/oradata/member/undotbs01.dbf ONLINE/opt/oracle/oradata/member/users01.dbf ONLINE/opt/oracle/oradata/member/test01.dbf ONLINE
下线test01表文件
SQL> alter database datafile '/opt/oracle/oradata/member/test01.dbf' offline;SQL> recover datafile '/opt/oracle/oradata/member/test01.dbf';Media recovery complete.SQL> alter database datafile '/opt/oracle/oradata/member/test01.dbf' online;Database altered.
#以上就成功恢复了,若是出现
SQL> recover datafile '/opt/oracle/oradata/member/test01.dbf';ORA-00283: recovery session canceled due to errorsORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'ORA-01157: cannot identify/lock data file 5 - see DBWR trace fileORA-01110: data file 5: '/opt/oracle/oradata/member/test01.dbf'
则有可能是/opt/oracle/oradata/member/test01.dbf文件的权限问题引起,在root用户下
[root@db2 ~]# chown -R oracle.oinstall /opt/oracle/oradata/member/test01.dbf 再recover datafile '/opt/oracle/oradata/member/test01.dbf'
实验完成后,删除测试用户及测试表空间
SQL> drop user test cascade;SQL> drop tablespace test INCLUDING CONTENTS AND DATAFILES;
文件
数据
测试
空间
数据库
用户
就是
进程
成功
下线
怎么办
时候
权限
状态
系统
若是
要是
账户
链接
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全保护制度怎么分级
网络安全知多少团团邀你来答题
linux多线程服务器并发机制
3g网络安全
东城机房服务器回收行情价格
我的世界服务器一直无法连接
新津国家网络安全
家庭服务器软路由nas
北京智能巡检软件开发价钱
怎么可制作软件开发
新一代服务器服务商
工业网络技术班徽
松江区合格软件开发诚信合作
数据库备份价值
应用软件开发是属于小型微
双阳区智能网络技术服务推荐咨询
dnf数据库查询
网络安全四个禁止
高级网络技术是什么
电话工作过程中的网络技术
数据库的最大空间1
从管理上抓服务器
谢希仁《计算机网络技术》
小程序js 连接阿里云数据库
服务器4核16g带宽5m
江西中汇网络技术公司天眼查
黯黑网络技术团队
mc服务器生存
网络技术应用有什么
生物信息数据库建立的原因