Oracle 10g dmp文件的导入导出
oracle 创建用户 及dmp文件导入
连接sha用户connect sha/admin可以创建别的用户5、查看用户权限进入sha用户connect sha/adminSelect * from user_sys_privs;可以查看到一个列表,列代表用户名权限是否可以给别的用户附加权限(N 、Y)行代表权限都有那些6、撤销用户授予的权限必须连接connect system/admin撤销权限revoke是系统撤销权限的关键词Revoke execute any procedure from sha;7、更改用户密码进入sha用户connect sha/adminPassword 输入旧密码输入新密码俩边OK或者用alter user sha identified by xinmima8、删除用户Connect system/adminDrop user sha;9、为用户授予角色Grant dba to sha;Grant connect to sha;Linux下的plsql 创建用户create user sha identified by adminDefault tablespace userTemporary tablespace temp;Granr unlimited tablespace to sha;//权限Grant dba to sha;//角色Grant connect to sha;准备工作(导出dmp文件)1.使用PL/SQL 工具--》导出用户对象,导出用户所有表,视图,存储过程等的定义2.使用PL/SQL 工具--> 导出表,导出所有表的数据这就是那个dmp文件保存好导出的sql脚本和dmp文件准备导入好了,开始导入1.删除用户drop user test cascade;2.删除全部表空间drop tablespace testdb INCLUDING CONTENTS;drop tablespace testdb_index INCLUDING CONTENTS;drop tablespace testdb_temp INCLUDING CONTENTS;3.重新创建表空间和用户并给用户授权CREATE TABLESPACE "DB_QQTB"LOGGINGDATAFILE 'D:\oracle\OraData\DB_QQTB01.ora' SIZE 2000M,'D:\oracle\OraData\DB_QQTB02.ora' SIZE 2000M, 'D:\oracle\OraData\DB_QQTB03.ora' SIZE 2000M EXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO/CREATE TABLESPACE "DB_QQTB_INDEX"LOGGINGDATAFILE 'D:\oracle\OraData\DB_QQTB_INDEX.ora' SIZE 500M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO/CREATETEMPORARY TABLESPACE "DB_QQTB_TEMP" TEMPFILE'D:\oracle\OraData\DB_QQTB_TEMP.ora' SIZE 200M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M/create user FZCXidentified by "FZCX"default tablespace DB_QQTBtemporary tablespace DB_QQTB_TEMPprofile DEFAULTquota unlimited on DB_QQTB。
导入导出dmp文件
目录目录 (1)1 说明 (1)2 导出dmp文件 (1)3 导入dmp文件 (3)3.1 环境准备 (3)3.2 执行导入 (3)1说明dmp文件为oracle数据库的数据备份文件,执行oracle数据库导出dmp文件,相当于执行数据库备份;执行导入dmp文件,相当于数据库还原。
2导出dmp文件在dos控制台下执行如下指令:exp user/password@orcl file=d:\xxx.dmp其中:user //导出数据库表空间的用户名password //对应的密码orcl //数据库服务名(SID)file //导出的dmp文件存放路径执行过程中,控制台输出:Export: Release 10.1.0.2.0 - Production on 星期一4月9 15:16:33 2012Copyright (c) 1982, 2004, Oracle. All rights reserved.Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsExport done in ZHS16GBK character set and AL16UTF16 NCHAR character set. exporting pre-schema procedural objects and actions. exporting foreign function library names for user MEDICINE. exporting PUBLIC type synonyms. exporting private type synonyms. exporting object type definitions for user MEDICINEAbout to export MEDICINE's objects .... exporting database links. exporting sequence numbers. exporting cluster definitions. about to export MEDICINE's tables via Conventional Path .... . exporting table CERTIFICATEVERRELA TION 20 rows exported . . exporting table ENTERPRISEAPTITUDESVERRELATION 4 rows exported . . exporting table SELLAPPROVECONFIG 0 rows exported . . ……. exporting synonyms. exporting views. exporting stored procedures. exporting operators. exporting referential integrity constraints. exporting triggers. exporting indextypes. exporting bitmap, functional and extensible indexes. exporting posttables actions. exporting materialized views. exporting snapshot logs. exporting job queues. exporting refresh groups and children. exporting dimensions. exporting post-schema procedural objects and actions. exporting statisticsExport terminated successfully without warnings.3导入dmp文件3.1环境准备使用sys用户,以dba角色登录oracle数据库的em,创建表空间以及访问该表空间的用户名,并赋予用户如下角色:1)connect2)dba3)EXP_FULL_DATABASE4)IMP_FULL_DATABASE5)RESOURCE并赋予下列权限3.2执行导入系统控制台下输入:imp user/psw@sid其中:user——数据库表空间的用户名psw——数据库表空间的密码sid——数据库服务名(sid)执行后窗体提示输入dmp文件路径:输入dmp文件路径后,后面提示选项使用默认值即可,具体界面如下:3.3指令解释1)imp user/psw@sid 执行导入指令;2)EXPDAT.DMP > 提示输入dmp文件路径;3)enter insert buffer size (min is 8192)30720:提示最小设置为8192,建议设置30720,可以使用30720即可;4)list contents of import file only,提示输入no。
Oracle导出表空间的创建语句、导入、导出dmp文件
Oracle导出表空间的创建语句、导⼊、导出dmp⽂件beginfor c in (select , as name2 from v$tablespace tinner join v$datafile don t."TS#"=d."TS#"where t."TS#">4)loopdbms_output.put_line( 'create tablespace '|| ||' DATAFILE '||''''||2||''''||' size 20MAUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;' );end loop;end;结果如:create tablespace EXAMPLE DATAFILE 'D:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF' size 20MAUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;create tablespace HCZZ_WEB_DATA DATAFILE 'D:\ORACLE\ORADATA\ORCL\DBF_HCZZ_WEB_DATA.DBF' size 20MAUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;create tablespace HCZZ_WEB_INDEX DATAFILE 'D:\ORACLE\ORADATA\ORCL\DBF_HCZZ_WEB_INDEX.DBF' size 20MAUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;数据库导出:--第⼀次新建数据库导⼊使⽤impdp hczz_web/password@localhost/orcl dumpfile=HCZZ_WEB_20170706.dmpimpdp hczz_web/password@221.234.25.77/orcl dumpfile=HCZZ_WEB_20180502.dmpimpdp hczz_web/password dumpfile=HCZZ_WEB_20170706.dmp--第⼆次导⼊使⽤impdp hczz_web/password dumpfile=HCZZ_WEB_20170706.dmp table_exists_action=replace--如果有替换还原新的数据库命,则执⾏----------------------impdp hczz_web_test1/password@localhost/orcl dumpfile=HCZZ_WEB_20170628.DMP table_exists_action=replace remap_schema=hczz_web:hczz_web_test1 impdp hczz_web_test1/password@localhost/orcl dumpfile=HCZZ_WEB_20170628.DMP table_exists_action=replace remap_schema=hczz_web:hczz_web_test1 impdp hczz_web_test1/password@localhost/orcl dumpfile=备份库.DMP table_exists_action=replace remap_schema=原库名:现库名创建表空间/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace yuhang_temptempfile 'D:\oracledata\yuhang_temp.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;/*第2步:创建数据表空间 */create tablespace yuhang_dataloggingdatafile 'D:\oracledata\yuhang_data.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;/*第3步:创建⽤户并指定表空间 */create user yuhang identified by yuhangdefault tablespace yuhang_datatemporary tablespace yuhang_temp;/*第4步:给⽤户授予权限 */grant connect,resource,dba to yuhang;创建⽤户DECLAREuser_name CONSTANT VARCHAR2 (64) :='hczz_web';user_password CONSTANT VARCHAR2 (64) :='password';data_tablespace_name CONSTANT VARCHAR2 (64) :='hczz_web_data';temp_tablespace_name CONSTANT VARCHAR2 (64) :='hczz_web_temp';PROCEDURE p_execcmd (v_cmd IN VARCHAR2)ASv_cursorid INTEGER;BEGINv_cursorid := DBMS_SQL.open_cursor;DBMS_SQL.parse (v_cursorid, v_cmd, DBMS_SQL.native);DBMS_SQL.close_cursor (v_cursorid);EXCEPTIONWHEN OTHERSTHENDBMS_SQL.close_cursor (v_cursorid);RAISE;END p_execcmd;BEGIN-------------------1.创建⽤户-----------------------------------------------p_execcmd ( 'CREATE USER '||user_name||' PROFILE DEFAULT IDENTIFIED BY '|| user_password||' DEFAULT TABLESPACE '|| data_tablespace_name||' TEMPORARY TABLESPACE '|| temp_tablespace_name||' ACCOUNT UNLOCK');-------------------2.授权---------------------------------------------------p_execcmd( 'GRANT CONNECT TO '||user_name||' WITH ADMIN OPTION' ); p_execcmd( 'GRANT RESOURCE TO '||user_name||' WITH ADMIN OPTION' ); ---以下慎⽤,权限过⼤p_execcmd( 'GRANT DBA TO '||user_name||' WITH ADMIN OPTION' ); END;。
toad for oracle10g数据导出与导入
一、导出表空间JZDB中用户YSL的所有表及表中数据
1.选择菜单Database/Export/Export Utility Wizard,出现如
下界面,选择Export users,下一步
2.选择要导出的用户YSL,下一步
3.选择默认设置,下一步
4.只需命名.dmp文件及选择存储路径,之后下一步
5.默认选项,下一步
6.导出成功,出现以下界面
二、导入上面导出的数据
1.创建表空间TEST_YSL_1
在Schema Browser下选择Tablespaces标签,选择“Create
Tablespace”的图标
表空间名字填TEST_YSL_1,其它默认
选择Data Files标签,选择“Add”按钮,选择“Find/Copy”,任选择一个DBF文件,将文件名改为TEST_YSL_1
Datafile size的设置如下,
选ok
选ok,创建完成
2.创建用户SUN_1
在Schema Browser下选择Tablespaces标签,选择“Create User”的图标
User Name标签
Tablespace标签
Roles标签
选择ok,创建成功
3.导入数据
选择菜单Database/Import/Import Utility Wizard,出现如下界面,选择Import users,下一步
其它默认,至这步,选择Export file name
选择Finish,导入成功。
Linux下Oracle如何导入导出dmp文件详解
Linux下Oracle如何导⼊导出dmp⽂件详解前⾔对于本机安装了oracle 客户端,下述命令都可以在 dos 执⾏,当然 dmp ⽂件导出在本地。
但在实际研发时,没⼈愿意在本机上安装庞⼤的 oracle 软件,这时你需要使⽤ Xshell/puTTY..远程⼯具连接到 Linux 进⾏操作,进⾏ Linux 上 dmp ⽂件的导⼊导出。
正⽂a. 将⽤户 system ⽤户表导出到指定路径 D 盘exp system/password@SID file=d:/daochu.dmp full=yb. 将⽤户 system 与 sys ⽤户的表导出到指定路径 D 盘exp system/password@SID file=d:/daochu.dmp owner=(system,sys)c. 将⽤户 system 中的表 table_A、table_B 导出到指定路径 D 盘exp system/password@SID file= d:/daochu.dmp tables=(table_A,table_B)d. 将⽤户 system 中的表 table1 中的字段 filed1 以"00"打头的数据导出exp system/passwor@SID filed=d:/daochu.dmp tables=(table1) query=/" where filed1 like '00%'/"对于压缩可以⽤ winzip 将 dmp ⽂件进⾏压缩,也可以在上⾯命令后⾯加上compress=y来实现。
导出 DMP⽂件适⽤于⼤型数据库完整迁移,对迁移前后两者服务器数据库字符集要求⼀致,且对CLOB字段⽀持不太友好。
对于⼩数据的导出其实⽤ PLSQL 能做的更好,更快,导出的SQL也很直观。
e. 将 D:/daochu.dmp 中的数据导⼊ TEST 数据库中。
Oracle各版本之间Dmp文件的导入导出问题
Oracle各版本之间Dmp⽂件的导⼊导出问题
经常做整个数据迁移时遇到下列问题:
1、不是有效的导出⽂件,头部验证失败;
2、EXP-00056: 遇到 ORACLE 错误 6550
ORA-06550: line 1, column 41:
PLS-00302: component 'SET_NO_OUTLINES' must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: 导出终⽌失败
关于导⼊导出问题:
1、在执⾏导出时客户端exp命令和服务器端Oracle版本要⼀致;
2、Oracle10G以上使⽤expdp、impdp
⾼版本导出dmp导⼊低版本Oralce时经常遇到“不是有效的导出⽂件,头部验证失败”这种类似错误,可以通过⼯具进⾏dmp⽂件的修改。
详细见:
导出错误:
在执⾏exp导出命令是经常遇到类似”EXP-00056: 遇到 ORACLE 错误 6550“这种错误,这⼀般是执⾏命令的客户端Oralce版本与服务器不符时,可以换个客户端解决。
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数据库备份(导入导出dmp)
连接到: 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文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
oracle11g数据库的导出导入-dp模式
1、导出数据库1)在服务器建立授权目录,用sqlplus执行如下代码进行授权,导出的数据库文件将自动放入此目录。
(或其它如plsql、seldevelope等工具的sql执行状态下)create or replace directory dumpdir as '/export/home/oracle/dpdmp';(windows系统则为d:\dpdmp)grant read,write on directory dumpdir to public;(或者grant read,write on directory dumpdir to system;)grant exp_full_database,imp_full_database to system;2) 按schema(也可理解为按用户)导出数据库(这个命令可在远端执行,不是非要在服务器本地执行。
)expdp system/123456@121.101.219.130:1521/orcl schemas=x5sys directory=dumpdir dumpfile=x5sys_20131128.dmpexpdp system/123456@121.101.219.130:1521/orcl schemas=x5doc directory=dumpdir dumpfile=x5doc_20131128.dmpexpdp system/123456@121.101.219.130:1521/orcl schemas=x5hr directory=dumpdir dumpfile=x5hr_20131128.dmpexpdp system/123456@121.101.219.130:1521/orcl schemas=bidmgr directory=dumpdir dumpfile=bidmgr_20131128.dmp3) 按表空间导出数据库(这个命令可在远端执行,不是非要在服务器本地执行。
Oracle_数据泵命令导出导入dmp文件
Oracle_数据泵命令导出导⼊dmp⽂件1. oracle命令⾏登录sqlplus pms/pms 或者 connect / as sysdba2. 查询dup存放⽬录⽬录select * from dba_directories;注意:后⾯的E盘下⾯的dpdump\ 必须把你要导⼊的xxx.dmp⽂件放进该⽂件夹3. 执⾏命令直接导⼊impdp导⼊dmp(注意:必须要有导⼊导出的,可以直接给dba权限)该命令需要在cmd的dos命令窗⼝直接执⾏,⽽不是sqlplus.exefull=y 是导⼊⽂件中全部内容ignore=y相当于,如果没有的表,创建并倒⼊数据,如果已经有的表,忽略创建的,但不忽略倒⼊impdp pms/pms@localhost:1521/orcl dumpfile=pms.dmp full=y directory=DATA_PUMP_DIR3. 执⾏命令直接导出(导出位置为DATA_PUMP_DIR这个位置)expdp pms/pms@localhost:1521/orcl dumpfile=pms.dmp full=y directory=DATA_PUMP_DIR导出⽂件:查看建⽴的⽬录Select * from dba_directories删除⽂件DROP DIRECTORY EXPNC_DIR;赋权Grant read,write on directory wly_dump to wly;导出案例1,按表导出expdp wly/wly directory=wly_dump dumpfile=wly.dmp logfile=scott.log tables=dept,emp导出案例2,按⽤户导出expdp wly/wly directory=wly_dump dumpfile=wly.dmp schemas=wly导出案例3,全库导出,且并⾏导出expdp wly/wly directory=wly_dump dumpfile=full.dmp parallel=4 full=y导⼊案例1,按表导⼊,从wly到wly2impdp wly/wly directory=wly_dump dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=wly:wly2导⼊案例2,按⽤户导⼊,从wly到wly2impdp wly/wly directory=wly_dump dumpfile=schema.dmp remap_schema=wly:wly2导⼊案例3,全库导⼊impdp wly/wlydirectory=wly_dump dumpfile=full.dmp full=y导⼊案例4,⽆落地⽂件的⽤户拷贝,需要建⽴db linkimpdp wly/wly directory=wly_dump network_link=remote_link remap_schema=wly:wly2。
dmp文件导入方法
dmp文件导入方法DMP文件导入方法介绍DMP(Data Pump)文件是Oracle数据库备份的一种形式,它包含了数据库的元数据和数据。
在某些情况下,您可能需要将DMP文件导入到另一个Oracle数据库中。
本文将详细介绍几种常用的DMP文件导入方法。
方法一:使用命令行导入1.打开命令行终端。
2.使用impdp命令进行DMP文件导入。
示例命令如下:impdp username/password@database_name directory=dir ectory_name dumpfile=dumpfile_ logfile=logfile_其中,username和password是目标数据库的用户名和密码,database_name是目标数据库的名称,directory_name是DMP文件所在的目录,dumpfile_是要导入的DMP文件的文件名,logfile_是导入操作的日志文件名。
3. 执行以上命令后,系统会提示输入导入操作的参数,如是否导入表、索引等。
根据需求输入相关参数。
4. 等待导入完成。
方法二:使用Oracle Data Pump导入1.打开Oracle SQL Developer或其他数据库管理工具。
2.连接到目标数据库。
3.在工具界面中找到“Data Pump”或类似选项,点击进入。
4.在Data Pump界面中选择“Import”选项。
5.在导入设置中,填写相关参数,如导入的DMP文件路径、目标数据库信息等。
6.点击“导入”或类似按钮,开始导入操作。
7.等待导入完成。
方法三:使用Oracle SQL Developer导入1.打开Oracle SQL Developer。
2.连接到目标数据库。
3.在左侧导航栏找到“导入导出”选项,展开。
4.选择“数据泵导入”选项。
5.在导入设置中,填写相关参数,如导入的DMP文件路径、目标数据库信息等。
6.点击“下一步”。
7.根据需要选择要导入的对象,如表、视图、过程等。
Oracle 10G 的数据迁移方案
第二种方法是使用数据泵,它对表空间是否为只读没有要求。当只需要移动指定的表而不是整个表空间时,这种方法很有用。
最后一种方法是拖出表空间,该方法把可移动表空间方法的所有步骤组合成一步操作。用这种方法复制数据非常简单,但要想调整每个具体步骤以便进行性能优化时,它为数据库管理员提供的灵活性太少。
这条命令使用数据泵导入工具将通过数据库链接srcdb(在以前的章节中已讨论过)检索到的数据加载到表中。但是,由于网络带宽通常是受到限制的,因此这种方法可能比使用导出/传输/导入周期方法要慢一些。
如果只需将特定的表或表集合进行转移,那么Lora可以在expdp命令中使用TABLES=子句来只下载特定的表或表集合。
拖出表空间
作为第三种选择,Lora建议使用Oracle数据库10g中的新工具,它简化了可移动表空间的移动方法,因此只涉及执行一个打包过程。在这种方法中,用户利用所提供的DBMS_STREAMS_TABLESPACE_ADM包从源系统中"拖?quot;表空间。这个包使用数据泵转移表空间并将数据文件转换成目标系统的格式。它还自动执行任何所需的字节顺序变换。
会议结束
针对Acme的数据仓库/数据集市体系结构,Lora提出了几种移动数据的可选方法。
第一种可选方法是使用可移动表空间,它能移动完整的表空间集合(不仅包括表,还包括索引、物化视图和其他对象)。通常它还是这三种方法中最快的一种。但是,它的一个主要缺点是对指定的表空间必须在复制文件时设置为只读。
conversion_extension => 'linux'
);
END;
该操作在后台完成了许多步骤:设置源表空间为只读;用数据泵导出工具进行一次表空间的元数据转储;用DBMS_FILE_TRANSFER包移动数据文件和转储的文件;把源表空间恢复到其最初的读写状态;使用数据泵导入工具将表空间插入到本地数据库中。由于源数据库运行在Linux上,而目标数据库运行在Solaris上,因此这一操作首先复制原始数据文件(Linux的文件格式),然后将它转换到目标平台上(Solaris)的文件格式。复制过程保持最初被转移的文件,而创建一个新文件用于转换。新文件与最初的文件同名,但具有CONVERSION_EXTENSION参数指定的linux扩展名。在目标数据库中创建的表空间为只读表空间。
两种dmp文件导入导出方法教程
dmp文件的导入导出
一、dmp文件的导入
方法一(需安装PLSQL)
1.运行PLSQL,在oracle登陆窗口输入用户名和密码登陆到数据库
2.运行工具>导入表,弹出导入对话框
3.单击下方选择文件按钮,在弹出对话框选择要导入的dmp文件,点击打开
4.在上一步执行后会返回步骤2的导入对话框,点击右下方的导入按钮即可进行导入。
之后会弹出cmd命令窗口,待该程序运行结束后导入完成。
5.查看是否导入成功,打开Tables可以看到是否导入成功
方法二(利用cmd)
1打开cmd窗口(运行>cmd),输入imp回车
2.输入用户名和密码
3.如上图所示,显示“连接到…”后,方可执行下面步骤。
输入导入文件的路径如:E:\project\zhgis.dmp
4.“输入插入缓冲区大小(yes/no)”、“只列出导入文件的内容(yes/no)”、“导入权限(yes/no)”、“导入表数据(yes/no)”、“导入整个导出文件(yes/no)”一路直接回车即可。
二.导出dmp文件
导出dmp文件与导入类似:
登陆PLSQL后,点击菜单栏>工具>导出表,在弹出窗口里,可以利用ctrl和shift 键选择要导出的表,下方“选择路径”按钮可以选择导出的路径。
oracle不同版本间数据的导入导出
oracle不同版本间数据的导入导出Oracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。
下面是据此总结的几个使用规则和相关测试:规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp 不能连接到低版本的数据库服务器--1.1 使用9i客户端通过imp连接到10g数据库C:\Documents and Settings\yuechaotian>exp userid=hdtest/test@s67 tables=(ab01) rows=n file=d:\x.dmpExport: Release 9.2.0.1.0 - Production on 星期三2月20 10:09:55 2008Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options已导出ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集注: 将不会导出表数据(行)即将导出指定的表通过常规路径.... . 正在导出表AB01在没有警告的情况下成功终止导出。
--1.2 使用10g客户端通过imp连接9i数据库:连接失败(而不是导出失败)C:\Documents and Settings\yuechaotian>exp userid=hbjb_kf_hd/test@s46 owner=hdtestfile=d:\x.dmpExport: Release 10.2.0.1.0 - Production on 星期三2月20 09:57:22 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.EX P-00056: 遇到ORACLE 错误6550ORA-06550: 第 1 行, 第41 列:PLS-00302: 必须说明''SET_NO_OUTLINES'' 组件ORA-06550: 第 1 行, 第15 列:PL/SQL: Statement ignoredEX P-00000: 导出终止失败规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件)--2.1 使用10g客户端exp出10g的数据C:\Documents and Settings\yuechaotian>exp userid=test/test@orcl owner=testfile=d:\10g.dmpExport: Release 10.2.0.1.0 - Production on 星期三2月20 11:16:39 2008Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options已导出ZHS16GBK 字符集和AL16UTF16 NCHAR 字符集服务器使用AL32UTF8 字符集(可能的字符集转换)即将导出指定的用户...……导出成功终止, 但出现警告。
orale导入导出dmp文件(详细步骤)
Oracle 10g 导入dmp文件Oracle数据导入dmp文件可以是“某个用户下的数据库”,也可以是“某张表”,这里以导入数据库为例说明:<方法1:使用客户端Enterprise Manager Console>1.用SYS用户名,以DBA的身份在ie中登入到数据库(ORACLE客户端Enterprise Manager Console)2.在方案->用户与权限->用户新建用户同时给该用户授予“角色”:CONNECT,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE授予系统权限:ALTER USER,COMMENT ANY TABLE,CREATE ANY VIEW,CREATESESSION,CREA TE USER,DELETE ANY TABLE,DROP ANY VIEW,DROP USER,UNLIMITED TABLESPACE3.在命令行下执行:eeee4.imp pg/pg@pgfs110 imp lfczj_aid/system@orcl_aid file= E:\共享\lfczj.dmp ignore = y full=yimp 用户名/口令回车填写导入文件路径:EXPDAT.DMP>c:\a.dmp输入插入缓冲区大小:默认不填回车只列出导入文件的内容:回车忽略创建错误:yes导入权限:yes导入表数据:yes导入整个导出文件:yes等待……成功终止导入,但出现警告。
例如:5.打开PLSQL Developer,用新建的用户名和口令,以normal身份登录6.在tables中可以查看导入到表7.到此结束(这个问题折腾了我两天啊)<方法2: 使用pl/sql>导出:exp username/password@服务名file=文件路径及文件名例:我的数据库pcms的用户名和密码都是mmis,服务名为pcms 我要导出到D盘下的pcms.dmp文件,可以这样写:exp lfczj_aid/system@orcl_127.0.0.1 file=E:\lfczj_0702.dmp如下图所示:。
oracle导入导出dmp文件(详细步骤)
Oracle 10g 导入dmp文件Oracle数据导入dmp文件可以是“某个用户下的数据库”,也可以是“某张表”,这里以导入数据库为例说明:<方法1:使用客户端Enterprise Manager Console>1.用SYS用户名,以DBA的身份在ie中登入到数据库(ORACLE客户端Enterprise Manager Console)2.在方案->用户与权限->用户新建用户同时给该用户授予“角色”:CONNECT,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE授予系统权限:ALTER USER,COMMENT ANY TABLE,CREATE ANY VIEW,CREATESESSION, CREATE USER,DELETE ANY TABLE,DROP ANY VIEW,DROP USER,UNLIMITED TABLESPACE3.在命令行下执行:4.imp pg/pg@pgfs110imp 用户名/口令回车填写导入文件路径:EXPDAT.DMP>c:\a.dmp输入插入缓冲区大小:默认不填回车只列出导入文件的内容:回车忽略创建错误:yes导入权限:yes导入表数据:yes导入整个导出文件:yes等待……成功终止导入,但出现警告例如:5.打开PLSQL Developer,用新建的用户名和口令,以normal身份登录6.在tables中可以查看导入到表7.到此结束(这个问题折腾了我两天啊)<方法2: 使用pl/sql>导出:exp username/password@服务名file=文件路径及文件名例:我的数据库pcms的用户名和密码都是mmis,服务名为pcms 我要导出到D盘下的pcms.dmp文件,可以这样写:exp mmis/mmis@pcms file=d:\pcms.dmp如下图所示:。
使用navicat为Oracle创建用户并导入dmp文件及导出dmp文件
使⽤navicat为Oracle创建⽤户并导⼊dmp⽂件及导出dmp⽂件
使⽤navicat为Oracle创建⽤户并导⼊dmp⽂件及导出dmp⽂件
创建表空间:
1、使⽤带有dba权限的⽤户登录oracle,最开始的⽤户是system和sys
2、新建表空间,为表空间设置⼤⼩(⼤⼩:134217728,下⼀个⼤⼩:131072000,最⼤⼤⼩:34359721984 不选单位)和路径(F:\ORACLE\TABLE),⼀定要开启⾃动扩展on,下⼀个⼤⼩指的是下次扩展⼤⼩
3、创建成功后可以在所填的路径下⾯看到新建的表空间
创建⽤户:
1、在navicat顶部菜单栏点击⽤户,新建⽤户,这⾥注意⽤户名⼀定要是⼤写
2、常规⾥⾯默认表空间选择我们刚建的表空间,不选择的话系统默认users表空间
3、成员属于⾥⾯选择connect和dba,dba是最⾼权限,⼀般情况下都要选择(授予,作为默认)
4、配额⾥⾯对我们刚建的表空间打勾
5、服务器权限选择create session(授予)
6、保存,⽤户创建完毕
导⼊dmp⽂件:(没⽤navicat导⼊过,⼀般选择使⽤命令⾏⽅式或者plsql)
1、打开cmd命令⾏,输⼊如下命令,建议填写⽇志路径,有什么问题⼀⽬了然
imp ⽤户名/密码@localhost:1521/orcl file=dmp⽂件路径 log=⽇志存放路径 full = y
2、这就创建好了,如果表有什么异常的话,查看⽇志,可以单独处理
导出dmp⽂件:
exp ⽤户名/密码@localhost:1521/orcl file=dmp⽂件路径。
oracle数据库导入导出方法
oracle数据库导⼊导出⽅法Oracle Database 10g以后引⼊了最新的数据泵(Data Dump)技术,使DBA或开发⼈员可以将数据库元数据(对象定义)和数据快速移动到另⼀个oracle数据库中。
数据泵导出导⼊(EXPDP和IMPDP)的作⽤ 1、实现逻辑备份和逻辑恢复。
2、在数据库⽤户之间移动对象。
3、在数据库之间移动对象 4、实现表空间搬移。
数据泵导出导⼊与传统导出导⼊的区别:在10g之前,传统的导出和导⼊分别使⽤EXP⼯具和IMP⼯具,从10g开始,不仅保留了原有的EXP和IMP⼯具,还提供了数据泵导出导⼊⼯具EXPDP和IMPDP.使⽤EXPDP和IMPDP时应该注意的事项;EXP和IMP是客户段⼯具程序,它们既可以在客户端使⽤,也可以在服务器段使⽤。
EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤IMP只适⽤于EXP导出⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出⽂件,⽽不适⽤于EXP导出⽂件。
今天我在导⼊同事给我的数据⽂件时,总是报IMP-00038错误,提⽰,⽆法转换为环境字符集句柄,造成这种错误的原因⼀般是数据库版本不匹配,但是我们使⽤的都是oracle11g,就排除了这种可能。
最后发现原因是他是使⽤数据泵导出的数据⽂件,⽽我使⽤传统imp命令导⼊是不可以的,后续改为使⽤impdp数据泵导⼊成功。
下⾯是我使⽤数据泵导⼊数据⽂件的完整过程:1、使⽤system⽤户登录数据库,创建新⽤户usertest(新建⽤户时⽤户名最好和数据⽂件导出时的⽤户名相同),表空间可以使⽤系统默认的也可以⾃⼰新建⼀个表空间。
sql代码如下:新建⽤户使⽤oracle默认表空间:create user usertest identified by usertest;新建表空间:create tablespace user_alldatafile 'D:/dev/oracle/tablespace/user_all.dbf'size 300Mautoextend onnext 50Mmaxsize unlimited新建⽤户(设置默认表空间):create user usertest identified by usertest default tablespace user_all;2、对新建的⽤户赋权限,dba、connect、resource。
当接到“dmp数据文件导入本地”的任务,应该怎么做呢?
先了解下dmp、exp、imp的身世点dmp文件是oracle的专属落地数据文件。
dmp文件是oracle通过bin工具中的exp.exe导出来的,属于二进制文件,几乎不能通过文本工具查看内容,与之对应的导入工具是bin中的imp.exe。
无论你本地装了客户端还是服务器端,都会在oracle的bin目录中找到exp.exe和imp.exe,即可以使用。
exp和imp是oracle早期的备份方式,现在有些过时了,10g后可以用expdb/impdb数据泵进行大数据传输(含并行参数)。
你可以用exp/imp备份结构,也可以备份行数据,或者完全备份整个数据库。
exp和imp在使用中有很多参数,下面是各自的例子语句,请在CMD中执行,不过要先保证你的windows知道exp/imp在哪(环境变量)。
##########例子beginexpsourceuser/sourceuser@orcl --登入验证,用户名密码和服务名,如果用户名是dba须写成'sourceuser/sourceuser@orcl as sysdba'full=y --完全模式:整个导出(默认是n)rows=n --不导出数据(默认是y,rows=n 和full=y只能选一,不然会报错EXP-00026: 指定了冲突模式注意EXP的错误标示是EXP)tables=(table1,table2,table3) --表模式:导出多张表数据或结构(注意:这些表必须属于登入验证的哪个用户,而且指定了表就不能用full=y了,不然会报错EXP-00026)compress=n --这个不是压缩!默认是y,y就是将segment的所有extents合并来减少碎片,但是导入时会导致新的初始区很大,不过如今extents都可本地管理了,所以请一定指定n!owner=(sourceuser2,sourceuser3) --用户模式:源用户列表,这种情况需要登入验证用户的权限包含owner,而且容易和full=y冲突file=E:\jd_a1.dmp --待导出dmp的路径,注意是\不是/log=E:\jd_a1.log --导出日志indexs=n --不导出索引,默认y,由于索引在导入的时候不是导入索引段,所以推荐先不导出索引,之后再新库新建最好grants=n --不导出权限,默认y,如果只要需要数据大可不导出权限imptargetuser/targetuser@orcl --登入验证,用户名密码和服务名,如果用户名是dba须做成'sourceuser/sourceuser@orcl as sysdba' 这点很容易犯错fromuser=(sourceuser2,sourceuser3) --用户模式:源用户列表touser=(targetuser2,targetuser3) --不设置则默认导入登入用户,设置则目标用户列表与源用户一一对应,否则后果严重!full=y --完全模式:整个导入(默认是n)rows=n --不导入数据(默认y,rows=n 和full=y只能选一,不然会报错EXP-00026: 指定了冲突模式注意EXP的错误标示是EXP)tables=(table1,table2,table3) --表模式:导入多张表数据或结构ignore=y --忽略创建错误file=E:\jd_a1.dmp --待导入dmp的路径,注意是\不是/log=E:\jd_a1.log --导入日志indexes=n --不导入索引,默认y,由于索引在导入的时候不是导入索引段,所以推荐先不导入索引,之后再新库新建最好grants=n --不导入权限,默认y,如果只要需要数据大可不导出权限buffer=10240000 缓冲区设置10MB挺好statistics=none 不导入统计信息注意不是n 是none##########例子end既然任务是导入,定要用imp,那还有问题吗?有:1、这dmp需要我整个导入吗?还是只导入某个用户?还是只导入结构?2、exp版本号多少,为什么要问exp版本号而不是问源数据库版本号,因为决定dmp版本的是exp这个工具,而不是数据库,你当然可以用低版本的exp/imp(是可以脱离oracle的工具)来连接高版本oracle,反之则不行,还有高版本的exp版本导出的dmp低版本imp无法识别,所以imp版本要高一些才好。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 10g dmp文件的导入导出
Posted on 2012-07-21 19:18 Winoval阅读(91) 评论(0) 编辑收藏
Oracle数据导入dmp文件可以是“某个用户下的数据库”,也可以是“某张表”,这里以导入数据库为例说明:
<方法1:使用客户端Enterprise Manager Console>
1.用SYS用户名,以DBA的身份在ie中登入到数据库(ORACLE客户端Enterprise Manager Console)
2.在方案->用户与权限->用户
新建用户
同时给该用户授予“角色”:
CONNECT,DBA,EXP_FULL_DATABASE,IMP_FULL_DATABASE,RESOURCE
授予系统权限:
ALTER USER,COMMENT ANY TABLE,CREATE ANY VIEW,CREATESESSION,
CREATE USER,DELETE ANY TABLE,DROP ANY VIEW,DROP USER,
UNLIMITED TABLESPACE
3.在命令行下执行:(一定完全按照以下步骤)
$imp 用户名/口令回车
填写导入文件路径:EXPDAT.DMP>c:\a.dmp
输入插入缓冲区大小:默认不填回车
只列出导入文件的内容:回车
忽略创建错误:yes
导入权限:yes
导入表数据:yes
导入整个导出文件:yes
等待……
成功终止导入,但出现警告。
例如:
4.打开PLSQL Developer,用新建的用户名和口令,以normal身份登录
5.在tables中可以查看导入到表
6.到此结束(这个问题折腾了一上午)
导出:
exp username/password@服务名file=文件路径及文件名
服务器名的获取:
1、先登录conn 用户名/密码
2、执行下列sql命令:select name from v$database
例:我的数据库pcms的用户名和密码都是mmis,服务名为pcms 我要导出到D盘下的pcms.dmp 文件,可以这样写:
exp mmis/mmis@pcms file=d:\pcms.dmp
SQL> $exp 用户名/密码@服务名file=路径+文件名
如下图所示:
$exp gengjingzhen/********@XE file=d:grains.dmp
大家知道Colb吗?
CLOB定义
数据库中的一种保存文件所使用的类型。
Character Large Object
SQL 类型CLOB 在JavaTM 编程语言中的映射关系。
SQL CLOB 是内置类型,它将字符大对象(Character Large Object) 存储为数据库表某一行中的一个列值。
默认情况下,驱动程序使用SQL locator(CLOB) 实现Clob 对象,这意味着CLOB 对象包含一个指向SQL CLOB 数据的逻辑指针而不是数据本身。
Clob 对象在它被创建的事务处理期间有效。
在一些数据库系统里,也使用Text 作为CLOB的别名,比如SQL Server
CLOB和BLOB的区别
CLOB使用CHAR来保存数据。
如:保存XML文档。
BLOB就是使用二进制保存数据。
如:保存位图。
JAVA里面对CLOB的操作
在绝大多数情况下,使用2种方法使用CLOB
1 相对比较小的,可以用String进行直接操作,把CLOB看成字符串类型即可
2 如果比较大,可以用getAsciiStream 或者getUnicodeStream 以及对应的setAsciiStream 和setUnicodeStream 即可
读取数据
ResultSet rs = stmt.executeQuery("SELECT TOP 1 * FROM Test1");
rs.next();
Reader reader = rs.getCharacterStream(2);
插入数据
PreparedStatement pstmt = con.prepareStatement("INSERT INTO test1 (c1_id, c2_vcmax) VALUES (?, ?)");
pstmt.setInt(1, 1);
pstmt.setString(2, htmlStr);
pstmt.executeUpdate();
更新数据
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM test1");
rs.next();
Clob clob = rs.getClob(2);
long pos = clob.position("dog", 1);
clob.setString(1, "cat", len, 3);
rs.updateClob(2, clob);
rs.updateRow();
Ok,教程就到这里了,这也是今天额收获。
DMP文件导入:
1.用SYS用户名,以DBA的身份登入到数据库(ORACLE客户端Enterprise Manager Console)
2.在安全性-- 用户若所要导入的用户对象已存在则移去然后新建之(这样就可以删除该用户下所有对象了) 表空间选择原来的。
3.在该用户的角色中加入DBA角色
4.在命令行下执行:imp aioss/aioss@ORCL10G file=d:\aioss0819.dmp full=y ignore=y commit=y
参数解释:用户名/密码@数据库服务名数据文件路径。