oracle下导出某用户所有表的方法

合集下载

EXP和IMP用法详解

EXP和IMP用法详解

/lschou520/archive/2008/08/31/2854244.aspxOracle 数据库备份与恢复总结-exp/imp (导出与导入装库与卸库) 收藏1.1 基本命令1. 获取帮助$ exp help=y$ imp help=y2. 三种工作方式(1)交互式方式$ exp // 然后按提示输入所需要的参数(2)命令行方式$ exp user/pwd@dbname file=/oracle/test.dmp full=y // 命令行中输入所需的参数(3)参数文件方式$ exp parfile=username.par // 在参数文件中输入所需的参数参数文件username.par 内容userid=username/userpassword buffer=8192000compress=n grants=yfile=/oracle/test.dmp full=y3. 三种模式(1)表方式,将指定表的数据导出/导入。

导出:导出一张或几张表:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2导出某张表的部分数据$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\”where col1=\’…\’and col2 \<…\”导入:导入一张或几张表$ imp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2 fromuser=dbuser touser=dbuser2 commit=y ignore=y(2)用户方式,将指定用户的所有对象及数据导出/导入。

导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy)只导出数据对象,不导出数据(rows=n )$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2commit=y ignore=y(3)全库方式,将数据库中的所有对象导出/导入导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser21.2 高级选项1. 分割成多个文件以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个dump文件可能会超出文件系统的限制的情况$ exp user/pwd file=1.dmp,2.dmp,3.dmp,…filesize=1000m log=xxx.log full=y以多个固定大小文件方式导入$ imp user/pwd file=1.dmp,2.dmp,3.dmp,… filesize=1000m tables=xxx fromuser=dbuser touser=dbuser2 commit=y ignore=y2. 增量导出/导入// oracle 9i 以后exp 不再支持inctype必须为SYS 或SYSTEM 才可执行增量导出导入增量导出: 包括三个类型:(1)“完全”增量导出(Complete)// 备份整个数据库$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete(2)“增量型”增量导出导出上一次备份后改变的数据。

oracle使用数据泵导出和导入

oracle使用数据泵导出和导入

使用数据泵导出和导入几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据。

以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。

例如,你可以中断导出/导入作业,然后恢复它们;可以重新启动已失败的导出和导入作业;可以重映射对象属性以修改对象;可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性;使用并行技术很容易快速移动大量的数据;因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL 程序中包含导出/导入作业;可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统平台之间移动。

与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y 或者impdp help = y快速获取所有数据泵参数及命令的概述。

一.数据泵技术的优点原有的导出和导入技术基于客户机,而数据泵技术基于服务器。

默认所有的转储,日志和其他文件都建立在服务器上。

以下是数据泵技术的主要优点:1.改进了性能2.重新启动作业的能力3.并行执行的能力4.关联运行作业的能力5.估算空间需求的能力6.操作的网格方式7.细粒度数据导入功能8.重映射能力二.数据泵导出和导入的用途1.将数据从开发环境转到测试环境或产品环境2.在不同的操作系统平台上的oracle数据库直接的传递数据3.在修改重要表之前进行备份4.备份数据库5.把数据库对象从一个表空间移动到另一个表空间6.在数据库直接移植表空间7.提取表或其他对象的DDL注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。

oracle中imp导入导出命令详解

oracle中imp导入导出命令详解

oracle中imp命令详解Oracle的导入实用程序(Importutility)允许从数据库提取数据,并且将数据写入操作系统文件。

imp使用的基本格式:imp [username[/password[@service]]],以下例举imp常用用法。

