Oracle数据的导入导出(按照表)

合集下载

oracle 导出导入操作

oracle 导出导入操作

oracle 导出导入操作基础知识:一、数据导出(exp.exe)1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中exp system/accp@orcl file=d:\daochu.dmp full=y2、将数据库orcl中scott用户的对象导出exp scott/accp@orcl file=d:\daochu.dmp owner=(scott)3、将数据库orcl中的scott用户的表emp、dept导出exp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)4、将数据库orcl中的表空间testSpace导出exp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)二、数据导入(imp.exe)1、将d:\daochu.dmp 中的数据导入orcl数据库中。

imp system/accp@orcl file=d:\daochu.dmp full=y2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。

imp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y3、将d:\daochu.dmp中的表emp导入imp scott/accp@orcl file=d:\daochu.dmp tables=(emp)ok,现在尝试导出数据首先查看字符集select userenv(‘language’) from dual;分别查看字符集是否相同,不相同的话更改一致,否则不能正常导入我在执行过程中出现错误error: ora-12712(解决办法)shutdown immediate;startup mount;ALTER SESSION SET SQL_TRACE=TRUE;ALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;ALTER DATABASE OPEN;set linesize 120;alter database character set zhs16gbk;RROR at line 1:ORA-12712: new character set must be a superset of old character setALTER DATABASE character set INTERNAL_USE zhs16gbk;ALTER SESSION SET SQL_TRACE=FALSE;shutdown immediate;STARTUP执行导出命令exp scott/cat@orcl wner=scott direct=y file=scott.dmp执行成功后将scott.dmp 拷贝至目标数据库执行导入命令imp scott/cat@orcl fromuser=scott touser=scott ignore=y file=d:\jzz.DMP。

Oracle中的导入导出表及数据

Oracle中的导入导出表及数据

Oracle中的导入导出表及数据Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。

exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能可以构建两个相同的数据库。

1.用plsql实现1.1使用plsql连接oracle,点击工具——导出表1.2选择要导出的表1.3可执行文件在C:\oracle\product\10.2.0\db_1\bin 目录下导出是exp 导入是imp导出的为dmp文件1.4导入文件:点击工具——导入表在导入文件中选择要导入的表确认后点击导入2.用dos命令实现2.1Windows——R——cmd2.2输入dos命令:exp youngtop_us/ail@192.168.0.46/orcl10g file=F:/fileSys.dmp log=F:/fileSys.logstatistics=none tables=file_attach,file_tree,file_permissionps:exp user/password@主机地址file=存储位置log=存储位置statistics=none tables=tablename3.将数据导出到excel表中及将excel表数据导入数据库3.1选中要导出数据的表右键——查询数据3.2选中表中的数据邮件——复制到excel3.3在excel中保存3.4可以不按照数据库中的字段存放顺序,编辑形成Excel表中的数据3.5选中要导入的数据后另存一份txt文档3.6在plsql中点击工具——文本导入器进入到文本导入器的页面后,先点击“来自文本文件的数据”选项卡,然后点击打开按钮,选择数据录入.txt文件3.7在配置中进行配置如果不将标题名勾选上,则会导致字段名也当做记录被导入到数据库中,影响正确录入3.8点击导入按钮将数据导入oracle数据库中。

(Oracle管理)Oracle 数据泵导出和导入

(Oracle管理)Oracle 数据泵导出和导入

(Oracle管理)Oracle 数据泵导出和导入Oracle10g数据导入导出简介Oracle10g引入了DATAPUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATAPUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。

DATAPUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。

注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的。

