oracle表的导入导出-命令

合集下载

ORACLE导入导出表数据

ORACLE导入导出表数据

ORACLE导入导出表数据
1:导出——首先登录oracle,在左边的目录树上找到需要导出数据的表,右键"Export DATA",这时在右边的显示框中会显示这个数据库中的所有表,并且会自动选中需要导出数据的表,在右下角有一个"Output File",选择一个导出文件的存放地址,例如放在桌面"C:\Documents and Settings\user\桌面\mdm_prod_lob_rel_split_cfg.SQL",注意最好以"SQL"格式存在,点“Export”按钮,导出成功。

这时桌面上就有了一个名字为“mdm_prod_lob_rel_split_cfg.SQL”的文件。

2:导入——讲刚才的文件放入C盘下(主要考虑到时候路径会太长),选择文件的路径,例如"C:\wrk_mdm_ri_chk_rule_cfg.SQL",在oracle PL/SQL控制台上,FILE——NEW——Command Window,输入命令
@C:\wrk_mdm_ri_chk_rule_cfg.SQL 按Enter执行,导入即完成
命令解释: @C:\wrk_mdm_ri_chk_rule_cfg.SQL 即@+ 文件地址
3:导入数据之前,最好将原来的表备份一次
create table tmp_hbj_wrk_mdm_ri_ch_rl_c912 as select * from wrk_mdm_ri_chk_rule_cfg;。

Oracle导入导出.sql、.dmp文件

Oracle导入导出.sql、.dmp文件

Oracle导⼊导出.sql、.dmp⽂件Oracle导出导⼊表(.sql、.dmp⽂件)两种⽅法提⽰:在导⼊sql和dmp⽂件之前,先建⽴⽤户,指明表空间。

其中要注意⽤户名和表空间最好跟sql⽂件中的⼀样。

⽅法⼀:.sql⽂件的导出与导⼊导出步骤1. 使⽤PL/SQL Developer登录你需要备份的数据库;2. 选择⼯具->导出⽤户对象;3. 在对象列表中选择需要备份的对象,再选择⼀个sql类型的输出⽂件,点击【导出】,这只是导出数据结构;4. 选择⼯具->导出表;5. 在列表中选择需要导出数据的表,再选择【SQL插⼊】,选择⼀个sql类型的⽂件,点击【导出】,这⼀步是把数据导出数据库。

6. 这样就得到两个sql,分别是备份数据结构和备份数据的。

导⼊步骤在plsql⼯具⾥点击File-new-command window 将两个.sql⽂件语句分别粘贴进去执⾏两次⽅法⼆:.dmp⽂件的导出与导⼊1. 导出表结构:expdp system/admincss@WSYDBSPT directory=DATA_PUMP_DIR schemas=hx_xt dumpfile=WSYDBS.dmp 注:system/admincss@WSYDBSPT管理员⽤户名密码、数据库服务名,directory=DATA_PUMP_DIR(通过select * from dba_directories查询), schemas=hx_xt从该⽤户名下导出表结构数据2. 导⼊表结构1) Impdp system/admincss@WSYDBSPT directory=DATA_PUMP_DIR schemas=hx_xt dumpfile=WSYDBS.dmp2) Impdp system/admincss@xxbspt directory=DATA_PUMP_DIR dumpfile=xxbspt20180129.dmp full=y(全导)。

