程序员的公众号:源1024,获取更多资料,无加密无套路!
最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上
如果我们在实际工作中只备份了oradata文件夹下的数据文件,那我们该怎么在新机器上操作来还原数据库数据呢?
首先安装Oracle数据库,具体操作可以参考:
Docker安装Oracle之踩坑记
我们安装好Oracle数据库以后,来进行以下操作
进入容器
Docker exec -it oracle11g bash
登录数据库,用sysdba连接
//登录
sqlplus /nolog
//连接
conn /as sysdba
然后关闭数据库
shutdown abort
再替换oradata文件,注意宿主机、容器都替换!
宿主机内文件替换直接cp即可。
容器内文件替换,用docker cp将宿主机文件复制到容器内即可。
可以使用命令
docker cp ./ oracle11g:/home/oracle/app/oracle/oradata/helowin/
需要注意的是容器内的文件记得要设置回原来的 用户:用户组
可使用命令进行设置
chown -R oracle:oinstall helowin
然后启动数据库
startup
如果遇到报错:控制文件版本不一致的问题,直接在oracle层执行以下命令即可
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
用Navicat重新连接数据库查看恢复效果。
系列文章索引
MyBatis的插件能在哪些地方进行拦截?
了解MyBatis的缓存机制吗
面试官:谈谈对volatile的理解
Spring中用到了哪些设计模式
面试官:说一下SQL的执行过程
线程池的工作原理