以下是DATAPUMP的几个优点介绍:1.数据泵(DataPump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。

2.通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。

3.数据泵通过新的API来建立和管理,这些新的工作主要由DBMS_DATAPUMP来完成。

新的导入/导出工具完全成为了一个客户端应用,通过IMPDP/EXPDP执行的命令实际上都是在调用Server端的API在执行操作,所以一旦一个任务被调度或执行,客户端就可以退出连接,任务会在server端继续执行,随后通过客户端实用程序从任何地方检查任务的状态和进行修改创建DIRECTORY按表空间导出:Expdpsystem/mingyue@HS2008dumpfile=tablespace_test.dmptablespaces=HS_HIS_DATA,HS_HIS_IDXlogfi le=tablespace_test.logdirectory=TEST_EXPDPjob_name=hs_hisjob6;导出整个数据库:expdpsystem/mingyue@HS2008dumpfile=full.dmpfull=ylogfile=full.logdirectory=TEST_EXPDPjob_name =hs_hisjob6;使用exclude,include导出数据Include导出用户中指定类型的指定对象仅导出hs_his用户下以HISFU开头的所有表包含与表相关的索引,备注等不包含过程等其它对象类型:expdphs_his/handsome@HS2008dumpfile=include_1.dmplogfile=include_1.logdirectory=TEST_EXPDP job_name=job_hisjob7include=TABLE:\"LIKE\'HISFU%\'\";导出hs_his用户下排除HISFU开头的所有表:expdpsystem/mingyue@HS2008schemas=hs_hisdumpfile=include_1.dmplogfile=include_1.logdirecto ry=TEST_EXPDPjob_name=job_hisjob7include=TABLE:\"NOTLIKE\'HISFU%\'\";仅导出hs_his用户下的所有存储过程:expdpsystem/mingyue@HS2008schemas=hs_hisdumpfile=include_1.dmplogfile=include_1.logdirectory= TEST_EXPDPjob_name=job_hisjob7include=PROCEDURE;Exclude导出用户中指定类型的指定对象导出hs_his用户下除出TABLE类型以外的所有对象,如果表不导出那么与表相关的索引,约束等与表有关联的对象类型也不会被导出:expdpsystem/mingyue@HS2008schemas=hs_hisdumpfile=exclude_1.dmplogfile=exclude_1.logdirect ory=TEST_EXPDPjob_name=job_hisjob7exclude=TABLE;导出hs_his用户下排除HISFU开头的所有表:expdphs_his/handsome@HS2008dumpfile=include_1.dmplogfile=include_1.logdirectory=TEST_EXPD Pjob_name=job_hisjob7exclude=TABLE:\"LIKE\'HISFU%\'\";导出hs_his用户下的所有对象,但是对于表类型只导出以HISFU开头的表:expdphs_his/handsome@HS2008dumpfile=include_1.dmplogfile=include_1.logdirectory=TEST_EXPD Pjob_name=job_hisjob7exclude=TABLE:\"NOTLIKE\'HISFU%\'\";注意:1.如果content=data_only那么导出时就不能使用exclude,include 2.LINUX及UNIX对于特殊字符都要加一个转义字符如’()等这些字符在参考连接:/edeed/blog/item/9e3b9e2fb2209c3b1f308915.html http:///hzfsai/blog/item/8f1c2d4c4cd346f7d62afcab.html。

Oracle导入与导出(即备份与恢复)

Oracle导入与导出(即备份与恢复)
TABLESPACES 将传输的表空间列表
在没有警告的情况下成功终止导出。
IMP jwd/jwd@ps D:\DD\PHARMACY.DMP FULL=Y ****************
********************************
3. 导出工具exp非交互式命令行方式的例子
$exp scott/tiger tables=emp,dept file=/directory/scott.dmp grants=y
说明:把scott用户里两个表emp,dept导出到文件/directory/scott.dmp
$exp scott/tiger tables=emp query=\"where job=\'salesman\' and sal\<1600\" file=/directory/scott2.dmp
参数文件username.par内容
userid=username/userpassword
buffer=8192000
compress=n
grants=y
说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改
filesize指定生成的二进制备份文件的最大字节数
(可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等)
4. 命令参数说明
关键字 说明(默认)
---------------------------------------------------
USERID 用户名/口令
FULL 导出整个文件 (N)
Oracle支持三种类型的输出:

oracle导入导出参数

oracle导入导出参数

oracle导入导出参数摘要:1.Oracle 导入导出参数的概念与作用2.Oracle 导入导出参数的分类3.Oracle 导入导出参数的具体使用方法4.Oracle 导入导出参数的注意事项5.Oracle 导入导出参数的实际应用案例正文:一、Oracle 导入导出参数的概念与作用Oracle 是一款广泛应用于企业级数据管理的关系型数据库管理系统,其强大的数据处理能力深受用户喜爱。

在Oracle 中,导入导出参数是一种用于控制导入导出过程的设置,可以帮助用户更精确地完成数据导入导出操作。

参数可以用于控制数据的传输方式、数据字符集、数据类型等,从而确保数据的准确性和完整性。

二、Oracle 导入导出参数的分类Oracle 导入导出参数主要分为以下几类:1.数据源参数:这类参数主要用于指定数据源的类型、位置、用户名和密码等信息,以便Oracle 能够正确连接到数据源并读取数据。

2.数据传输方式参数:这类参数用于控制数据传输的方式,如批量导入、多线程导入等,以提高数据导入的效率。

3.数据字符集参数:这类参数用于指定数据的字符集,以便Oracle 能够正确识别和处理数据中的字符。

4.数据类型参数:这类参数用于指定数据的类型,以便Oracle 能够将数据正确地插入到目标表中。

5.其他参数:除了上述几类参数之外,还有其他一些参数,如错误处理参数、日志记录参数等,用于控制导入导出过程中的各种设置。

三、Oracle 导入导出参数的具体使用方法在使用Oracle 导入导出参数时,需要按照以下步骤进行操作:1.登录到Oracle 数据库管理系统,并进入SQL*Plus 或SQL Developer 等工具。

2.在工具中,使用"SELECT * FROM v$parameter"语句查询当前所有的参数设置。

3.根据需要,修改相应的参数值。

例如,如果要修改数据源参数,可以使用"ALTER PARAMETER"语句,如:"ALTER PARAMETER dat 源_parameTER = "新值""。

Oracle分区表数据导入导出

Oracle分区表数据导入导出

导入导出Oracle 分区表数据-- 导入导出 Oracle 分区表数据--****************************导入导出Oracle 分区表数据是Oracle DBA 经常完成的任务之一。

分区表的导入导出同样普通表的导入导出方式,只不过导入导出需要考虑到分区的特殊性,如分区索引,将分区迁移到普通表,或使用原始分区表导入到新的分区表。

下面将描述使用imp/exp,impdp/expdp导入导出分区表数据。

有关分区表的特性请参考:Oracle 分区表SQL server 2005 切换分区表SQL server 2005 基于已存在的表创建分区有关导入导出工具请参考:数据泵EXPDP 导出工具的使用数据泵IMPDP 导入工具的使用有关导入导出的官方文档请参考:Original Export and Import一、分区级别的导入导出可以导出一个或多个分区,也可以导出所有分区(即整个表)。

可以导入所有分区(即整个表),一个或多个分区以及子分区。

对于已经存在数据的表,使用imp导入时需要使用参数IGNORE=y,而使用impdp,加table_exists_action=append | replace 参数。

二、创建演示环境1.查看当前数据库的版本SQL>select*from v$version where rownum < 2;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production2.创建一个分区表 select * from user_tab_partitions; 查询有分区的表SQL>alter session set nls_date_format='yyyy-mm-dd';SQL>CREATE TABLE tb_pt (sal_date DATE NOT NULL,sal_id NUMBER NOT NULL,sal_row NUMBER(12)NOT NULL)partition by range(sal_date)(partition sal_11 values less than(to_date('2012-01-01','YYYY-MM-DD')),partition sal_12 values less than(to_date('2013-01-01','YYYY-MM-DD')),partition sal_13 values less than(to_date('2014-01-01','YYYY-MM-DD')),partition sal_14 values less than(to_date('2015-01-01','YYYY-MM-DD')),partition sal_15 values less than(to_date('2016-01-01','YYYY-MM-DD')),partition sal_16 values less than(to_date('2017-01-01','YYYY-MM-DD')),partition sal_other values less than (maxvalue)) nologging;3.创建一个唯一索引CREATE UNIQUE INDEX tb_pt_ind1ON tb_pt(sal_date) nologging;4.为分区表生成数据SQL>INSERT INTO tb_ptSELECT TRUNC(SYSDATE)+ROWNUM, dbms_random.random, ROWNUMFROM dualCONNECT BY LEVEL<=5000;SQL>commit;SQL>select count(1)from tb_pt partition(sal_11);COUNT(1)----------300SQL>select count(1)from tb_pt partition(sal_other);COUNT(1)----------2873SQL>select*from tb_pt partition(sal_12)where rownum < 3;SAL_DATE SAL_ID SAL_ROW--------- ---------- ----------01-JAN-12 -1.356E+09 30102-JAN-12 -761530183 302三、使用exp/imp导出导入分区表数据1.导出整个分区表[oracle@node1 ~]$ exp scott/tiger file='/u02/dmp/tb_pt.dmp'log='/u02/dmp/tb_pt.log' tables=tb_ptExport: Release 11.2.0.1.0 - Production on Wed Mar 9 13:52:18 2011Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing oExport done in US7ASCII character set and AL16UTF16 NCHAR character setserver uses ZHS16GBK character set (possible charset conversion)About to export specified tables via Conventional Path .... . exporting table TB_PT. . exporting partition SAL_11 300 rows exported. . exporting partition SAL_12 366 rows exported. . exporting partition SAL_13 365 rows exported. . exporting partition SAL_14 365 rows exported. . exporting partition SAL_15 365 rows exported. . exporting partition SAL_16 366 rows exported. . exporting partition SAL_OTHER 2873 rows exportedEXP-00091: Exporting questionable statistics.EXP-00091: Exporting questionable statistics.Export terminated successfully with warnings.[oracle@node1 ~]$ oerr exp 0009100091, 00000, "Exporting questionable statistics."// *Cause: Export was able export statistics, but the statistics may not be// usuable. The statistics are questionable because one or more of// the following happened during export: a row error occurred, client// character set or NCHARSET does not match with the server, a query// clause was specified on export, only certain partitions or// subpartitions were exported, or a fatal error occurred while// processing a table.// *Action: To export non-questionable statistics, change the client character// set or NCHARSET to match the server, export with no query clause,// export complete tables. If desired, import parameters can be// supplied so that only non-questionable statistics will be imported,// and all questionable statistics will be recalculated.在上面的导出中出现了错误提示,即EXP-00091,该错误表明exp工具所在的环境变量中的NLS_LANG与DB中的NLS_CHARACTERSET不一致尽管该错误对最终的数据并无影响,但调整该参数来避免异常还是有必要的。

Oracle导入导出数据的几种方式

Oracle导入导出数据的几种方式

Oracle导⼊导出数据的⼏种⽅式oracle导⼊导出数据1.导出dmp格式⽂件--备份某⼏张表exp smsc/smsc file=/data/oracle_bak/dmp/bakup0209_2.dmp tables=\(send_msg_his,send_msg,recv_msg_his,recv_msg\)--备份整个数据库--⽅式1exp smsc/smsc file=/data/oracle_bak/dmp/bakupsmmc0209_2.dmp full=y--⽅式2exp cop/cop@133.96.84.39:1521/coprule file=/home/oracle/cop_20160902.dmp owner=cop log=/home/oracle/cop.log--本机上exp zop/zop@orcl file= D:\zop_bak.dmp owner=zop log=D:\zop_ba.log2.导⼊dmp格式⽂件--数据的导⼊--1 将D:\daochu.dmp 中的数据导⼊ TEST数据库中。

imp system/manager@TEST file=d:\daochu.dmpimp aichannel/aichannel@TEST full=y file=d:\datanewsmgnt.dmp ignore=y--上⾯可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进⾏导⼊。

-- 在后⾯加上 ignore=y 就可以了。

--2 将d:daochu.dmp中的表table1 导⼊imp system/manager@TEST file=d:\daochu.dmp tables=(table1)--基本上上⾯的导⼊导出够⽤了。

不少情况要先是将表彻底删除,然后导⼊。

注意:操作者要有⾜够的权限,权限不够它会提⽰。

数据库时可以连上的。

可以⽤tnsping TEST 来获得数据库TEST能否连上。

Oracle数据库导入导出命令总结

Oracle数据库导入导出命令总结

Oracle数据库导入导出命令总结Oracle数据库导入导出命令总结执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle中,安装目录\\ora9i\\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件是被包装后的类文件。

SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例。

数据导出:1将数据库zxcc完全导出,用户名kf密码zx导出到D:\\zxcc.dmp中expkf/zx@zxccfile=d:\\zxcc.dmpfull=yfull=y表示全库导出。

full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

2将数据库zxcc中kf用户与cc用户的表导出expkf/zx@zxccfile=d:\\zxcc_ur.dmpowner=(kf,cc)full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。

3将数据库zxcc中的表kf_operator、kf_role导出expkf/zx@zxccfile=d:\\zxcc_tb.dmptables=(kf_operator,kf_role)tables=xx表示备份相关表,不能同时和owner、full使用。

4将数据库中的表kf_operator中的字段oper_id以"00"打头的数据导出expkf/zx@zxccfile=d:\\zxcc_t.dmptables=(kf_operator)query=\\"whereop er_idlike"00%"\\"query主要是导出合适条件的数据。

oracle数据库导入导出命令

oracle数据库导入导出命令

Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。

大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。

Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过Net Configuration Assistant添加正确的服务命名,其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。

你同样可以把dmp文件从本地导入到远处的数据库服务器中。

利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\$ora10g\BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

oracle用java编写,我想SQLPLUS.EXE、EXP.EXE、IMP.EXE这俩个文件是被包装后的类文件。

SQLPLUS.EXE调用EXP.EXE、IMP.EXE他们所包裹的类,完成导入导出功能。

下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。

数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp 中exp system/manager@TEST file=d:\daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)3 将数据库中的表table1 、table2导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。

