Linux服务器上的oracle数据导入和导出

Posted liuzhen07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux服务器上的oracle数据导入和导出相关的知识,希望对你有一定的参考价值。

背景:

在同一台Linux服务器上,有两个数据库用户,分别为:database1,database2,如何把database1用户下面的所有的表和数据,导入到database2数据库(database2为新创建的用户,没有创建任何表,是一个空的数据库)

 

操作步骤:

1、创建数据库用户database2(注:这里只创建新的数据库用户database2,database1数据库用户已经存在,并且database1用户已有表和数据)

登录数据库linux服务器,切换成oracle用户(这里说的oracle指的是数据库的一个管理员用户名,角色是sysdba),操作如下:

su - oracle

sqlplus / as sysdba;  -- 输完后回车,可以进入sqlplus客户端,进行SQL语句操作

create user database2 identifield by 123456;

grant connect, resource, dba to database2;

alter user database2 default tablespace PB_DATA;

 

2、创建文件导出的目录,database1用户下的表数据,导出后的文件,将会保存在这个目录下

SQL > create directory PB_DUMP as ‘\usr\history\data\exoport‘;

PB_DUMP是linux系统中\usr\history\data\exoport目录的别名,通过上面SQL语句创建后,信息会保存在oracle的目录表中,可以查询表select * from dba_directories中的DIRECTORY_NAME字段值确认,对应的路径是DIRECTORY_PATH字段。

 

3、创建导出脚本

cat > exp_database1_table_data.par

输入如下内容,保存的脚本文件为exp_database1_table_data.par

userid = ‘oracle / as sysdba‘

directory = PB_DUMP

dumpfile = exp_database1_table_data_20180101.dmp

logfile = exp_database1_table_data_20180101.log

schemas = database1

cluster = n

参数说明:directory参数是一个目录名称, PB_DUMP是步骤2中所创建的oracle目录,也就是导出后的dmp文件保存在这个目录下。dumpfile是导出后的数据文件的名称;logfile是导出日志,导出过程中所打印的日志信息会保存在这里;schemas参数值是即将要导出数据的源数据库用户名。

 

4、创建导入脚本

cat >imp_database2_table_data.par

输入如下内容,保存的脚本文件为imp_database2_table_data.par

userid = ‘oracle / as sysdba‘

directory = PB_DUMP

dumpfile = exp_database1_table_data_20180101.dmp

logfile = exp_database1_table_data_20180101.log

remap_schemas = database1 :database2

cluster = n

参数说明:remap_schemas的参数值database1 :database2,表示把database1用户下的数据导入到database2用户下(数据文件,来源于从database1用户中已导出的exp_database1_table_data_20180101.dmp)

 

5、执行导出命令(执行完下面的命令后,数据库用户database2下将会有表和数据,来源于database1)

expdp parfile = imp_database2_table_data.par

 

以上是关于Linux服务器上的oracle数据导入和导出的主要内容,如果未能解决你的问题,请参考以下文章

oracle的imp使用方法

求教linux 下oracle数据的导入导出方法详细步骤

linux 下使用exp/imp 或者expdp/impdp导出导入oracle数据表数据

linux下mysql数据的导出和导入(实用于大数据库)

linux下怎么用exp和imp导出和导入指定的oracle数据库表?

服务器上的oracle数据库 要导出带有clob字段的表 如何导出?