29.重建控制文件
1.前言
在oracle的运维过程中,时常会遇到一些场景需要重建控制文件,以下是通过复制控制文件到新路径,运行一段时间后,再用老的控制文件启动数据库重现。
2.步骤
SQL> shutdown abort ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2098112 bytes Variable Size 218106944 bytes Database Buffers 373293056 bytes Redo Buffers 6287360 bytes Database mounted. SQL> alter database backup controlfile to trace; ##这里会生产一个trace文件,该文件中有一些控制文件的创建语句 Database altered. SQL> oradebug setmypid Statement processed. SQL> oradebug tracefile_name /s01/oracle/admin/cxywdb/udump/cxywdb_ora_3983.trc ##这个是trace文件的位置 SQL> shutdown abort ORACLE instance shut down. SQL> startup nomount; ORACLE instance started. Total System Global Area 599785472 bytes Fixed Size 2098112 bytes Variable Size 218106944 bytes Database Buffers 373293056 bytes Redo Buffers 6287360 bytes SQL> @control.sql ##这里应该是上面创建控制语句的sql文件(用vim创建一个控制文件) Control file created. SQL> select status from v$instance; STATUS ------------ MOUNTED SQL> recover database; Media recovery complete. SQL> alter database open; Database altered.
创建控制文件的官方文档:https://docs.oracle.com/cd/B28359_01/server.111/b28310/control003.htm#ADMIN10064
精华参考:https://cloud.tencent.com/developer/article/1681540
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '/oracle/backup/control.bkp'; ##这里备份的是格式为二进制文件
alter database backup controlfile to trace as '/tmp/control_bak';
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现