oracle数据的导入导出(两种方法三种方式)

oracle数据的导入导出(两种方法三种方式)

oracle数据的导⼊导出(两种⽅法三种⽅式)⼤概了解数据库中数据的导⼊导出。

在oracle中,导⼊导出数据的⽅法有两种,⼀种是使⽤cmd命令⾏的形式导⼊导出数据,另⼀种是使⽤PL/SQL⼯具导⼊导出数据。

1,使⽤cmd命令⾏导⼊导出数据 1.1整库导出 整库导出:exp 管理员账号/密码 full=y;//参数full表⽰整库导出。

导出后会在当前⽬录下⽣成⼀个EXPDAT.DMP的⽂件,此⽂件为备份⽂件。

如果想导出数据到指定位置,并且取个名字,需要添加file参数。

例如:exp system/123456 file= C:\person.dmp full=y。

1.2整库导⼊ 整库导⼊:imp 管理员账号/密码 full=y file=C:\person.dmp。

1.3使⽤cmd命令按⽤户导出导⼊ 1.3.1 按⽤户导出:exp 管理员账号/密码 owner=⽤户名 file=C:\person.dmp。

1.3.2 按⽤户导⼊:imp 管理员账号/密码 file=C:\person.dmp fromuser=⽤户名。

1.4使⽤cmd命令按表导出导⼊ 1.4.1按表导出:exp 管理员账号/密码 file=person.dmp tables=t_person,t_student。