1. 获取帮助imp help=y2. 导入一个完整数据库imp system/manager file=d:\daochu.dmp log=d:\daochu.log full=y ignore=y3. 导入一个或一组指定用户所属的全部表、索引和其他对象imp system/manager file=seapark log=seapark fromuser=seapark impsystem/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)4. 将一个用户所属的数据导入另一个用户imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1,amy1)5. 导入一个表imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)6. 从多个文件导入imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)log=paycheck, filesize=1G full=y7. 使用参数文件imp system/manager parfile=bible_tables.parbible_tables.par参数文件:#Import the sample tables used for the Oracle8i Database Administrator's Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import8. 增量导入imp system./manager inctype= RECTORE FULL=Y FILE=A Oracle imp/expC:Documentsand Settingsadministrator>exp help=yExport: Release 9.2.0.1.0 - Production on 星期三 7月 28 17:04:43 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 通过输入 EXP命令和用户名/口令,您可以后接用户名/口令的命令:例程: EXPSCOTT/TIGER或者,您也可以通过输入跟有各种参数的 EXP命令来控制“导出”按照不同参数。

bw提取oracle数据库表的方法

bw提取oracle数据库表的方法

bw提取oracle数据库表的方法摘要:一、简介二、BW提取Oracle数据库表的方法1.安装Oracle客户端2.连接Oracle数据库3.选择需要提取的表4.编写SQL查询语句5.提取数据6.导出数据三、注意事项四、总结正文:一、简介在数据分析领域,Business Warehouse(BW)是一个广泛使用的数据提取、转换和加载(ETL)工具。

BW能够与Oracle数据库无缝连接,方便用户从Oracle数据库中提取所需的数据。

本文将详细介绍如何使用BW提取Oracle数据库表的方法。

二、BW提取Oracle数据库表的方法1.安装Oracle客户端在使用BW连接Oracle数据库之前,需要在计算机上安装Oracle客户端。

可以从Oracle官网下载对应的客户端安装包,并根据提示进行安装。

2.连接Oracle数据库打开BW软件,在“连接”模块中选择“数据库连接”。

填写Oracle数据库的连接信息,如主机名、端口号、服务名、用户名和密码,然后点击“测试连接”。

测试成功后,点击“保存”创建连接。

3.选择需要提取的表在BW中,通过“目录”模块查看已连接的数据源。

在数据源列表中,找到需要提取的Oracle数据库表,双击打开。

在表结构界面,可以查看表的字段信息。

4.编写SQL查询语句在BW的“查询”模块中,编写SQL查询语句以获取所需数据。

例如,提取某个Oracle表的所有记录,可以使用以下SQL语句:```SELECT * FROM your_table_name;```5.提取数据在BW的“数据提取”模块中,选择刚才编写的SQL查询语句,设置提取范围、分页大小等参数。

点击“开始提取”按钮,BW会自动连接到Oracle数据库并执行SQL查询,将数据保存在临时文件中。

6.导出数据提取完成后,在BW的“数据导出”模块中,选择导出格式(如CSV、Excel等),设置导出路径和文件名。

点击“开始导出”按钮,将数据导出到指定文件。

ORACLE 11g数据导入导出

ORACLE 11g数据导入导出

导入时选 择合理的 parallel, 是可以降 低导入数 据时的时 间的,导 入数据时 指定 parallel 值,实际 是用在了 创建索引 的并行度 上 所以在导 入操作时 选择较大 的并行 度,是可 以大幅度 降低提高 创建索引 的速度, 从而加快 导入时的 速度。当 然度如增果 加并 到 太大的 值,会产 生I/O和 锁之类的 竞争,导 致导入速 度降低。
2)改变表 的owner impdp system/D igicom201 4 DIRECTO RY=exp_d ir2 DUMPFIL E=exp_sc ott.dmp TABLES= scott.dep t REMAP_S CHEMA= scott:syst 先导出 scott用户 中的数 据,然后 将此用户 下的表 dept的归 属权转移 给system 用户
导出完 成:
导出的文 件:
6)带出整 个数据库 在DOS环 境下输入 expdp system/D igicom201 4 directory =exp_dir2 dumpfile = full_demo. dmp logfile = full_demo.
导出成 功:
查看导出 文件:
数据导入:
导出成功 。
导出的文 件:
3)按表名 导出 在DOS中 输入: expdp system/D igicom201 4@myorcl tables=st udent dumpfile= table_dem o.dmp directory =exp_dir2 logfile=ta ble_demo.l og
执行结束
查看dept 表的 owner
3)导入表 空间 impdp system/D igicom201 4 DIRECTO RY=exp_d ir2 DUMPFIL E=tablesp ace_demo .dmp TABLES PACES=s ystem;

