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

合集下载

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命令来控制“导出”按照不同参数。

oracle不同版本数据库中转文件导入导出详解流程

oracle不同版本数据库中转文件导入导出详解流程

------------------------------------ 数据库导入导出详细步骤--------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- 1)--导出:(使用sysdba角色)①创建逻辑目录:create directory exp_dir as ‘E:\expdump’;②确认管理员目录select * from dba_directories;③给sunfcbp用户赋予在指定目录的操作权限:grant read,write on directory exp_dir to sunfcbp;④在cmd命令行oracle的bin目录下执行导出数据语句(version值指定目标数据库版本号):export NLS_LANG=AMERICAN_AMERICA.ZHS32GB18030expdp sunfcbp/123 schemas=sunfcbp directory=exp_dir version=11.1.0.6.0dumpfile=sunfcbpdb0821_data.dpexport NLS_LANG=AMERICAN_AMERICA.AL32UTF82)--导入前准备:(使用sysdba角色)①数据库字符集设置:SQL> shutdown immediate;SQL> startup mount;SQL> alter system enable restricted session;SQL> alter system set job_queue_processes=0;SQL> alter database open;SQL> Alter DATABASE myoracle character set INTERNAL_USE ZHS32GB18030; ----- 使用INTERNAL_USE可以跳过超集的检查SQL> STARTUP;--经过以上步骤,服务器的字符集成功被修改成为ZHS32GB18030;②--创建数据表空间create tablespace sunfcbp_datloggingdatafile 'D:\Oracle\oradata\myoracle\SUNFCBP_DA T.DBF'size 50mautoextend onnext 50m maxsize 20480mextent management local;③--创建临时表空间create temporary tablespace sunfcbp_tmptempfile 'D:\Oracle\oradata\myoracle\SUNFCBP_TMP.DBF'size 50mautoextend onnext 50m maxsize 20480mextent management local;④--创建用户sunfcbpcreate user sunfcbp identified by 123default tablespace sunfcbp_dat temporary tablespace sunfcbp_tmp;⑤--创建逻辑目录:create directory dpdata as 'E:\myoraclebeifen'⑥--确认管理员目录select * from dba_directories;⑦--授权sunfcbp用户grant connect, resource to sunfcbp;grant read,write on directory dpdata to sunfcbp;⑧—在cmd命令行环境进入数据库bin目录下:cd D:\Oracle\product\11.1.0\db_1\BINd:3)--导入(cmd命令行数据库bin目录下)①—执行导入语句(sunfcbpdb0821.dp必须放在E:\myoraclebeifen目录下面schemas=sunfcbp为转存文件中用户名):A:导入目标用户名与导出时用户名相同用以下语句:impdp sunfcbp/123 directory=dpdata dumpfile=sunfcbpdb0821.dp schemas=sunfcbpB:导入目标用户名与导出时schemas指定的值不相同时用以下语句:impdp test/123 DIRECTORY=dpdata DUMPFILE=SUNFCBPDB0821_DATA.DP REMAP_SCHEMA=sunfcbp:test---------------------------------------exp, imp命令导入导出-------------------------------------------------导出:导出自己的表:exp userid=sunfcbp/123@myoracle tables=(emp,dept,…..) file=d:\sunfcbp.dp;exp userid=sunfcbp/123@myoracle tables=(emp,dept,…..) file=d:\sunfcbpr.dp rows=n;(只导出表结构)导出其它方案的表:exp userid=system/123@myoracle tables=(sunfcbp.emp,sunfcbp.dept,……) file=d:\e2.dmp;使用直接导出的方式(速度快):exp userid=sunfcbp/123@myoracle tables=(emp,dept,…) file=e:\e3.dp direct=y;导出自己的方案:exp sunfcbp/123@myoracle owner=sunfcbp file=e:\e4.dp;导出其它方案:(system用户必须拥有dba或者exp_full_database的权限)exp system/123@myoracle owner=(system,sunfcbp,…) file=e:\e5.dp;导出数据库:(system用户必须拥有dba或者exp_full_database的权限)exp userid=system/123@myoracle full=y inctype=complete file=e:\e.dp;**************************************************************************导入:导入自己的表:imp userid=sunfcbp/123@myoracle tables=(emp) file=e:\sunfcbp.dp导入表到其它用户(要求system用户必须拥有dba或者imp_full_database的权限):imp userid=system/123@myoracle tables=(emp) file=e:\sunfcbp.dp touser=sunfcbp; 导入表的结构而不导入数据:imp userid=sunfcbp/123@myoracle tables(emp) file=e:\sunfcbp.dp rows=n;只导入表的数据:imp userid=sunfcbp/123@myoracle tables=(emp) file=e:\sunfcbp.dp ignore=y;导入自己的方案:(要求sunfcbp用户必须拥有dba或者imp_full_database的权限)imp userid=sunfcbp/123@myoracle file=e:\xxx.dp;导入其它方案:(要求system用户必须拥有dba或者imp_full_database的权限)imp userid=system/123@myoracle file=e:\xxx.dp fromuser=system touser=sunfcbp; 导入数据库:imp userid=system/123@myoracle full=y file=e:\xxx.dp;oracle dp命令的使用说明expdp命令的使用方法:expdp username/password@server_name dumpfile=xx.dp tables=table1,table2...table31、其中username/password@server_name指的是用户名、密码和服务名2、xx.dp为所导出的文件名3、table1,table2...table3指的是要导入的表的名称,中间以逗号隔开4、注意:导出的文件没有指定固定的目录,文件默认放在oracle\admin\数据库sid\dpdump 目录下。

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 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数据库导入导出方法:1.使用命令行:数据导出: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:\data\newsmgnt.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= d:\data\newsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

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