1.4.2按表导⼊:imp 管理员账号/密码 file =person.dmp tables=t_person,t_student。

2.)使⽤PL/SQL 开发⼯具导出导⼊数据 pl/sql⼯具包含三种⽅式导出oracle表结构和表数据,分别为:oracle export,SQL inserts,pl/sql developer。

它们的含义如下: 第⼀种oracle export:导出的是.dmp格式的⽂件,.dmp⽂件是⼆进制⽂件,可以跨平台,包含权限等。

第⼆种SQL inserts :导出的是.sql格式的⽂件,可以⽤⽂本编辑器查看,通⽤性⽐较好,效率不如第⼀种,适合⼩数据量的导⼊导出。

oracle数据库备份(导入导出dmp)

oracle数据库备份(导入导出dmp)
(c) Copyright 2000 Oracle Corporation. All rights reserved.
连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
附录一:
给用户增加导入数据权限的操作
第一,启动sql*puls
第二,以system/manager登陆
JServer Release 8.1.7.0.0 - Production
经由常规路径导出由EXPORT:V08.01.07创建的文件
已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)
. 正在将AICHANNEL的对象导入到 AICHANNEL
远程
exp scott/tiger@192.168.0.1:1521/kims file=e:\dc.dmp
导入:
imp aichannel/aichannel@HUST full=y file=d:\data\newsmgnt.dmp ignore=y
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

ORACLE导出导入(exp和imp)总结

ORACLE导出导入(exp和imp)总结

