Oracle数据库用户数据完整备份与恢复
Oracle数据库用户数据完整备份与恢复
- 备份:
1.1 PL/SQL->工具->导出用户对象,选项如图
常用的用户对象包括:
TABLE,SEQUENCE,VIEW,PACKAGE,TYPE,FUNCTION,PROCEDURE,PACKAGE BODY,TREGGER
1.2 PL/SQL->工具->导出表,选项如图
上一步中导出的表中没有数据,所以这一步是要导出表中的所有数据
至此,备份完成,通常SQL文件大也只有几兆,PDE文件有上百兆。
2.恢复
2.1 由于上面我们导出的是一个用户下完整的数据,所以如果要恢复的数据库里面有这个用户,我们首先执行删除用户及用户下所有数据的操作,并结束相关进程,脚本如下:
drop user lqpvplmuser cascade;
select sid,serial# from v$session where username='username';
alter system kill session '150,9019';
2.2 创建用户并赋予权限,脚本如下:
CREATE USER username PROFILE "DEFAULT" IDENTIFIED BY "tyinteplm" ACCOUNT UNLOCK;
GRANT "CONNECT" TO username;
GRANT "RESOURCE" TO username;
grant create cluster to username;
grant create database link to username;
grant create procedure to username;
grant create sequence to username;
grant create table to username;
grant create trigger to username;
grant create type to username;
grant create view to username;
grant debug any procedure to username;
grant debug connect session to username;
grant select any dictionary to username;
2.3 打开一个命令窗口,将备份好的SQL文本内容复制到命令窗口执行,这一步是创建所有的用户对象,包括表,存储过程,函数,序列…… 但是此时表中是没有数据的
2.4 导入表
在PL/SQL->工具->导入表
将会依次执行 禁止所有触发器,禁止所有外键约束,删除所有表数据,插入所有表数据,启用外键约束,启用触发器的操作。
导入用户对象通常几分钟就能解决,导入表中的数据通常要几十分钟甚至几个小时。
当然,上述导出的文件大小和导入所需要的时间都是针对我平常的工作所言,只是起一个参考作用。具体的要视大家的数据量和电脑性能而定。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~