2.将d:\daochu.dmp中的表table1导入imp system/manager@TEST file=d:\daochu.dmp tables=(table1)3.不同名用户之间的数据导入:imp system/test@xe fromuser=hkb touser=hkb_new file=c:\orabackup\hkbfull.dmplog=c:\orabackup\hkbimp.log;2.plsql:数据导出:TOOLS-Export user objects(用户对象)TOOLS-Export tables(表)数据的导入:TOOLS-Import tablesOracle Import(表) SQL Inserts(用户对象)也可以将用户对象的语句拷贝出来,粘贴到Command Window这样的好处是可以看到执行的过程。

oracle数据库导入导出语句

oracle数据库导入导出语句

oracle数据库导⼊导出语句
oracle的exp/imp命令⽤于实现对数据库的导出/导⼊操作;exp命令⽤于把数据从远程数据库服务器导到本地,⽣成.dmp⽂件;imp命令⽤于把本地的数据库.dmp⽂件从本地导⼊到远程的oracle数据库中
1 将数据库test完全导出.⽤户名system/manager导出到D:daochu.dmp 代码如下:
exp file=d:daochu.dmp full=y
2.将数据库中system⽤户与sys⽤户的表导出代码如下:
exp file=d:daochu.dmp owner=(system,sys)
3.将数据库中的表table1 table2 导出代码如下:
exp file:= d:daochu.dmp tables=(table1,table2)
4.将数据库中的表table1中的字段filed1以"00"打头的数据导出代码如下;
exp file:=d:daochu.dmp tables=(table1) query="where filed1 like '00%'"
5.将D:daochu.dmp中的数据导⼊到test数据库中代码如下
imp file:=d:doachu.dmp (这样写的肯定会报错,因为数据库中已经存在表了,对该表就不能导⼊)
所以要在后⾯加上ignore=y就可以了
imp file:=d:daochu.dmp ignore=y 就可以了
6.将d:daochu.dmp中的表table1导⼊到test的数据库中
imp file:=d:daochu.dmp tables=(table1);。

Java导入导出Oracle

Java导入导出Oracle