1.1 EXP AND IMP导入导出的模式a表模式的导入导出b用户模式的导入导出c全库模式的导入导出导出表模式exp system/jaguar@cfp00_cpzb2003 tables=(cp.misywt14,cp.misywt18) file=d:\t8.dmplog=d:\t14t18_exp.log feedback=10000 compress=n用户模式exp system/jaguar@cfp00_cpzb2003 owner=cp file=e:\cp.dmp log=e:\cp_exp.logfeedback=10000 compress=n全库模式exp system/jaguar@bkup full=y filesize=2000M file=(cpzb01.dmp,cpzb02.dmp)log=cpzb_exp.log feedback=10000 compress=n使用参数文件导出(需要在当前路径下执行)exp system/manager@bgd-11_yang1 parfile=t09_exp.part09_exp.par文件内容tables = (test1.misywt09) file=e:\yang\t09.dmp log=e:\yang\t09_exp.log feedback=10000 compress=n快速导出使用参数direct=y recordlength=65535exp system/jaguar@cfp00_cpzb2003 owner=cp file=e:\cp.dmp log=e:\cp_exp.log direct=y recordlength=65535 feedback=10000 compress=n有条件的导出,windowsexp system/ckdb5@ckdb5 tables = (cp962008.misywt40_1) file=t40_96.dmp log=t40_96_exp.log feedback=10000 QUERY='where substr(ckhwh,1,1)="5"'导入表模式imp system/jaguar@cfp99_cpzb fromuser=cp touser=cp tables= (misywt14,misywt18)file=e:\t14t18.dmp log=e:\t14t18_imp.log ignore=y buffer=5120000 commit=yfeedback=10000用户模式imp system/jaguar@cfp99_cpzb fromuser=cp touser=cp file=d:\cp.dmp log=d:\cp_imp.log ignore=y buffer=5120000 commit=y feedback=10000全库模式imp system/jaguar@cfp99_cpzb full=y file=d:\cp.dmp log=d:\cp_imp.log ignore=ybuffer=5120000 commit=y feedback=10000导入大于2G的文件imp system/jaguar@cfp10_cpzbbak filesize=2000M buffer=81920 commyit=y ignore=yfile=(cpzb01.dmp,cpzb02.dmp,cpzb03.dmp,cpzb04.dmp) log=cpzb_imp.log feedback=10000使用参数文件导入(需要在当前路径下执行)imp system/manager@bgd-11_yang1 parfile=t09_imp.part09_imp.par 文件的内容fromuser=test1 touser=test1 tables=(misywt09) file=e:\yang\t09.dmp log=e:\yang\t09_imp.log ignore=y buffer=5120000 commit=y feedback=10000imp步骤说明(1) create table (2) insert data (3) create index (4) create triggers,constraints导出导入常见问题及解决方法1) unix上导出导入,使用多个用户或多个文件时不使用()2) ORACLE不同版本之间的导出导入oracle8.0.4 netwareoracle8.1.5 win2000oracle8.1.7 unix ware 7.1.18.0.4――>8.1.7使用8.0.4从自己导出,使用8.1.5导入8.1.78.1.7――>8.0.4使用8.1.5从8.1.7 导出,使用8.1.5导入8.0.48.1.5――>8.1.7使用8.1.5从自己导出,使用8.1.5导入8.1.78.1.7――>8.1.5使用8.1.7从自己导出,使用8.1.7导入8.1.5oracle8-oracle10之间导入导出的关系1个表的测试oracle8->oracle10test 源数据库目的数据库导出的oracle版本导入的oracle版本文件大小时间结果备注test18 10 8 8 成功有垃圾表BIN$bEheaq87S/q9CiHem/Ty6Q==$0test28 10 8 10 成功test38 10 10 8 失败10无法连接8test48 10 10 10 失败10无法连接8 结论:oracle8->oracle10 导出使用8,导入使用10oracle10->oracle8test 源数据库目的数据库导出的oracle版本导入的oracle版本文件大小时间结果备注test510 8 8 8 成功test610 8 8 10 失败10无法连接8test710 8 10 8 失败8不能读取10得导出文件test810 8 10 10 失败10无法连接8 结论:oracle10->oracle8 导出使用8,导入使用8使用oracle8导出oracle10时,出现错误EXP-00003: 未找到段(10,585868) 的存储定义原因:不能用oracle8导出oracle10。

oracle使用expdp、impdp和exp、imp导入导出表及表结构

oracle使用expdp、impdp和exp、imp导入导出表及表结构

oracle使⽤expdp、impdp和exp、imp导⼊导出表及表结构使⽤expdp、impdp和exp、imp时应该注重的事项:1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。

3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。

4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。

exp、imp导⼊导出sqlplus 进⼊数据库中导出直接在命令⾏下写命令1.导出⾃⼰的表exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1.dmp2.导出其它⽅案的表如果⽤户要导出其它⽅案的表,则需要dba的权限或是exp_full_database的权限,⽐如system就可以导出scott的表exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.emp3. 导出表的结构exp userid=scott/tiger@accp tables=(emp) file=/opt/e3.dmp rows=n4. 使⽤直接导出⽅式exp userid=scott/tiger@accp tables=(emp) file=/opt/e4.dmp direct=y这种⽅式⽐默认的常规⽅式速度要快,当数据量⼤时,可以考虑使⽤这样的⽅法。