Oracle导出表空间的创建语句、导入、导出dmp文件

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;。

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导入与导出(即备份与恢复)
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导出导入(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用户模式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.dmplog=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.1使用,使用使用导出,使用垃无8无8 结论:oracle10->oracle8 导出使用8,导入使用8使用oracle8导出oracle10时,出现错误EXP-00003: 未找到段(10,585868) 的存储定义原因:不能用oracle8导出oracle10。

oracle导入导出

oracle导入导出

若要导出其他用户的表,则:
exp userid=system/admin@orcl tables=(scott.emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp 回车
------------------------------------------
若要导入表到其他用户,则:
imp userid=system/admin@orcl tables=(emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp touser=scott
若只是要导入表的结构而不导入数据,则:
imp userid=scott/tigger@orcl tables=(emp) file=e:\Oracle资料\LearnOracleByMyself\emp.dmp rows=n
运行cmd进入控制台
E: 回车
cd E:\oracle\product\10.2.0\db_1\BIN回车
------------------------------------------
第二步:
------------------------------------------
imp userid=system/admin@orcl file=e:\Oracle资料\LearnOracleByMyself\emp.dmp touser=scott
------------------------------------------
导入数据库
------------------------------------------
在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据导出: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 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)4 将数据库中的表table1中的字段filed1以"00"打头的数据导出exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面加上 compress=y 来实现。

数据的导入1 将D:daochu.dmp 中的数据导入 TEST数据库中。

imp system/manager@TEST file=d:daochu.dmpimp aichannel/aichannel@HUST full=y file=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能否连上。

附录一:给用户增加导入数据权限的操作第一,启动sql*puls第二,以system/manager登陆第三,create user 用户名 IDENTIFIED BY 密码(如果已经创建过用户,这步可以省略)第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字第五, 运行-cmd-进入dmp文件所在的目录,imp userid=system/manager full=y file=*.dmp或者 imp userid=system/manager full=y file=filename.dmp执行示例:F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp屏幕显示Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006(c) Copyright 2000 Oracle Corporation. All rights reserved.连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - ProductionWith the Partitioning optionJServer Release 8.1.7.0.0 - Production经由常规路径导出由EXPORT:V08.01.07创建的文件已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换). 正在将AICHANNEL的对象导入到 AICHANNEL. . 正在导入表 "INNER_NOTIFY" 4行被导入准备启用约束条件...成功终止导入,但出现警告。

附录二:Oracle 不允许直接改变表的拥有者, 利用Export/Import可以达到这一目的.先建立import9.par,然后,使用时命令如下:imp parfile=/filepath/import9.par例 import9.par 内容如下:FROMUSER=TGPMSTOUSER=TGPMS2 (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)ROWS=YINDEXES=YGRANTS=YCONSTRAINTS=YBUFFER=409600file==/backup/ctgpc_20030623.dmp******************************************************************************** ******************************************************常用命令1.创建表空间create tablespace 表空间名default ‘filename’/path’服务器端路径’ [size integer [k | m]] [autoextend [off | on]];size:制定文件的大小,autoextend:用来启动或禁用数据文件的自动扩展。

2.创建新用户create user 用户名identified by 密码[default tablespace 表空间][temporary tablespace 临时表空间];3.为用户授权grant 权限 to 用户grant 权限 on 表名 to 用户4.修改用户密码alter user 用户名identified by 密码;5.删除用户drop user 用户名 casaed;6.查看当前用户show user7.查看当前时间select sysdate from dual;8.查看当前用户下的所有表select table_name from user_tables;9.查看当前表的结构desc 表名10.修改上一条的内容edit;Oracle 数据库对象1.同义词a.创建同义词私有同义词create [or replace] synonym 同义词名 for 对象名;共有同义词create [or replace] public synonym 同义词名 for 对象名;b.删除同义词drop synonym同义词名;2.序列a.创建序列create sequence 序列名[start with integer][increment by integer][maxvalue integer | nomaxvalue][minvalue integer | nominvalue][cycle | nocycle][cache integer | nocache];b.访问序列select 序列名.nextval from dual;select 序列名.currval from dual;c.根改序列alter sequence 序列名[increment by integer][maxvalue integer | nomaxvalue][minvalue integer | nominvalue][cycle | nocycle][cache integer | nocache];d.删除序列drop sequence序列名;Oracle 数据表管理(一)1.创建表create table 表名(字段名1 类型,字段名2 类型…);2.修改表命令更改现有列alter table 表名 modify (column definition….);向表中添加新列alter table 表名 add (column definition….);删除表中现有的列alter table 表名 drop column 列名;3.删除表中的记录而不删除表结构truncate table 表名;4.删除与表的所有内容drop table 表名 cascade;5.数据操作语言(DML)SELECTSelect * | {[distinct] 字段名 | 表达式[列别名],…}From 表明[where 条件][order by 字段名];distinct:限制只返回不同的列CTASCreate table 新表名 as select 字段名 from 旧表名;//拷贝旧表的结构和记录,不拷贝约束INSERTInsert into 表名 [(字段名)] values (值);IISInsert into 表名1(字段名1) select 字段名2 from 表名2; //表结构已存在,从另一个表中复制记录UPDATEUpdate 表名Set 字段名=新值[where 条件];DELETEDelete 表名[where 条件];6.事务控制语言COMMITCommit;//提交SAVEPOINTSavepoint 保存点;ROLLBACKRollback or Rollback work;7.数据控制语言GRANTgrant 权限 on 表名 to 用户;REVOKERevoke 权限 on 表名 from 用户;8.集合操作符UNION :合并查询结果,并删除重复的行Select 字段名1 from 表名1UnionSelect 字段名2 from 表名2;UNION ALL:合并查询结果,并包括重复的行Select 字段名1 from 表名1Union allSelect 字段名2 from 表名2;INTERSECT:返回两个查询都有的行Select 字段名1 from 表名1IntersectSelect 字段名2 from 表名2;MINUS:返回第一个查询有而第二个查询中没有的行Select 字段名1 from 表名1MinusSelect 字段名2 from 表名2;Oracle 数据表管理(二)9.锁和表分区A.锁行级锁select …for update[of 字段] [wait n | nowait];wait n :等待的秒数表级锁lock 表名 in 锁定模式 mode [nowait]表级锁的模式:行共享 (row share,rs)行排他 (row exclusive,rx)共享 (share,s)共享行排他 (share row exclusive,srx)排他 (exclusive,x)B.表分区范围分区partition by range (column_name)(partition 分区名1 value less then(分区的边界值) [tablespace 表空间1], partition 分区名2 value less then(分区的边界值) [tablespace 表空间2] );散列分区partition by hash (column_name)partitions 散列分区的数目 [store in (分区使用的表空间)];orpartition by hash (column_name)(partition 分区名1 [tablespace 表空间1],partition 分区名1 [tablespace 表空间1]);复合分区partition by range (column_name1)subpartition by hash (column_name2)subpartitions 散列分区的数目 [store in (分区使用的表空间)];(partition 分区名1 value less then(分区的边界值),partition 分区名2 value less then(分区的边界值),partition 分区名N value less then(maxvalue));列表分区partition by list (column_name)(partition分区名1 values (分区键值的列表1),partition分区名2 values (分区键值的列表2),partition分区名N values (default));default:允许存储前面的分区不能存储的记录10.分区维护操作添加分区alter table 表名 add partition 分区名 values less then(分区的边界值);删除分区alter table 表名 drop partition 分区名;截断分区alter table 表名 truncate partition 分区名;合并分区alter table 表名 merge partitions 分区名1, 分区名2 into 分区名;拆分分区alter table 表名 split partition 分区名at (value) into (partition分区名1,partition 分区名2);分区重命名alter table 表名 rename partition 旧分区名 to 新分区名 ;11.视图a.创建视图create [or replace] [force | noforce] view 视图名[列别名]as select 字段名 from 表名[with check option [constraint 约束名]][with read only];with check option:指定只能插入或更新视图可以访问的行,with read only:确保不能在此视图上执行任何修改操作。

相关文档
最新文档