使用java程序实现对oracle的导入和导出并创建表空间、用户、制定用户的默认表空间、给用户授权package com.bingfeng.cron.job;import java.io.BufferedReader;import java.io.File;import java.io.IOException;import java.io.InputStreamReader;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import erUtil;import erUtilException;public class JavaOracle{public static void main(String[] args) {expFile();// createTablespace("back2");// createUser("back2");// impFile("back2");// grant("leftf3");}/**得到一个oralce的连接*/public static Connection getConnection() {try {Class.forName("oracle.jdbc.driver.OracleDriver");} catch (ClassNotFoundException e) {e.printStackTrace();}Connection conn = null;try {conn = DriverManager.getConnection(UserUtil.getInstance().getUrl(),UserUtil.getInstance().getUsername(), UserUtil.getInstance().getPassword());} catch (UserUtilException e) {System.out.println("jdbc.property 文件解析失败!");e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return conn;}// 从oracle导出public static void expFile() {String[] cmds = new String[3];String commandBuf = "exp cwbak/cwbak@cwerpfile=c://cwbak.dmp log=c://cwbak.log";// String commandBuf = "exp cwuser/cwuser@cwerp// file=e://accbookBak//cwuser.dmp log=e://accbookBak//cwuser.log"; cmds[0] = "cmd";cmds[1] = "/C";cmds[2] = commandBuf.toString();Process process = null;try {process = Runtime.getRuntime().exec(cmds);} catch (IOException e) {e.printStackTrace();}boolean shouldClose = false;try {InputStreamReader isr = new InputStreamReader(process.getErrorStream());BufferedReader br = new BufferedReader(isr);String line = null;while ((line = br.readLine()) != null) {System.out.println(line);if (line.indexOf("????") != -1) {shouldClose = true;break;}}} catch (IOException ioe) {shouldClose = true;}if (shouldClose)process.destroy();int exitVal;try {exitVal = process.waitFor();System.out.print(exitVal);} catch (InterruptedException e) {e.printStackTrace();}}// 导入oraclepublic static void impFile(String tablespaceName) {String[] cmds = new String[3];String commandBuf = "imp system/system@cwerp fromuser=cwbak touser="+ tablespaceName + " file=c://cwbak.dmp ignore=y";cmds[0] = "cmd";cmds[1] = "/C";cmds[2] = commandBuf.toString();Process process = null;try {process = Runtime.getRuntime().exec(cmds);} catch (IOException e) {e.printStackTrace();}boolean shouldClose = false;try {InputStreamReader isr = new InputStreamReader(process.getErrorStream());BufferedReader br = new BufferedReader(isr);String line = null;while ((line = br.readLine()) != null) {System.out.println(line);if (line.indexOf("????") != -1) {shouldClose = true;break;}}} catch (IOException ioe) {shouldClose = true;}if (shouldClose)process.destroy();int exitVal;try {exitVal = process.waitFor();System.out.print(exitVal);} catch (InterruptedException e) {e.printStackTrace();}}//创建表空间public static void createTablespace(String tablespaceName) { Connection conn = null;PreparedStatement ps = null;conn = getConnection();String sql = "create tablespace " + tablespaceName+ " logging datafile" + "'" + tablespaceName + ".dbf'"+ "size 5M extent management local AUTOALLOCATE";System.out.println(sql);try {ps = conn.prepareStatement(sql);ps.executeUpdate();ps.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}// 创建用户并且制定已经创建好的表空间public static void createUser(String userName) {Connection conn = null;PreparedStatement ps = null;try {conn = getConnection();String sql1 = "create user " + userName+ " identified by abc default tablespace " + userName;// +" temporary tablespace " +"t"+userName; 临时表暂时没有用,不使用临时表String sql2 = "grant connect,resource to " + userName;String sql3 = "revoke unlimited tablespace from " + userName;String sql4 = "alter user " + userName + " quota 0 on " + userName;String sql5 = "alter user " + userName + " quota unlimited on "+ userName;// String sql6 = "grant dba to "+ userName;String str[] = new String[5];str[0] = sql1;str[1] = sql2;str[2] = sql3;str[3] = sql4;str[4] = sql5;// str[5] = sql6;for (int i = 0; i < str.length; i++) {ps = conn.prepareStatement(str);ps.executeUpdate();}ps.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}/*** 给具体的某个用户赋增、删、改、查以及dba的权限** @param dbUser*/public static void grant(String dbUser) {Connection conn = null;PreparedStatement ps = null;try {conn = getConnection();String sql1 = "grant select,insert,delete,update on " + dbUser + "表 to 用户";String sql2 = "grant dba to " + dbUser;//赋dba的权限String str[] = new String[20];str[0] = sql1;str[1] = sql2;for (int i = 0; i < str.length; i++) {ps = conn.prepareStatement(str);ps.executeUpdate();}ps.close();conn.close();} catch (SQLException e) {e.printStackTrace();}}}。

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使用expdb、impdb解决导出、导入时的用户修改、表空间修改变更问题

Oracle使用expdb、impdb解决导出、导入时的用户修改、表空间修改变更问题

Oracle使⽤expdb、impdb解决导出、导⼊时的⽤户修改、表空间修改变更问题对于Oracle的数据导出和导⼊,我们之前⼀直使⽤exp、imp来处理,但⽤imp在导⼊时经常会要求表空间⼀致,⽽博主今天恰恰就遇到了需要变更表空间和⽤户的情况,这在我们平常的业务场景中也会遇到,那么该如何处理呢?我们采⽤Oralce的 “数据泵” Data Dump来处理。

测试环境:Windows Server 2008 R2、Oracle11g⽬录1、数据泵(Data Dump)主要解决问题2、数据泵使⽤限制3、创建测试数据库4、导出源数据库5、导⼊⽬标数据库6、验证导⼊后表空间1、数据泵(Data Dump)主要解决问题①. ⽐imp/exp更加灵活,⽀持多种元数据过滤策略,多种导⼊、导出模式,如将A表空间B⽤户数据导⼊C表空间D⽤户下,则只需REMAP_SCHEMA即可②. 表空间占⽤和表空间变更问题,可使⽤REMAP_TABLESPACE来解决③. 空表问题,Oracle11g新的表并且表中⽆数据也为使⽤过则表的segment空间是不会分配的,这样在使⽤exp导出时空表便不会被导出,解决这个问题要么给空分配segment或直接使⽤expdp。

④. 效率问题。

普通情况下expdp/impdp⽐exp/imp效率要⾼,⾼多少博主没有测试,有兴趣的不妨验证下,@博主。

2、数据泵使⽤限制使⽤expdp、impdp有条件限制⼀是远程使⽤时必须配置好Database Link,因为expdp、impdp只能在服务端使⽤,不能再客户端使⽤;⼆是试⽤前要解决路径配置问题。

3、创建测试数据库创建源⽤户和表空间,为了便于操作我们给新创建⽤户授权的了dba权限,⼤家在本地使⽤时注意1. /*第1步:创建临时表空间 */2. create temporary tablespace test_source_temp3. tempfile 'D:\Oracle11g\oradata\test_source_temp.dbf'4. size 10m5. autoextend on6. next 1m maxsize unlimited7. extent management local;8.9. /*第2步:创建数据表空间 */10. create tablespace test_source11. logging12. datafile 'D:\Oracle11g\oradata\test_source.dbf'13. size 10m14. autoextend on15. next 1m maxsize unlimited16. extent management local;17.18. /*第3步:创建⽤户并指定表空间 */19. create user test_source identified by a12345620. default tablespace test_source21. temporary tablespace test_source_temp;22.23. /*第4步:给⽤户授予权限 */24. grant connect,resource,dba to test_source;创建两张测试表,⼀张基础数据类型,⼀张含clob、blob、date等复杂数据类型1. --表12. create table tab_13. (4. tab1_field1 number,5. tab1_field2 varchar2(20),6. tab1_field3 varchar2(10)9. insert into TAB_1 (tab1_field1, tab1_field2, tab1_field3) values (1, 'a12', 'a13');10. insert into TAB_1 (tab1_field1, tab1_field2, tab1_field3) values (2, '张22', '李23');11.12. --表213. create table TAB_214. (15. tab2_field1 NUMBER,16. tab2_field2 VARCHAR2(20),17. tab2_field3 DATE,18. tab2_field4 CLOB,19. tab2_field5 BLOB20. )21. --插⼊测试数据22. insert into TAB_2 (tab2_field1,tab2_field2,tab2_field3,tab2_field4,tab2_field5) values ('1','A12',SYSDATE,'测试1','C1');23. insert into TAB_2 (tab2_field1,tab2_field2,tab2_field3,tab2_field4,tab2_field5) values ('1','测试22',SYSDATE,'测试2','C2');24. insert into TAB_2 (tab2_field1,tab2_field2,tab2_field3,tab2_field4,tab2_field5) values ('1','嘿嘿32',SYSDATE,'测试3','C3');创建⽬标⽤户和表空间1. /*第1步:创建临时表空间 */2. create temporary tablespace test_target_temp3. tempfile 'D:\Oracle11g\oradata\test_target_temp.dbf'4. size 10m5. autoextend on6. next 1m maxsize unlimited7. extent management local;8.9. /*第2步:创建数据表空间 */10. create tablespace test_target11. logging12. datafile 'D:\Oracle11g\oradata\test_target.dbf'13. size 10m14. autoextend on15. next 1m maxsize unlimited16. extent management local;17.18. /*第3步:创建⽤户并指定表空间 */19. create user test_target identified by a12345620. default tablespace test_target21. temporary tablespace test_target_temp;22.23. /*第4步:给⽤户授予权限 */24. grant connect,resource,dba to test_target;4、导出源数据库这⾥需要注意:EXP和IMP是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

oracle导入【导出】BMP

oracle导入【导出】BMP

导入ORACLE数据库1.使用Net Configuration Assistant配置服务名团队开发只需要安装一个ORACLE数据库服务器即可,每一个人只需要配置客户端,方式有两种:一种是Net Configuration Assistant,另一种是Net Manager,Net Configuration Assistant基于向导,方便。

步骤:oracle配置与移除工具——>Net Configuration Assistant——> 本地Net服务名配置——》添加——>服务名——>TPC——>主机名见下图:选择“本地Net服务名配置”点击下一步选择“添加”“服务名”是数据库实例名(SID)选择“TCP”键入主机名,选择默认端口或者其他端口号不进行测试“网络服务名”在保证客户端不重复的情况下可以和服务器实例名同名,点击下一步,直到完成配置。

建好的服务名在Net Manager显示如下,此处服务命名存在和服务实例名不一致情况。

服务命名或者通过查看配置文件tnsnames.ora:参考网址:/fengyedqg/article/details/6200223/s/blog_4d711da701000kap.html2.创建用户和表空间,配置权限可以选择sqldeveloper或者PL SQL Developer来实现新建用户和表空间,也可以通过图形界面工具或者SQL语句来实现,此处我们已PL SQL Developer做为讲解。

步骤:Pl sql developer用具有DBA权限的“sys/密码”登陆,其他用户下创建用户,表空间可以用已建好表空间,临时表空间可以用temp,勾选角色权限,但是特定库要对应导出空间见下图具有DBA权限的用户sys/密码登陆,点击确定在Users建立新的拥有此数据库的用户,右键点击新建,如下图:“名称”为用户名,“口令”为用户密码,“默认表空间”请选择已建好的表空间,要与导入文件表空间名一致(建表空间见下),点击“应用”按钮保存。

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数据库表空间创建导⼊导出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根据已有表及数据创建表分区并导入数据oracle根据已有表及数据创建表分区并导入数据假设情景:现有System.Test表,数据量过千万,处于ts_Test表空间中。

表中有列A,将A=6与A小于6的数据进行分区确保不会有外部程序修改需要建表分区的表1. 对需要重建表分区的表进行备份,导出dmp,防止数据丢失Sql代码exp 用户名/密码@tns名file=c:/test.dmp log=c:/test.log full=n rows=y buffer=10240000 tables=System.T est2. 创建临时表,用来回导数据Sql代码create table system.Test_Baktablespace ts_Testasselect * from System.Test;3. 校验数据行数 Sql代码select count('x') c1 from System.Test;select count('x') c2 from System.Test_Bak;如果行数不一致需查找原因4. 重建表Sql代码truncate table System.Test;drop table System.Test;Sql代码create table System.Testtablespace ts_TestPARTITION BY RANGE(A)(PARTITION P1 VALUES LESS THAN ('6') TABLESPACE TS_TEST,PARTITION P2 VALUES LESS THAN ('7') TABLESPACE TS_TEST,PARTITION P3 VALUES LESS THAN (MAXVALUE) TABLESPACE TS_TEST)asselectfrom System.Test_Bak;第4步执行完之后,表里的数据就分散到了P1和P2分区中5. 重建索引,将原有表中的索引再建到System.Test表中。

oracle数据库用户创建、权限分配,以及导入,导出数据

oracle数据库用户创建、权限分配,以及导入,导出数据

下面数据库所用的版本为ORACLE 9I (9.2.0),安装数据库时,数据库系统会创建一个数据库实例,其中:安装目录选为:\oracle,数据库名与数据库SID号都输入:ora9i数据库安装完成后,有两个系统级的用户:1、system 默认密码为:manager2、sys 默认密码为:change_on_install在安装的数据库目录中找到\oracle\product\9.2\bin 中的sqlplus程序,运行:./sqlplus system/manager@ora9i用system用户创建自己的用户、权限;sql语句如下:1、创建用户:create user username identified by pwd default tablespace users Temporary TABLESPACE Temp;2、用户授权grant connect,resource,dba to business;3、提交:commit;如上面所述利用sqlplus以username 用户登陆,专输入:@创建数据库的脚本名称.sql回车,即可创建数据库中的表、视图、存储过程等。

如上面所述利用sqlplus以username 用户登陆,假设有两个数据库 9.0.1 与 9.0.21.导出数据exp system用户/system的密码@服务器名 owner用户名=“oradial ” fi le="oradial.dmp"说明:(1) 如果该命令是在本地执行,则不用指定服务器名(2) owner用户名,通过sys用户的登录所创建的用户名。

同时授予的权限包括connect , dba , resource ,还要创建表空间。

(3) system用户名,owner用户名是9.0.1数据库中的用户2.导入数据imp system用户/system的密码@服务器名 file=oradial.dmp fromuser(用户名)=oradial touser(用户名)=abc说明:(1) 如果该命令是在本地执行,则不用指定服务器名(2) touser用户名,通过sys用户的登录所创建的用户名。

数据库导入导出

数据库导入导出
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
exp system/manager inctype=incremental file=040731.dmp
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、 增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
优点:增量备份体积小,备份不影响正常业务。
缺点:对于备份集、日志文件和备份策略等需要有一定的维护成本和学习成本。
从数据库备份的对象来看,备份工作可以使用RMAN进行物理方式的备份,也可以使用exp/expdp工具进行逻辑方式的备份。物理备份又可以分为两种类型:1镜像复制备份:把数据文件,控制文件,归档日志文件进行操作系统复制,通过RMAN的copy命令实现
1. Oracle 数据库提供了多种数据库备份与恢复的解决方案,其中包括基于RMAN的备份、用户管理的备份、Data Pump Export、闪回技术等,这些主流的备份方式有不同的特性,请结合您的经历谈谈您对它们的理解。

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:指定所有权限)到这一步新建一个用户的工作就完成了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle数据库的导入导出及表空间的创建
(1)向oracle数据库中导入完整的数据库(后缀名:dmp)
首先进入cmd,输入sqlplus/nolog运行oracle自带程序,然后输入conn/as sysdba,以数据库管理员(dba)的身份链接到后台数据库。

step1:建立临时表空间(取名为:libsys_temp)
create temporary tablespace libsys_temp
tempfile&#39;D:\oracle\libsys_temp.dbf&#39;//指定空间存放路径
size1000M//为临时表空间分配磁盘空间
autoextend on
next10M maxsize2048M//若存入的数据量超过了分配的空间大小,
//则以每次新增10M的大小增大表间,但最大为2048M!
extent management local;//设置表空间的区管理为本地管理,为的是减少分配extent的时
//候产生的内部递归sql,提高数据库分配空间的效率.
step2:建立数据表空间,用于存储导入的数据库中的所有数据(取名:libsys_data) create tablespace libsys_data
logging//指明导入过程记入日志中
datafile&#39;D:\oracle\libsys_data.dbf&#39;//指定数据库保存的路径size10240M//注意表空间应足够大,否则导入将出错!
autoextend on
next100M maxsize20480M
extent management local;
step3:创建用户并指定表空间(PS:需拥有dba权限)
create user libsys identified by abc123//设置用户名:libsys,码:abc123.
default tablespace libsys_data//为用户指定刚刚建立的表空间libsys_data,以便保存与此用户相关的所有数据.
temporary tablespace libsys_temp;//为用户指定临时表空间libsys_temp,以提高数据库运行效率.
step4:给用户授权(需授予dba,connect和resource三个权限,否则无法完成数据库导入)
grant dba,connect,resource to libsys;
step5:将拷贝来的完整的数据库文件(此处为:&#39;libsys.dmp&#39;)导入到自己机器中的oracle数据库中
imp libsys/abc123file=&#39;D:\libsys.dmp&#39;full=y ignore=y;
//full=y表示全部导入,ignore=y表示忽略数据库中已存在的表,否则可能出错。

(特别注意:在进行step5之前,需要输入“exit”命令退出并返回到&#39;cmd&#39;命令后,才能做导入导出操作!!!!)
另外:若只想将数据库dmp文件中的部分表(此处为:item表)导入,则只需加上表名即可,方法如下:
imp libsys/abc123file=&#39;D:\libsys.dmp&#39;tables=(item);//其中的item为libsys.dmp数据库
文件中的一张表对象.
(2)将oracle数据库中的数据导出
A.导出完整的数据库(此处数据库为:libsys_data):
exp libsys/abc123file=&#39;D:\oracle\libsys.dmp&#39;full=y;//full=y表示全部导出.
B.将指定用户的数据表导出(此处为:用户xdw和用户newuser):
exp libsys/abc123file=&#39;D:\oracle\libsys.dmp&#39; owner=(xdw,newuser);
C.导出指定的数据库中的表(此处为:student表和teacher表):
exp libsys/abc123file=&#39;D:\oracle\libsys.dmp&#39; tables=(student,teacher);
D.导出数据库中表的指定字段(此处为:学生姓名中的姓为&quot;王&quot;)的数据(此处为:student表):
exp libsys/abc123file=&#39;D:\oracle\libsys.dmp&#39;tables=(student) query=\&quot;where studentName like&#39;王%&#39;\&quot;;。

相关文档
最新文档