这时需要数据库的字符集要与客户端字符集完全⼀致,否则会报错导出⽅案导出⽅案是指使⽤export⼯具导出⼀个⽅案或是多个⽅案中的所有对象(表,索引,约束...)和数据。

并存放到⽂件中1. 导出⾃⼰的⽅案exp userid=scott/tiger@myorcl owner=scott file=/opt/scott.dmp2. 导出其它⽅案如果⽤户要导出其它⽅案,则需要dba的权限或是exp_full_database的权限,⽐如system⽤户可以导出任何⽅案exp userid=system/manager@myorcl owner=(system,scott) file=/opt/system.dmp导出数据库导出数据库是指利⽤export导出所有数据库中的对象及数据,要求该⽤户具有dba的权限或者是exp_full_database权限增量备份(好处是第⼀次备份后,第⼆次备份就快很多了)exp userid=system/manager@myorcl full=y inctype=complete file=/opt/all.dmp导⼊1. 导⼊⾃⼰的表imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp2. 导⼊表到其它⽤户要求该⽤户具有dba的权限imp_full_database imp userid=system/tiger@myorcl tables=(emp) file=/opt/xx.dmp touser=scott3. 导⼊表的结构,只导⼊表的结构⽽不导⼊数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp rows=n4. 导⼊数据如果对象(如⽐表)已经存在可以只导⼊表的数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp ignore=y导⼊⽅案导⼊⽅案是指使⽤import⼯具将⽂件中的对象和数据导⼊到⼀个或是多个⽅案中。

oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)

oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)

oracle数据库导出和oracle导⼊数据的⼆种⽅法(oracle导⼊导出数据)⽅法⼀:利⽤PL/SQL Developer⼯具导出:菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可:⽅法⼆:利⽤cmd的操作命令导出,详情如下:1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN⽬录下有个tnsname.ora⽂件,内容如下:复制代码代码如下:CMSTAR =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = cmstar)))其中:CMSTAR为数据库名,HOST为IP地址,所以可以仿效上⾯的例⼦⼿动添加数据录连接。

2:⽤cmd进⼊命令⾏输⼊:tnsping cmstar就是测试172.18.13.200是否连接成功3:导⼊与导出,如下:数据导出:1 将数据库TEST完全导出,⽤户名system 密码manager 导出到D:\daochu.dmp中exp system/manager@TEST file=d:\daochu.dmp full=y2将数据库中system⽤户与sys⽤户的表导出expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)3将数据库中的表table1、table2导出expsystem/manager@TESTfile=d:\daochu.dmptables=(table1,table2)4将数据库中的表table1中的字段filed1以"00"打头的数据导出expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\"wherefiled1like'00%'\"上⾯是常⽤的导出,对于压缩我不太在意,⽤winzip把dmp⽂件可以很好的压缩。

oracle导入导出参数,ORACLE数据导入导出里的EXPIMP命令参数

oracle导入导出参数,ORACLE数据导入导出里的EXPIMP命令参数

oracle导⼊导出参数,ORACLE数据导⼊导出⾥的EXPIMP命令参数1、EXP:1、完全:EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:/FULL.DMP FULL=Y如果要执⾏完全导出,必须具有特殊的权限2、⽤户模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP OWNER=SONIC这样⽤户SONIC的所有对象被输出到⽂件中。

3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP OWNER=SONIC TABLES=(SONIC)这样⽤户SONIC的表SONIC就被导出exp参数:关键字 说明(默认)----------------------------------------------USERID ⽤户名/⼝令FULL 导出整个⽂件 (N)BUFFER 数据缓冲区的⼤⼩OWNER 所有者⽤户名列表FILE 输出⽂件 (EXPDAT.DMP)TABLES 表名列表COMPRESS 导⼊⼀个范围 (Y)RECORDLENGTH IO 记录的长度GRANTS 导出权限 (Y)INCTYPE 增量导出类型INDEXES 导出索引 (Y)RECORD 跟踪增量导出 (Y)ROWS 导出数据⾏ (Y)PARFILE 参数⽂件名CONSTRAINTS 导出限制 (Y)CONSISTENT 交叉表⼀致性LOG 屏幕输出的⽇志⽂件STATISTICS 分析对象 (ESTIMATE)DIRECT 直接路径 (N)TRIGGERS 导出触发器 (Y)FEEDBACK 显⽰每 x ⾏ (0) 的进度FILESIZE 各转储⽂件的最⼤尺⼨QUERY 选定导出表⼦集的⼦句2、IMP:具有三种模式(完全、⽤户、表)1、完全:IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:/FULL.DMP FULL=Y2、⽤户模式:IMP SONIC/SONIC BUFFER=64000 FILE=C:/SONIC.DMP FROMUSER=SONIC TOUSER=SONIC 这样⽤户SONIC的所有对象被导⼊到⽂件中。

oracle数据库表空间创建导入导出

oracle数据库表空间创建导入导出

