本文整理自网络,侵删。
在客户端远程备份的文件保存在数据库所在主机上,不会直接拷贝到客户端。
——————————————————————————————————————————
首先无论你的Oracle服务器是Linux还是windows操作系统,Oracle的备份和恢复操作都是使用DBMS_DUMP来实现导入(备份)和导出(恢复)。首先你要安装好PL/SQL,用PL/SQL来执行我下面提供的JOB就可以实现了。
一、Oracle的导出(备份)
1、用PLSQL连接Oracle数据库服务器,使用你需要导出的用户连接Oracle数据库服务器,执行下面语句备份:
declare h1 NUMBER; l1 varchar2(20); begin h1 :=dbms_datapump.open (operation => 'EXPORT', job_mode =>'SCHEMA', job_name => 'JOB_EXP1', version =>'COMPATIBLE'); dbms_datapump.set_parallel(handle=> h1, degree => 1); dbms_datapump.add_file(handle=> h1, filename => 'EXPDAT.LOG', directory =>'DATA_PUMP_DIR', filetype => 3); dbms_datapump.set_parameter(handle=> h1, name => 'KEEP_MASTER', value => 0); dbms_datapump.metadata_filter(handle=> h1, name => 'SCHEMA_EXPR', value => 'IN(''CHY'')'); dbms_datapump.add_file(handle=> h1, filename => 'CHYDB.DMP',directory => 'DATA_PUMP_DIR', filetype => 1); dbms_datapump.set_parameter(handle=> h1, name => 'INCLUDE_METADATA', value => 1); dbms_datapump.set_parameter(handle=> h1, name => 'DATA_ACCESS_METHOD', value =>'AUTOMATIC'); dbms_datapump.set_parameter(handle=> h1, name => 'ESTIMATE', value => 'BLOCKS'); dbms_datapump.start_job(handle=> h1, skip_current => 0, abort_step => 0); dbms_datapump.wait_for_job(handle=> h1, job_state => l1); dbms_datapump.detach(handle=> h1); end;
2、注意:
A、'IN(''CHY'')' 中的CHY为PL\SQL登陆的用户名,待备份的用户,注意用大写。
B、filename=> 'CHYDB.DMP'中的CHYDB是指定的备份出的dmp文件名称,注意用大写。
3、待plsql中执行完成,从下面查询获取备份文件的路径,并将dmp文件可以拷贝出来
代码如下:
SELECTdirectory_path FROM dba_directories WHEREdirectory_name='DATA_PUMP_DIR';
4、Oracle的导出(备份)完成了。
二、Oracle的导入(恢复)
1、登陆或者远程到Oracle服务器,将Oracle的备份文件(DMP文件)拷贝到指定路径下,路径的获取用下面的SQL语句:
代码如下:
SELECT directory_path FROMdba_directories WHERE directory_name='DATA_PUMP_DIR';
书籍
2、在Oracle服务器创建用户,一般用Oracle工具em创建用户
相关阅读 >>
intellij datagrip oracle 11g远程连接的方法步骤
更多相关阅读请进入《oracle》频道 >>
数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
相关推荐
评论
管理员已关闭评论功能...
- 欢迎访问木庄网络博客
- 可复制:代码框内的文字。
- 方法:Ctrl+C。