oracle备份数据库
1. 连接远程数据库
打开cmd
执行sqlplus/nolog
执行connect 用户名/密码@IP:端口/服务名
例:connect system/ETYY@114.116.211.102:1521/ETYY
2. 创建directory,首先要保证存在该文件夹
create directory 名字 as '路径';
例:create directory expdir as 'E:\expdir';
3. 授权
grant read,write on directory expdir to 用户;
例:grant read,write on directory expdir to yl_etyy;
4. 执行导出
1)exp 用户名/密码@IP:端口/服务名 file=路径:文件名 owner=(用户),只导出该用户下的表
例:exp yl_etyy/sx_etyy@114.116.211.102:1521/ETYY file=E:\20220224.dmp owner=(yl_etyy)
2)expdp 用户名/密码@IP:端口/服务名 schemas=用户名 directory=expdir dumpfile=文件名
例:expdp yl_etyy/sx_etyy@114.116.211.102:1521/ETYY schemas=yl_etyy directory=expdir dumpfile=20220224.dmp
说明:第二种方式在远程备份的时候执行报错了,错误信息:
连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Pr
With the Partitioning, OLAP, Data Mining and Real Application Testing
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-29283: 文件操作无效
ORA-06512: 在 "SYS.UTL_FILE", line 488
ORA-29283: 文件操作无效等类似的错误。
网上查询资料解释是:expdp只能在服务器端执行,在客户端执行会出现上述错误
参考另一篇笔记:expdp,impdp导出导入远程数据库到本地
5. oracle导出导入指定表
从源数据库导出:
exp user1/pwd@server1 file=c:\temp\exp.dmp tables=(table1, table2)
导入到目标数据库:
imp user2/pwd@server2 file=c:\temp\exp.dmp tables=(table1, table2)
导入到指定用户下:
imp user/pwd@IP:端口/服务名 file=c:\temp\exp.dmp fromuser=用户名 touser=用户名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统