oracle数据库表空间创建导⼊导出1、表空间创建--删除表空间drop tablespace EVPBDMGIS including contents and datafiles;--删除⽤户drop user EVPBDMGIS cascade;--创建表空间create tablespace EVPBDMGIS datafile 'D:\app\Administrator\oradata\orcl\EVPBDMGIS.DBF' size 500m reuse autoextend on next 16m maxsize unlimited logging extent management local segment space management auto;--创建⽤户设置默认表空间create user EVPBDMGIS identified by EVPBDMGISdefault tablespace EVPBDMGIStemporary tablespace temp;--设置⽤户权限grant connect,resource,exp_full_database,imp_full_database to EVPBDMGIS ;--查询当前连接⽤户--select username,sid,serial# from v$session--清除连接⽤户--alter system kill session '223,50256'2、导⼊、导出--导出表结构exp sjcg/sjcg@orcl owner=sjcg file=D:\sjcg0727schema.dmp rows=n compress=n--导出命令:exp ⽤户名/密码@数据库 owner=⽤户名 file=⽂件存储路径(如:F:\abcd.dmp)exp sjcg/sjcg@orcl file=D:\sjcg_ev_20190124.dmp owner=sjcg--导⼊命令:imp ⽤户名/密码@数据库 fromuser=⽤户名 touser=⽤户名 file=d:\cu.dmp ignore=yimp hzuhvproj/hzuhvproj@orcl fromuser=hzuhvproj touser=hzuhvproj file=D:\Temp.dmp ignore=y--导⼊指定表imp sjcg/sjcg@orcl tables=(ev_t_bc_lineproperty,ev_t_bc_mapobject,ev_t_bc_mapobjectproperty,ev_t_bc_station)file=D:\Temp\SJCG0122schema.dmpcu/mycu@db:导⼊的数据库登陆(⽤户名/密码@数据库)fromuser:⽂件的指定⽤户touser:指定导⼊到当前登录的数据库某个⽤户file:需要导⼊的数据⽂件ignore:是否忽略创建错误--登录不区分⼤⼩写alter system set sec_case_sensitive_logon=false--解锁⽤户ALTER USER username ACCOUNT UNLOCK;。

Oracle 数据导入导出

Oracle 数据导入导出

一.连接对方数据库开始菜单——程序——Oracle-OraceHome90——ConfigurationAndMigrationTools——NetConfigurationAssistant,如图:图1打开界面按下列图操作:图2选择本地网络服务名配置,点击下一步:选择“添加”点击下一步:选择“Oracle8i或更高版本数据库或服务”点击下一步:图5视具体情况,填写服务器名称如:c508cjw,其服务器的选择由需要连接的对方数据库名称而定,名称可由下列方法查找:图6打开对方机器上的Enterprise Manager Console,点击数据库——点击所需数据库,出现上图界面其中SERVICE-NAME=后为服务器名称。

下一步,选择TCP选项,点击下一步:图7出现界面如下图,填写主机名,主机名为图6中HOST=后的名称。

图8点击下一步。

选择调试点击下一步:出现下列界面:图10 界面显示调试成功,点击下一步:任意输入一个名称,原则是没有重名,便于理解。

下一步,如果不配置另外网络服务名则选否,下一步。

显示完成配置。

数据导入和导出数据导出:打开开始菜单——点击运行——输入CMD确定如果只知道用户名,不知道用户密码:输入exp system/manager@服务名owner=username File=路径:\文件名.dmp如果知道用户名和密码:输入exp 用户名/密码@服务名file=路径:\文件名.dmp数据导入:打开开始菜单——点击运行——输入CMD确定如果知道用户名和密码:输入imp 用户名/密码@服务名fromuser=用户名(文件所属用户)file=路径:\文件名.dmp如果只知道用户名,或用户没有相应权限:输入imp system/manager@服务名fromuser=用户名(文件所属用户)file=路径:\文件名.dmp。

Oracle导入和导出

Oracle导入和导出

Oracle提供两个工具imp.exe 和exp.exe分别用于导入和导出数据。

这两个工具位于Oracle_home/bin目录下。

导出数据exp1 将数据库ATSTestDB完全导出,用户名system 密码123456 导出到c:\export.dmp中exp system/123456@ATSTestDB file=c:\export.dmp full=y其中ATSTestDB为数据库名称,system为该数据库里的账户,123456为其密码。

2 将数据库中system用户与sys用户的所有相关资源导出(表,存储过程,方法,视图等等)exp system/123456@ATSTestDB file= c:\export.dmp owner=(system,sys)3 将数据库中的表sys.table1、owbsys.table2导出exp system/123456@ATSTestDB file= c:\export.dmp tables=( sys.table1, owbsys.table2)注意,需要加上表的schema名称,如果没有加的话默认是导当前connected用户的表,当然你连接上去的账户要对相应的表有权限。

4 将数据库中的表table1中的字段Title以"GangGe"打头的数据导出exp system/123456@ATSTestDB file= c:\export.dmp tables=(table1) query=\" where Title like 'GangGe%'\"斜杠“\”后面跟冒号是为了转义字符冒号”““用的,因为后面是一条条件查询语句。

Query参数只能指定一个,如果Query要为多张表,所以同样,tables里面也只能有一张表,或者多张表,然后query里面的条件在这些表上面都可以运行。

否则只好多写几条exp语句了。

oracle数据库的导入和导出

oracle数据库的导入和导出

2.1.2.2数据库表的导入首先准备好数据库的备份文件,如E:\jainsure.dmp的文件。