Oracle中查看所有的表,用户表,列名,主键,外键

Oracle中查看所有的表,用户表,列名,主键,外键

在Oracle中查看所有的表:select * from tab/dba_tables/dba_objects/cat;看用户建立的表 :selecttable_name from user_tables; //当前用户的表selecttable_name from all_tables; //所有用户的表selecttable_name from dba_tables; //包括系统表select * from user_indexes //可以查询出所有的用户表索引查所有用户的表在all_tables主键名称、外键在all_constraints索引在all_indexes但主键也会成为索引,所以主键也会在all_indexes里面。

具体需要的字段可以DESC下这几个view,dba登陆的话可以把all换成dba1、查找表的所有索引(包括索引名,类型,构成列):select t.*,i.index_type from user_ind_columnst,user_indexesi where t.index_nam e = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表2、查找表的主键(包括名称,构成列):select cu.* from user_cons_columns cu, user_constraints au where cu.constraint _name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表3、查找表的唯一性约束(包括名称,构成列):selectcolumn_name from user_cons_columns cu, user_constraints au where cu. constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table _name = 要查询的表4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表查询外键约束的列名:select * from user_cons_columns cl where cl.constraint_name = 外键名称查询引用表的键的列名:select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名5、查询表的所有列及其属性select t.*,MENTS from user_tab_columnst,user_col_comments c where t.t able_name = c.table_name and t.column_name = c.column_name and t.table_na me = 要查询的表。

常用查询Oracle的表,视图,存储过程,用户等SQL命令

常用查询Oracle的表,视图,存储过程,用户等SQL命令

