一位同事不小心把数据表空间的一个dbf文件脱机了,脱机了之后他再从其他数据库环境复制了一份dbf文件到这个环境中并替换了它,直接导致数据库无法正常使用,先在梳理一下整个处理过程:
首先本人是第一次接触这个数据库修复,对Oracle其实并不懂,网上搜索一堆资料:
https://blog.csdn.net/zhou920786312/article/details/71192389:介绍了oracle体系结构+数据文件+控制文件+重做日志文件+逻辑存储结构+表空间。这里可以重点研究一下Oracle的那几个常见的表空间。
对Oracle有了一些基础的了解之后,在搜索了一些常用的sql及命令:
select * from user_tablespace; --查看用户所有的表空间
select * from dba_data_files; --查看表空间物理文件
select * from dba_free_space; --查看表空间空闲块
select * from dba_temp_files; --查看临时表空间物理文件
--查看表空间物理文件的利用率(网上百度)
--查看临时表空间物理文件使用率(网上百度)
导出数据:exp tms/tms_2019@TMSDB file=tms.dmp log=tms.log buffer=64000 owner=tms;
导入数据:imp tms/tms_2019@TMSDB file=tms.dmp log=tms.log buffer=64000 fromuser=tms touser=tms data_only=y;
至此,算是对Oracle有了基础的了解,然后按照15年的投产手册,先删除了数据库,然后重新安装,并把其他数据库里面的数据导入到这个新的数据库中,问题解决。