1.打开“开始”—“运行”—输入“cmd”,在光标所在出输入imp回车,之后提示输入用户名:jainsure;密码:123(是第一步创建的用户名和密码)成功后显示如下图2.在“导入文件”后输入:E:\jainsure.dmp 回车然后再依次回车,等看到提示输入,“用户名:”再输入“jainsure回车。

此用户名:为数据库备份文件导出时的用户名。

回车然后等待数据导完。

3.可以用批处理文件来实现bat语句如下:imp.exe insure=E:\jainsure.dmp buffer=30720 fromuser=jainsure touser=jainsure log=D:\2.log(其中fromuser为源数据库的用户名,即touser为将要导入的用户名)2.1.2.3数据库表的导出1.打开“开始”—“运行”—输入“cmd”,在光标所在出输入exp回车,之后提示输入用户名:jainsure;密码:123。

(是第一步创建的用户名和密码)回车。

2.在导出文件,expdat.dmp>后面输入导出的路径和名称,如D:\jainsure.dmp,回车直到提示”要导出的用户“>输入jainsure。

回车等待数据导完。

3.可以用批处理文件来实现bat语句如下:exp jainsure/123@insure file ='d:\ttinsure.dmp‘log=d:\1.log (其中jainsure/123为要导出的数据表的用户名和密码,@后面的为数据库的全局名,file后面的为存放的路径。

)2.2前置机的配置前置机的功能分为两部分:一部分是连接中心工作站点客户端访问数据库;另一部分是连接HIS的接口。

而且这两部分的功能并存的,所以跟这两部分功能都相同的配置都要完整。

2.2.1连接客户端访问数据库时前置机的配置1.安装oracle的database企业版或cilent客户端。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一直有个问题困扰我,在创建数据库的时候没有选择模拟数据(emp,dept……)后来尝试几次从其他的数据库中导出导入过来,但是都没能成功。今天做的比较顺利,现在将导出导入的步骤以及遇到的问题和解决方法一一写出来。
1.在一个有emp表的数据库中进行操作
---------------------------------------------------------------------------------
导入完成
在scott用户下查看表是否存在
desc emp或select table_name from user_tables;
完成!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
C:\Documents and Settings\Administrator>exp scott/oraclቤተ መጻሕፍቲ ባይዱ
Export: Release 10.2.0.1.0 - Production on 星期日 1月 31 13:19:16 20
Copyright (c) 1982, 2005, Oracle. All rights reserved.
压缩区 (yes/no): yes >
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
服务器使用 AL32UTF8 字符集 (可能的字符集转换)
即将导出指定的表通过常规路径...
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > emp
. . 正在导出表 EMP导出了 14 行
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) > dept
. . 正在导出表 DEPT导出了 4 行
With the Partitioning, OLAP and Data Mining options
导入文件: EXPDAT.DMP> D:\m.dmp
输入插入缓冲区大小 (最小为 8192) 30720>
经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
要导出的表 (T) 或分区 (T: P): (按 RETURN 退出) >
成功终止导出, 没有出现警告。
------------------------------------------------------------------------------
导出完成
2.在ocp10g中导入刚刚导出的表到scott用户下
-----------------------------------------------------------
导入的时候出现了问题,无权限
进到system下,查询scott用户的权限都有哪些
先查看dba_sys_privs中有哪些字段,以免一会儿查询的时候出现太多不需要字段
SQL>desc dba_sys_privs
只列出导入文件的内容 (yes/no): no >
由于对象已存在, 忽略创建错误 (yes/no): no >
导入权限 (yes/no): yes >
导入表数据 (yes/no): yes >
导入整个导出文件 (yes/no): no >
用户名: scott
输入表 (T) 或分区 (T: P) 名称。空列表表示用户的所有表
Import: Release 10.2.0.3.0 - Production on 星期日 1月 31 13:14:10 2016
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Productio
输入表 (T) 或分区 (T: P) 的名称或 。如果完成:
. 正在将 SCOTT 的对象导入到 SCOTT
. 正在将 SCOTT 的对象导入到 SCOTT
. . 正在导入表 "EMP"导入了 14 行
. . 正在导入表 "DEPT"导入了 4 行
发现其中的只有三个字段
SQL>select * from dba_sys_privs where grantee='SCOTT';
查询到了SCOTT的一些权限,发现有create any table
然后进到SCOTT用户下,进行创建一个表试试,但是出现了ora-01950报错(ORA-01950: 对表空间 'USERS' 无权限)。
连接到: Oracle Database 10g Release 10.2.0.1.0 - Production
输入数组提取缓冲区大小: 4096 >
导出文件: EXPDAT.DMP > D:/a.dmp
(2)U(用户), 或 (3)T(表): (2)U > 3
导出表数据 (yes/no): yes >
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: emp
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: dept
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: bonus
输入表 (T) 或分区 (T: P) 的名称或 。如果完成: salgrade
. . 正在导入表 "BONUS"导入了 0 行
. . 正在导入表 "SALGRADE"导入了 5 行
即将启用约束条件...
成功终止导入, 没有出现警告。
---------------------------------------------------------------------------------
接下来对scott赋予一下RESOURCE的系统权限
SQL>grant resource to scott;
进行建表实验,发现这次可以进行建表了,可见问题解决了
-----------------------------------------------------------
C:\Users\Administrator>imp scott/oracle@localhost/ocp10g
相关文档
最新文档