常⽤查询Oracle的表,视图,存储过程,⽤户等SQL命令有时候需要导出某⽤户下的所有table、view、sequence、trigger等信息,下⾯的SQL可以将这些信息select出来:select * from user_tables;select * from user_views;select * from user_sequences;select * from user_triggers;查看当前⽤户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前⽤户的⾓⾊ SQL>select * from user_role_privs; 查看当前⽤户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 查看⽤户下所有的表 SQL>select * from user_tables;1、⽤户 查看当前⽤户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前⽤户的⾓⾊ SQL>select * from user_role_privs; 查看当前⽤户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 显⽰当前会话所具有的权限 SQL>select * from session_privs; 显⽰指定⽤户所具有的系统权限 SQL>select * from dba_sys_privs where grantee=’GAME’;2、表 查看⽤户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,’LOG’)>0; 查看某表的创建时间 SQL>select object_name,created from user_objects where object_name=upper(‘&table_name’); 查看某表的⼤⼩ SQL>select sum(bytes)/(1024*1024) as “size(M)” from user_segments where segment_name=upper(‘&table_name’); 查看放在ORACLE的内存区⾥的表 SQL>select table_name,cache from user_tables where instr(cache,’Y')>0;3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper(‘&index_name’); 查看索引的⼤⼩ SQL>select sum(bytes)/(1024*1024) as “size(M)” from user_segments where segment_name=upper(‘&index_name’);4、序列号 查看序列号,last_number是当前值 SQL>select * from user_sequences;5、视图 查看视图的名称 SQL>select view_name from user_views; 查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的⼤⼩ SQL>select text from user_views where view_name=upper(‘&view_name’);6、同义词 查看同义词的名称 SQL>select * from user_synonyms;7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(‘&table_name’); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper(‘&table_owner’) and c.table_name = upper(‘&table_name’) and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position;8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type=’FUNCTION’; SQL>select object_name,status from user_objects where object_type=’PROCEDURE’; 查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper(‘&plsql_name’);。

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数据库备份(导⼊/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导⼊导出⼯具,后者是Oracle10g后出现的,下⾯进⾏分别介绍!1.exp/imp三种导⼊导出类型Oracle⽀持三种导⼊导出类型分别是表⽅式(T⽅式),⽤户⽅式(U⽅式),全库⽅式(Full⽅式)A: 表⽅式(T⽅式)备份(exp)某个⽤户模式下指定的对象(表),exp guwei/ai123456@10.21.19.63/orcl rows=y indexes=n compress=n buffer=50000000 file=exp_table.dmplog=exp_table.log tables=USER_INFO,POLICY_INFO恢复(imp)备份数据中的指定表,imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=nfile=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFOB:⽤户⽅式(U⽅式)备份(exp)某个⽤户模式下的所有对象,exp jnth/thpassword@oracle owner=guwei rows=y indexes=n compress=n buffer=50000000 file=exp_table.dmp log=exp_table.log恢复(imp)备份数据的全部内容,imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=nfile=exp_table.dmp log=exp_table.log恢复(imp)备份数据中的指定表,imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=nfile=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFOC:全库⽅式(Full⽅式)备份(exp)完整的数据库,exp system/systempassword@oracle rows=y indexes=n compress=n buffer=50000000 full=y file=exp_table.dmp log=exp_table.log导⼊(imp)完整数据库,imp system/systempassword@oracle rows=y indexes=n commit=y buffer=50000000 ignore=y full=y file=exp_table.dmp log=exp_table.log 导出导⼊的优缺点优点:简单易⾏;可靠性⾼;不影响数据库的正常运⾏。

oracle导入导出详解

oracle导入导出详解

总结了oracle的导入导出,希望能帮助大家一. 导出工具exp1. 它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binexp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。

2. 导出工具exp交互式命令行方式的使用的例子$exp test/test123@appdbEnter array fetch buffer size: 4096 > 回车Export file: expdat.dmp > m.dmp 生成导出的文件名(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3Export table data (yes/no): yes > 回车Compress extents (yes/no): yes > 回车Export done in ZHS16GBK character set and ZHS16GBK NCHAR character setAbout to export specified tables via Conventional Path ...Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要导出的表名. . exporting table CMAMENU 4336 rows exportedTable(T) or Partition(T:P) to be exported: (RETURN to quit) >要导出的表名nTable(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车Export terminated successfully without warnings.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说明:在exp里面加上导出emp的查询条件job='salesman' and sal<1600(但我个人很少这样用,还是把满足条件的记录生成临时表后,再exp会方便一些)$exp parfile=username.par file=/directory1/username_1.dmp,/directory1/username_2.dmp filesize=2000Mlog=/directory2/username_exp.log参数文件username.par内容userid=username/userpasswordbuffer=8192000compress=ngrants=y说明:username.par为导出工具exp用的参数文件,里面具体参数可以根据需要去修改filesize指定生成的二进制备份文件的最大字节数(可用来解决某些OS下2G物理文件的限制及加快压缩速度和方便刻历史数据光盘等) 4. 命令参数说明关键字说明(默认)---------------------------------------------------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 屏幕输出的日志文件STA TISTICS 分析对象(ESTIMATE)DIRECT 直接路径(N)TRIGGERS 导出触发器(Y)FEEDBACK 显示每x 行(0) 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N) TABLESPACES 将传输的表空间列表二.导入工具imp1. 它是操作系统下一个可执行的文件存放目录/ORACLE_HOME/binimp导入工具将EXP形成的二进制系统文件导入到数据库中.它有三种模式:a. 用户模式:导出用户所有对象以及对象中的数据;b. 表模式:导出用户所有表或者指定的表;c. 整个数据库:导出数据库中所有对象。

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数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。

导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。

⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。

(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。

(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。

数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。

2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。

在进⾏此种导出时,不要求回答任何问题。

导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。

增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。

⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。

oracle中exp,imp的使用详解

oracle中exp,imp的使用详解

oracle中exp,imp的使⽤详解基本语法和实例: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就被导出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的所有对象被导⼊到⽂件中。

必须指定FROMUSER、TOUSER参数,这样才能导⼊数据。

3、表模式:EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC) 这样⽤户SONIC的表SONIC就被导⼊。

ORACLE数据库有两类备份⽅法。

第⼀类为物理备份,该⽅法实现数据库的完整恢复,但数据库必须运⾏在归挡模式下(业务数据库在⾮归挡模式下运⾏),且需要极⼤的外部存储设备,例如磁带库;第⼆类备份⽅式为逻辑备份,业务数据库采⽤此种⽅式,此⽅法不需要数据库运⾏在归挡模式下,不但备份简单,⽽且可以不需要外部存储设备。

数据库逻辑备份⽅法 ORACLE数据库的逻辑备份分为三种模式:表备份、⽤户备份和完全备份。

Oracle数据库三种备份方案

Oracle数据库三种备份方案

Oracle数据库三种备份⽅案Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。

导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。

⼀、导出/导⼊(Export/Import)利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导⼊数据(Import)Oracle⽀持三种⽅式类型的输出:(1)、表⽅式(T⽅式),将指定表的数据导出。

(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。

(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。

数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。

2、增量导出/导⼊增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。

在进⾏此种导出时,系统不要求回答任何问题。

导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。

增量导出包括三种类型:(1)、“完全”增量导出(Complete)即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp(2)、“增量型”增量导出备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp(3)、“累积型”增量导出累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。

⽐如:exp system/manager inctype=cumulative file=040731.dmp数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。

oracle只导出指定用户下的表结构,不导出数据的方法

oracle只导出指定用户下的表结构,不导出数据的方法

oracle只导出指定用户下的表结构,不导出数据的方法在数据库管理中,有时我们仅需要导出特定用户下的表结构,而不包含数据,以便于在不同数据库之间进行结构迁移或备份。

本文将详细介绍如何使用Oracle数据库的导出工具EXPDP,来实现只导出指定用户下的表结构,而不导出数据的方法。

### Oracle只导出指定用户下的表结构,不导出数据的方法在Oracle数据库中,可以使用数据泵(Data Pump)工具的导出功能(EXPDP)来实现只导出表结构的需求。

以下是详细的步骤:1.**打开终端或命令提示符**- 在Windows环境下打开命令提示符;- 在Linux或Unix环境下打开终端。

2.**运行导出命令**使用以下命令格式来导出指定用户下的表结构:```sqlexpdp "/ as sysdba" directory=dpump_dir1schemas=your_username dumpfile=structure.dmp logfile=structure.log CONTENT=METADATA_ONLY```- `your_username`:替换为你需要导出表结构的用户名。

- `dpump_dir1`:这是数据泵使用的目录名,需要提前在数据库中创建并赋予相应的权限。

- `structure.dmp`:导出的文件名,可以根据需要自定义。

- `structure.log`:日志文件名,记录导出过程中的信息。

- `CONTENT=METADATA_ONLY`:这是关键参数,确保只导出元数据,即表结构,不包含数据。

3.**查看日志文件**导出完成后,查看日志文件`structure.log`,以确认导出过程是否成功。

4.**注意**- 确保执行导出操作的用户具有足够的权限。

- 如果数据库启用了归档模式,确保在导出前备份归档日志,以避免潜在的数据丢失风险。

通过以上步骤,我们可以成功地将指定用户下的表结构导出为.dmp文件,而不包含任何数据。

Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名identified by 密码(例如:create user cht id entified by cht;)创建完成后,必须分配权限,否则连不上数据库和sqlplus。

因此要做:grant connect,resource,dba to cht;这样数据库就可以通过cht/cht连上了。

那些select,update,delete,insert的权限就不必分配了,因为每个用户默认都有这些基本权限。

命令行方式连接数据库的方法:开始==》运行==》cmd方式一:输入sqlplus,回车输入用户名:system,回车输入密码:orcl,回车方式二:输入sqlplus system/orcl@orcl,回车(system是用户名,orcl是密码,@后面的or cl是库的名字)(数据库安装完成后,有两个系统级的用户:1)system 默认密码为:manager2)sys 默认密码为:change_on_install)创建用户前必须要先建好临时表空间和数据表空间两个表空间,否则用系统默认的表空间不好。

//创建临时表空间create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zf mi\zfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;说明:1、zfmi_temp 表空间的名字2、D:\oracle\oradata\zfmi\ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)3、100M 表空间的初始大小4、32M 表空间自动增长的大小5、2048M 表空间最大的大小//创建数据表空间create tablespace zfmi logging datafile 'D:\oracle\oradata\zfmi\zfmi.d bf' size 100m autoextend on next 32m maxsize 2048m extent manage ment local;//创建用户并指定表空间create user zfmi identified by zfmi default tablespace zfmi temporary t ablespace zfmi_temp;//给用户授予权限grant connect,resource dba to zfmi;(dba:指定所有权限)到这一步新建一个用户的工作就完成了。

oracle中exp及imp的使用详解

oracle中exp及imp的使用详解
oracle中exp,imp的使用详解
基本语法和实例:
1、EXP:
有三种主要的方式(完全、用户、表)
1、完全:
EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y
如果要执行完全导出,必须具有特殊的权限
3、 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4、 将数据库中的表table1中的字段filed1以"00"打头的数据导出
更多资料如下:
Oracle的exp工具有一个query参数可以指定一个where条件来有条件地导出记录, 对于不经常用这个选项的人来说, 经常会遇到这样的错误:
LRM-00112: multiple values not allowed for parameter 'query'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=moninformation,icdmain.serviceinfo,icdmain.dealinfo
其他Unix平台的应当和Solaris下的一样, 我自已也经常搞错. 在上面的例子中已经说明了如何在query值中使用单引号, 因此在看完这篇后, 就应当可以写出正确的where条件了. 最好是写在一个参数文件里, 这样的话就不用注意这些了.

Oracle导出程序Exp的使用

Oracle导出程序Exp的使用

Oracle导出程序Exp的使⽤Oracle导出程序Exp的使⽤Oracle的导出实⽤程序(Export utility)允许从数据库提取数据,并且将数据写⼊操作系统⽂件。

exp使⽤的基本格式:exp[username[/password[@service]]],以下例举exp常⽤⽤法。

1. 获取帮助exp help=y2. 导出⼀个完整数据库exp system/manager file=bible_db log=dible_db full=y3. 导出数据库定义⽽不导出数据exp system/manager file=bible_db log=dible_db full=y rows=n4. 导出⼀个或⼀组指定⽤户所属的全部表、索引和其他对象exp system/manager file=seapark log=seapark owner=seapark exp system/manager file=seapark log=seapark owner= (seapark,amy,amyc,harold)注意:在导出⽤户时,尽管已经得到了这个⽤户的所有对象,但是还是不能得到这些对象引⽤的任何同义词。

解决⽅法是⽤以下的SQL*Plus命令创建⼀个脚本⽂件,运⾏这个脚本⽂件可以获得⼀个重建seapark所属对象的全部公共同义词的可执⾏脚本,然后在⽬标数据库上运⾏该脚本就可重建同义词了。

SET LINESIZE 132 SET PAGESIZE 0 SET TRIMSPOOL ON SPOOL c:\seapark.syn SELECT 'Create public synonym'||synonym_name ||' for '||table_owner||'.'||table_name||';' FROM dba_synonyms WHERE table_owner = 'SEAPARK' AND owner = 'PUBLIC'; SPOOL OFF5. 导出⼀个或多个指定表exp seapark/seapark file=tank log=tank tables=tank exp system/manager file=tank log=tank tables=seapark.tank exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)6. 估计导出⽂件的⼤⼩全部表总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE segment_type = 'TABLE';seapark⽤户所属表的总字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = 'SEAPARK'AND segment_type = 'TABLE';seapark⽤户下的aquatic_animal表的字节数:SELECT sum(bytes)FROM dba_segmentsWHERE owner = 'SEAPARK'AND segment_type = 'TABLE'AND segment_name = 'AQUATIC_ANIMAL';7. 导出表数据的⼦集(oracle8i以上)NT系统:exp system/manager query='Where salad_type=''FRUIT''' tables=amy.salad_type file=fruit log=fruitUNIX系统:exp system/manager query=\"Where salad_type=\'FRUIT\'\" tables=amy.salad_type file=fruit log=fruit8. ⽤多个⽂件分割⼀个导出⽂件exp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck, filesize=1G tables=hr.paycheck 9. 使⽤参数⽂件exp system/manager parfile=bible_tables.parbible_tables.par参数⽂件:#Export the sample tables used for the Oracle8i Database Administrator's Bible. file=bible_tables log=bible_tables tables=( amy.artist amy.books seapark.checkup seapark.items )10. 增量导出"完全"增量导出(complete),即备份整个数据库exp system/manager inctype=complete file=990702.dmp"增量型"增量导出(incremental),即备份上⼀次备份后改变的数据exp system/manager inctype=incremental file=990702.dmp"累计型"增量导出(cumulative),即备份上⼀次"完全"导出之后改变的数据exp system/manager inctype=cumulative file=990702.dmp附:常⽤参数说明参数说明file指定导出⽂件名。

Oracle下通过EXPDP导出某用户下的所有表,实例

Oracle下通过EXPDP导出某用户下的所有表,实例

Oracle下通过EXPDP导出某⽤户下的所有表,实例
⼀开始在所数据库表导⼊,导出的时候,经常发现含有BLOB等⼤数据类型⽂件⽆法简单正常的导⼊导出(imp/dmp),然后在⽹上得知oracle 10以后有了(impdp/dmpdp)命令,数据导⼊导出的速度是(imp/dmp)命令的10倍以上,所以来学习总结⼀下impdp/dmpdp命令。

⼀、背景环境:
希望导出数据库表所在⽤户/密码:mhweixin/mhweixin;
希望导⼊数据库表所在⽤户/密码:zbtj/zbtj;
⼆、步骤:
1.建⽴导出⽂件所在⽬录:dir为directory 的名字,D:\weixinData是directory 的位置。

1.1查看directory状态:通过查询dba_directoryies
1.2删除directory
2.把⽬录的I/O权限赋给:
3.导出⽂件://dumpfile=tj.dmp,logfile=tj.log为导出⽂件、⽇志名字,随意填写
//3.1,3.2操作是为了保证将来导⼊的数据和表准确⽆误,属于可选操作,‘’’内只能填⼤写
3.1查看该⽤户下数据量⼤⼩:SELECT SUM(s.BYTES)/1024/1024 "sizes(MB)" from dba_segments s where s.owner=
'MHWEIXIN';
3.2查看该⽤户下有多少表:select count(*) from dba_tables t where t.owner='MHWEIXIN';
3.3导出
4.导出成功:在创建的⽬录下能找到DMP⽂件和⽇志⽂件。

使用toad导出oracle数据库某个或多个表中的数据

使用toad导出oracle数据库某个或多个表中的数据

导出单个数据表中的数据1、登录Toad for Oracle,并打开Schema窗口,如下图:2、在Data栏,可再次验证刚才的sql语句的where条件是否正确,找出的数据是否无误3、在数据库的所有表的列表栏,右键点击欲导出数据的表,并选择 Export data4、打开Data Export窗口后,在Options框内输入欲导出数据的条件约束,并选定生成的文件名及路径,再单击OK即可导出数据为sql脚本二、其它相关知识:1、由于以前没有用过Toad,因此后来又花了半个小时多的时间来熟悉它,并用toad导出数据库服务器上的一个用户,步骤如下:点击Database->Export->Export Utility Wizard,选择Export users,点击next,随便选择一个用户,点击next,默认继续点击next,选择文件路径,点击next,再默认,点击finish之后完成。

2、若出错信息如下:Exception:----------------------------------------------------------------------2.1 Date : xx, 13 xxx 2008 18:34:55 +08002.2 Address: 00C582932.3 Module : TOAD.exe2.4 Type : Exception2.5 Message: The Oracle Export Utility executable must be specified. 解决:toad的设置问题,从提示上看toad也是调用exp来执行的,需要指定exp的位置。

需要到view->toad options->Executables->export中指定exp路径,如:D:\oracle\ora10g\BIN\EXP.EXE导出所有表中的数据1.ctrl+A全部选中所有的数据表2.右键----save as3.点击完则出现如下窗口,每个选项卡设置如下:4.单机OK执行即可当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
按表方式导出数据(talbes当中写的是全部表的名称) exp scott/tiger@handson tables=(emp, dept) file=scott_back_tab
按表空间方式导出数据(tablespaces当中写的是表空间名称) exp system/handson@handson tablespaces=(users) file=tbs_users
4.导入表: imp system/manager@mycon file=c:\tab1.dmp tables=(dept,emp) touser=scott
5.导入用户: imp system/manager@mycon file=usr1.dmp fromuser=scott touser=scott
oracle下导入某用户所有表的方法
将整个文件导入数据库 imp system/handson@handosn file=item_back.dmp ignore=y full=y 将scott用户的表导入到martin用户 imp system/handson@handosn file=scott_back fromuser=scott touser=martin tables=(emp,dept)
例子2: 首先在sqlplus下以该用户登录到oracle数据库,然后将以下内容粘贴到sqlplus中: set feedback off; set pagesize 0; set heading off; set verify off; set linesize 200; set trimspool on; spool c:\数据库备份.bat; select 'exp username/ffffff@yourdb TABLES='||table_name||' FILE='||table_name||'.dmp TRIGGERS=N' from user_tables; spool off; set feedback on; set pagesize 9999; set heading on; set verify on; exit 完成后在找到 c:\数据库备份.bat 文件,编辑该批处理文件,将第一行和最后一行删掉,保存后运行该批处理文件就可全部导出该用户下的所有表。
导入数据库:
1.全库导入 imp system/manager@mycon file=full1.dmp full=y
2.2.增量导入
1)导入数据库最新信息 imp system/manager@mycon inctype=system full=y file=inc7.dmp
2)2)导入最近完全导出文件 imp system/manager@mycon inctype=restore full=y file=full1.dmp 3)导入所有累积导出文件 imp system/manager@mycon inctype=restore full=y file=cum1.dmp 4)导入最近一次增量导出的文件 imp system/manager@mycon inctype=restore full=y file=inc1.dmp
使用参数文件导出数据 exp system/handson parfile='C:\parameters.txt
1、cmd->exp->username/passwd@sid-->.....一路回车--->输入导出库得名字 就把所有的表、视图、存储过程、函数、作业等乱七八糟的都导出来了;
2、pl/sql-->工具---〉导出用户对象 可以找到你要导的东东。
例子1:(本方法限oracle9i版本以上)
set pagesize 0
set long 90000
set feedback off
get_allddl.sql
Connect USERNAME/PASSWORD@SID;
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u; SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u; spool off;
常用的命令
Exp user/password@instance file=file.dmp rows=y log=log_name 其中username/password为导出用户的用户名和密码 Instance为导出的实例名
Rows是指定是否要导入表中的行
导出一个用户下的表结构为sql文件: 使用命令好像导出的都是dmp文件 可以使用plsql软件在tools--àexport user object 如果不要到处table space ,不要勾include storage 选择导出的路径文件名,export可以直接导出了
两者都可以的很方便!
导出表: exp scott/tiger@mycon tables=(dept,emp) file=tab1.dmp
导出用户: exp system/manager@mycon owner=scott file=usr1.dmp
导出数据库:
1.完全导出 exp system/manager@mycon full=y inctype=complete file=full1.dmp
oracle下导出某用户所有表的方法
oracle下导出某用户所有表的方法
scott/tiger是用户名和密码,handson是导出的实例名
按用户方式导出数据(owner当中写的是用户名) exp scott/tiger@handson file=scott_back owner=scott
使用参数文件导入数据 imp system/oracle parfile='C:\parameters.txt
常用命令 Imp username/password file=file.dmp fromuser=user1 touser=user2 rows=y
其中username/password为导入到数据库的用户名和密码 Fromuser为备份数据库时的用户 Touser为导入数据库的用户,一般和username同
2.2.增量导出 exp system/manager@mycon full=y inctype=incremental file=inc1.dmp
3.3.累积导出 exp system/manager@mycon full=y inctype=cumulative file=cum1.dmp
相关文档
最新文档