如何写批处理文件自动将数据导入oracle数据库
- 格式:docx
- 大小:18.36 KB
- 文档页数:4
Excel转换为sql语句导入Oracle数据库2009年01月16日星期五 20:33package excel;import java.io.File;import java.io.FileWriter;import java.io.IOException;import jxl.Sheet;import jxl.Workbook;public class ExcelToInsert {public static void main(String[] args) {String table_name = "OPERATION_FILTER"; //在此输入表名int ID = 0;int OPERATION_ID = 0;int USER_ID = 0;int STATUS = 0;String USER_CN = "";String USER_NAME = "";String SQL = "";final String EXL_NAME = "OPERATION_FILTER";final String BASE_PATH = "D:/data/"; // BasePathfinal String IN_EXL_PATH = BASE_PATH + EXL_NAME + ".xls"; // excelPath StringBuffer sb = null;FileWriter fw = null;int rows = 0;int columns = 0;try {fw = new FileWriter(BASE_PATH + EXL_NAME + ".sql");final String start = "REM INSERTING into " + table_name;fw.write(start + "\r\n"); // newline// read excel filetry {Workbook rwb = Workbook.getWorkbook(new File(IN_EXL_PATH));Sheet rs[] = rwb.getSheets();for (int i = 0; i < rs.length; i++) {rows = rs[i].getRows();columns = rs[i].getColumns();System.out.println(columns+","+rows);String[] ldapattr = new String[columns];for (int j = 0; j < rows; j++) {if (j == 0) {for (int g = 0; g < columns; g++) {ldapattr[g] = rs[i].getCell(g, j).getContents();}continue;}sb = new StringBuffer();sb = sb.append("\r\n");ID = Integer.parseInt(rs[i].getCell(0, j).getContents().trim());OPERATION_ID = Integer.parseInt(rs[i].getCell(1, j).getContents().trim());USER_ID = Integer.parseInt(rs[i].getCell(2, j).getContents().trim());USER_CN = rs[i].getCell(3, j).getContents().trim();USER_NAME = rs[i].getCell(4, j).getContents().trim();STATUS = Integer.parseInt(rs[i].getCell(5, j).getContents().trim());System.out.println("VALUE:"+ID+","+OPERATION_ID+","+USER_ID+","+USER_CN+","+USER_NAME+","+STATUS);SQL = "INSERT INTO TABLE " + table_name +"(ID,OPERATION_ID,USER_ID,USER_CN," + "USER_NAME,STATUS) VALUES "+ "("+ID+","+OPERATION_ID+","+USER_ID+"," +"\""+USER_CN+"\""+","+"\""+USER_NAME+"\""+","+STATUS+")";sb = sb.append(SQL + "\r\n");fw.write(sb.toString());}}} catch (final Exception e) {ID = 1;}fw.close();} catch (final IOException ex) {ex.printStackTrace();}}}Excel 表A、B、C、D、E、F列名分别是ID、OPERATION_ID \USER_ID、USER_CN、USER_NAME、STATUS。
将excel数据导入oracle中的几种方法将Excel数据导入Oracle数据库有多种方法,下面介绍几种常用的方法,包括使用Oracle SQL Developer、使用PL/SQL、使用OracleData Integrator(ODI)和使用第三方工具。
1. 使用Oracle SQL Developer导入数据Oracle SQL Developer是Oracle官方提供的数据库开发和管理工具。
它提供了一种简单直观的方法将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开Oracle SQL Developer并连接到目标数据库。
2)在导航栏中选择"表格"选项卡。
3)在"表格"选项卡中,右键单击要导入数据的表格,选择"导入数据"。
4) 在"导入数据"对话框中,选择"从文件"选项,并选择Excel文件。
5)配置导入选项,例如数据格式、目标表格和列映射等。
6)单击"导入"按钮,开始导入数据。
2.使用PL/SQL导入数据PL/SQL是Oracle的过程化编程语言,可以使用它编写脚本将Excel数据导入到Oracle数据库中。
步骤如下:1) 打开PL/SQL开发工具,例如Oracle SQL Developer或者Oracle PL/SQL Developer。
2)创建一个新的PL/SQL脚本。
3) 在脚本中使用INSERT语句将Excel中的数据逐行插入到目标表格中。
4)运行脚本以执行导入数据的操作。
3. 使用Oracle Data Integrator(ODI)导入数据Oracle Data Integrator(ODI)是一个数据集成工具,可用于将Excel数据导入到Oracle数据库中。
它提供了一种图形化的方法来定义和管理数据转换和导入操作。
步骤如下:1) 打开ODI Studio并连接到目标数据库。
最简单的方式制作Oracle数据库备份
1、编写一个.bat批处理文件:
一、在硬盘里新建一个txt文件,在文件中写上下面的语句。
exp 用户名/密码@数据库实例名file=存储物理路径\保存文件名
_%date:~0,10%.dmp
新建.txt文件
写入批处理语句
二、修改txt文件后缀为.bat
修改文件后缀名
三、测试.bat文件是否可用
文件正确,可用
2、编写自动程序
○1控制面板—任务计划—添加任务计划
○2选择任务程序
○3选择时间
选择日期(及多长时间备份一次数据库)
选择时间(即在那个时间备份)
○4输入计算机登录密码
○5单击完成
3、注意:
一、该文档所描述的备份是没有时间区分的,也就是说:今天备份的将替换昨天备份的。
二、批处理语句切记不能写错,而且格式非固定,具体格式可以上网查询。
三、因为是利用windows系统的工具调用批处理语句,所以当时间到了计划任务的时
间,会在电脑桌面上显示批处理(DOS)窗口。
备份结束前不可关闭。
M y s q l数据导入到O r a c l e中方法本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchMysql数据导入到Oracle中方法第一.Mysql方面首先要将文件导入到mysql.推荐大家使用Navicat Lite for MySQL工具。
可以自己创建一个用户如:aaa一定要选中里面的表右键选择运行批次任务文件然后选择自己要导入的文件。
注意编码:一定要选择GB2312或者是UTF-8如:点开始到完成。
这时数据就导入到了mysql里面了(可能会时间比较长一点)。
第二.Oracle注意将文件导入到oracle 这个就比较简单了。
imp xx/xx file= ignore=y full=y。
也可以用PLSQL Developer工具完成。
不再多说。
第三.下载转换软件现在来完成由mysql到oracle的数据导入用户请先下载一点工具:注意一定要看好是:Mysql-to-oracle还是oracle 到mysql。
然后安装它一路下一步就OK了。
第四.执行打开安装后的文件:Convert Mysql to Oracle 如图:选择 NEXT就行了。
关键是《设置》这一步,大家一定要注意了。
对于表存在问题大家自己因事件而选择。
字符集一定要选择gbk。
不选将后出现乱码。
让你头痛死了。
本人因为这点吃了好多苦头。
下面的就没有什么难的问题了。
注:对于mysql里面的数据类型和oracle里面的数据类型可能会有不同。
会出现错误。
这时你要修改一下mysql里面的数据类型。
要不,oracle里面只有表结构。
没有数据。
____________赵琳。
把数据从txt文件导入到Oracle数据库的实现方法
1、环境配置准备
在导入txt文件到Oracle数据库之前,我们需要配置环境,方可方
便后续的操作:
(1)安装Oracle数据库,并配置好数据库用户及其权限;
(2)安装Oracle的工具sqlldr,这是一个数据导入工具;
(3)在操作系统中,创建一个目录,用于存放sqlldr需要使用的控
制文件,以及要导入数据库的txt文件;
(4)编写好sqlldr需要的控制文件,控制文件可以定义数据的格式,以及要插入到数据库的表结构等;
(5)将要被导入的txt文件存放到上面定义的目录中;
2、编写sqlldr控制文件
sqlldr提供了一种类SQL语句的控制文件,这些控制文件用于描述
如何将txt文件中的数据导入到Oracle数据库中,主要包括以下几方面
的内容:
(1)数据的编码;
(2)要被导入的表名;
(3)每个要被导入的字段的定义,包括其类型、长度等;
(4)数据的分隔符,比如以空格分隔或者以tab分隔等;
(5)进行数据校验,比如检查给定字段的数据是否是满足要求的类型等;
(6)如果数据中有时间字段,可以定义时间的格式;
(7)数据导入失败的记录日志路径;
(8)定义要被导入的字段的映射关系,比如txt文件中的列名与表中的字段没有一一对应;。
Txt文件导入oracle数据库方法在Oracle数据库中,可以使用SQL*Loader工具或者外部表的方式将文本文件(.txt文件)导入到数据库。
下面我将为你详细介绍这两种方法。
方法一:使用SQL*Loader工具导入txt文件1.创建控制文件控制文件是SQL*Loader用来定义数据导入规则的文件。
它描述了数据文件的格式、目标表的结构,以及导入时的数据转换和验证规则。
例如,假设我们要将一个txt文件中的数据导入到名为EMP的表中,EMP表的结构如下:CREATETABLEEMPEMPNONUMBER(4),ENAMEVARCHAR2(10),JOBVARCHAR2(9),MGRNUMBER(4),HIREDATEDATE,SALNUMBER(7,2),COMMNUMBER(7,2),DEPTNONUMBER(2)我们可以创建一个名为emp.ctl的控制文件,内容如下:LOADDATAINFILE 'emp.txt'APPENDINTOTABLEEMPFIELDS TERMINATED BY ',' optionally enclosed by '"'EMPNO,ENAME,JOB,MGR,HIREDATECHAR"YYYY-MM-DD",SAL,COMM,DEPTNO2.准备数据文件在导入数据之前,需要将数据准备好并保存为一个txt文件(如emp.txt)。
确保数据文件的每一行与控制文件中的字段一一对应,并且字段之间以逗号分隔,如下所示:7902,SMITH,CLERK,7901,1980-12-17,800,,207369,ADAMS,CLERK,7876,1983-01-12,1100,,20...3. 使用SQL*Loader导入数据打开命令行窗口(或终端),输入以下命令导入数据:其中,username是数据库用户名,password是数据库密码,database是数据库实例名。
主题:使用Oracle JDBC连接实现批量导入参数内容:1. 介绍Oracle JDBC连接Oracle JDBC是一种用于连接Oracle数据库的Java API,它允许Java应用程序与Oracle数据库进行通信和交互。
通过使用Oracle JDBC连接,可以实现对Oracle数据库的数据操作,包括查询、更新、删除、插入等。
2. 批量导入参数的意义在实际开发过程中,有时需要将大量数据一次性导入到Oracle数据库中。
这时,使用批量导入参数的方式可以提高导入效率,减少数据库访问的次数,从而提升系统性能。
3. 使用Oracle JDBC连接实现批量导入参数步骤如下:3.1. 导入Oracle JDBC驱动包在Java应用程序中,首先需要导入Oracle JDBC驱动包,以便能够使用Oracle JDBC连接。
3.2. 建立数据库连接使用Oracle JDBC连接,首先需要建立与Oracle数据库的连接。
可以通过以下代码实现:```javaString url = "jdbc:oracle:thin:192.168.1.1:1521:ORCL";//数据库连接位置区域String user = "username";//用户名String password = "password";//密码Connection conn = DriverManager.getConnection(url, user, password);//建立数据库连接```3.3. 设置批量导入参数在建立数据库连接后,需要设置批量导入参数。
可以通过以下代码实现:```javaString sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)";//插入语句PreparedStatement pstmt = conn.prepareStatement(sql);//准备插入语句```3.4. 执行批量导入操作在设置好批量导入参数后,可以通过循环方式批量导入数据。
excel转oracle的insert语句如何将Excel数据转换为Oracle的Insert语句在数据库开发中,我们经常需要将Excel中的数据导入到Oracle数据库中。
为了实现这一目标,我们可以使用Excel VBA或Python等编程语言来处理数据,生成相应的Insert语句。
下面将以此为主题,一步一步回答如何将Excel数据转换为Oracle的Insert语句。
1. 准备工作:在开始之前,我们需要确保以下几个准备工作已经完成:- 安装Oracle数据库:确保你的计算机上已经安装了Oracle数据库,并且可以正常连接。
- 创建目标表:在Oracle数据库中创建一个与Excel数据对应的表,确保表结构与Excel数据中的列一致。
2. 导入Excel数据在这一步,我们将使用Excel VBA或Python等编程语言将Excel数据导入到一个新建的工作表中。
- Excel VBA:打开Excel文件,按下Alt+F11快捷键打开VBA编辑器,右键点击项目中的"Microsoft Excel 对象",选择插入-模块,然后在编辑器中编写相应的代码。
以下是一个简单的示例:vbaSub 导入数据()Dim ws As WorksheetDim rng As RangeDim conn As ObjectDim rs As ObjectDim sql As StringDim i As LongSet ws = ThisWorkbook.Sheets("Sheet1") '替换为你的工作表名Set rng = ws.Range("A2:D" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) '替换为你的数据范围'建立数据库连接Set conn = CreateObject("ADODB.Connection")conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=your_db;UserID=your_username;Password=your_password;" '替换为你的数据库连接信息conn.Open'循环生成Insert语句For i = 1 To rng.Rows.Countsql = "INSERT INTO your_table (column1, column2, column3, column4) VALUES ("sql = sql & "'" & rng.Cells(i, 1).Value & "'," '替换为你的列名和对应的数据类型sql = sql & "'" & rng.Cells(i, 2).Value & "',"sql = sql & "'" & rng.Cells(i, 3).Value & "',"sql = sql & "'" & rng.Cells(i, 4).Value & "')"conn.Execute sqlNext i'关闭连接conn.CloseSet rs = NothingSet conn = NothingMsgBox "数据导入完成!"End Sub- Python:使用Python需要安装pyodbc库,并且需要先设置好数据源。
数据导入Oracle方法总结一、使用shp2sdo并结合SQL*Loader导入*.shp文件shp2sdo是Oracle提供的一个工具,帮助用户导入*.shp文件到Oracle Spatial中。
准备材料:shp2sdo.exe可执行文件、空间数据(此处以ArcGIS自带的World数据为例)在Windows操作系统下的导入步骤分为以下三步:1,在命令行下执行shp2sdo.exe文件。
并输入一个shapefile文件(此处为world30.shp)。
2,重新运行一个命令行窗口,用户登陆数据库后执行上步生成的SQL脚本(本例为tb_world30.sql)。
3,利用SQL*Loader执行第一步生成的*.ctl文件(tb_world30.ctl),把第二步生成的表加载至Oracle Spatial。
导入成功后,我们可以打印些数据看下:还可以登录到Oracle Enterprise Manager Console中查看生成的表的相关信息:二、使用Oracle的导入/导出(Imp/Exp)命令下面我们把scott用户下的COURSE表导入lxf用户。
首先,将scott用户的Course表导出至D盘下:然后,将D盘中的.dmp数据导入lxf用户:在Oracle Enterprise Manager Console中查看如下:三、用SQL*Loader工具向Oracle中导入Excel表格数据准备工作:在目标目录的菜单栏中选择“工具-文件夹选项”,选择弹出对话框的“查看”选项卡,找到“隐藏已知文件的扩展名”,将其勾去。
如下图红框所示:步骤如下:1,将待导入的Excel表格另存为制表符分隔格式(如果没有这一选项,说明安装不全,此时可以直接将Excel表中的数据复制到记事本中,如右图),取名为text.txt,保存到相应目录下。
2,在数据库中创建相应的表:3,在text.txt文件所在目录下新建一个文本文档,命名为input.ctl, 输入以下内容后保存。
kettle 批量导入文本数据到mysql、oracle数据库1Kettle 工具Kettle是开源的ETL工具,纯java编写,可以在Windows、Li nux、Unix上运行,数据抽取高效稳定。
Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
Kettle中有两种脚本文件,transformation和job,transformati on完成针对数据的基础转换,job则完成整个工作流的控制。
2背景工作中有时会有一种需求,将几百个文件导入的数据库中,这时如果一个一个去导入工作量非常大,而且容易出错不好控制。
使用k ettle 可以非常容易的解决。
2.1转换文件如果有批量文件导入的可以下载本文件获取编辑好的转换。
3使用说明3.1打开下载好的转换文件3.2修改文本文件输入第一步:打开编辑界面第二步:通过通配符选择文件第三步:测验是否可以正常读到文件名第四步:内容设置说明:根据实际填写第五步:字段设置3.3修改插入/ 更新第一步:打开编辑界面第二步:选择数据库连接及需要导入的表第三步:配置数据如果存在是更新还是跳过说明:如果文本字段Field_005 和数据库表server_no 相等,对字段server_no,statis_date 字段不进行更新。
4符:新建数据库连接Mysql jdbc连接为例:第一步:工具-向导-创建数据库连接向导第二步:填写数据库连接名称-选择数据库类型-选择数据库访问类型-NEXT(下一步)第三步:服务器主机名(ip)-数据库端口-数据库名- NEXT(下一步)第四步:输入数据库用户名密码-点击测试-成功后点击Finish。
如何写批处理文件自动将数据导入oracle数据库Oracle数据库的自动导入与导出,在许多地方有广泛的应用.例如:一个Oracle数据库应用系统开发结束后,如果要将系统安装到客户计算机上,就需要将初始数据导入到用户的Oracle数据库中.最近项目中也需要实现以上功能,花了点时间搜索实验,整理如下:先把要安装的初始数据文件导出为initial.dmp,然后在客户计算上安装好oracle,接着执行批处理文件impInitialData.bat(与该批处理文件同一目录还有createuser.sql,initial.dmp两个文件)impInitialData.bat中内容如下:@echo offsqlplus system/manager @createuserimp system/manager file=initial.dmp fromuser=initialuser touser=initialuser ignore = y上面的createuser是一个扩展名为sql的文件.与批处理文件放在同一目录下.其内容为:create user initialuser identified by test;grant dba,resource,connect to initialuser;exit;简要解释一下:@echo off 表示其之后的命令不在命令提示符窗口显示出来sqlplus为oracle的一个工具程序,须先安装oracle后才能使用system/manager 为oracle的一个默认管理员帐户,如果被锁定或更改密码了就不能用了,可以用其它的帐户/密码来替换;@createuser 表示执行createuser.sql文件该sql文件中, create user xx identified by yy;表示创建一个密码为yy的用户xx;grant dba,resource,connect to xx;表示授权给用户xx dba,resource,connect 权限imp 为导入数据命令,后面的参数中file表示要导入的数据库文件;fromuser表示原导出的数据库文件的用户名;touser表示要导入的数据库的用户名;ignore表示忽略错误大致的方法就是这样,可以再增添其它命令来执行更复杂的操作.Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。
大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。
Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接(通过net8 assistant中本地-->服务命名添加正确的服务命名其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。
你同样可以把dmp文件从本地导入到远处的数据库服务器中。
利用这个功能你可以构建俩个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于在oracle 8i 中安装目录\ora81\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文件可以很好的压缩。
不过在上面命令后面加上compress=y 就可以了数据的导入1 将D:\daochu.dmp 中的数据导入TEST数据库中。
imp system/manager@TEST file=d:\daochu.dmp上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入imp system/manager@TEST file=d:\daochu.dmp tables=(table1)基本上上面的导入导出够用了。
不少情况我是将表彻底删除,然后导入。
注意:你要有足够的权限,权限不够它会提示你。
数据库时可以连上的。
可以用tnsping TEST 来获得数据库TEST能否连上。
以前我们一般都是使用PL/SQL Developer来实现,但是PL/SQL Developer在导出、导入数据时有两个问题:1、要把表数据和对象(存储过程、视图)分开导出2、导出的视图如果有注释,那么在导入时常常会出错。
其实,PL/SQL的导出、导入功能使用的是Oracle自带的工具:exp和imp,这两个工具的导出导入数据时提供了很多功能,PL/SQL 只是使用其中的一些功能。
下面对它们简单介绍一下:1 exp/imp使用方法及实例exp/imp为一种数据库备份恢复工具也可以作为不同数据库之间传递数据的工具两个数据库所在的操作系统可以不同exp 可以将数据库数据导出为二进制文件imp 可以将导出的数据文件再导入到相同的数据库或不同的数据库数据库导出有四种模式full(全库导出), owner(用户导出), table(表导出), tablespace(表空间导出).full( 全库导出): 导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS 这些系统用户之外的所有用户的数据.owner( 用户导出): 导出某个或某些用户的所有权限和数据.tables( 表导出): 导出某些表(可以是不同用户的)的结构和数据.tablespace( 表空间导出):表空间导出数据.执行exp 有三种方法:交互式,命令行和参数文件交互式:直接输入exp 命令用户可以按照exp 提示的信息一步一步操作,比较简单.命令行:输入命令行exp username/password parameter=value.参数文件:输入命令行exp username/password parfile=filename exp 所需的参数从参数文件引入.参数是可以重复的优先级为命令行优于参数文件后面的参数值覆盖于前面的参数值.参数介绍详细的介绍可通过exp help=y或imp helpe=y来查看。
下面只对一些常用的参数进行说明。
buffer 缓冲区大小如果此值设为0 则一次只导入一条记录对数据量大的导出可以设置较大一般缺省值即可.file 导出的文件列表可以指定一个或多个文件名缺省扩展名为.dmp 缺省导出文件名为expdat.dmp.filesize exp 导出文件的最大字节数超出时从文件列表中获取下一个文件名,没有,则提示输入新的文件名.help 显示export 参数帮助信息inctype 增量备份的类型:complete(完全),cumulative(累积)和incremental (增量).只可以在全库导出模式下才可以做完全累积或增量导出累积导出只导出自上次累积导出或完全导出以来已经修改的表增量导出只导出自上次增量累积或完全导出以来已经修改的表完全导出将数据库中全部对象都导出不管是否以及何时被修改.log:日志文件,一般如果以命令行导入时,将log 设置上比较好可以看,到所有的导入信息,导入信息哪儿出错,导入了那些数据库对象.show(imp):只是用来显示备份数据文件的内容.full:为Y 时表示在全库方式下导出缺省为N.tables:导出的表列表可以指定一个或多个表名.fromuser(imp):可以将导出文件中的一个用户模式的数据对象导入为另一个用户模式的对象此参数表示导出文件中的用户模式.touser(imp):此参数表示导入到数据库中时使用的用户模式对象譬如使用全库或者用户模式导出caittmdba用户的所有对象到一个文件中导入时需要将用户模式名称改为caittmdba1此时fromuser 为caittmdba,touser 为caittmdba1导出、导入实例导出数据:D:\oracle\ora92\bin\exp userid=caittmdba/cait@YSDB_192.168.1.2 owner=caittmdba file=e:\%DATE%.dmp log=e:\exp.log通过该命令可以把caittmdba这个用户所属的所有数据、对象导出到一个文件中,导出的日志写在e:\exp.log文件中,连接Oracle的本地服务名为YSDB_192.168.1.2,导出的文件为e:\%DATE%.dmp,这个文件的文件名是当前的日期。
如果把这个命令写成批处理文件,并放到计划任务中,就可以自动进行备份数据了。
导入数据:D:\oracle\ora92\bin\imp userid=caittmdba/cait@YSDB_192.168.1.2 fromuser=caittmdba touser=caittmdba file=e:\data.dmp log=e:\imp.log注意事项在导出数据时常常会出现Oracle 942 错误,这个错误往往是在对Oracle进行了升级后才会出现,这是Oracle升级程序的一个Bug(Oracle的Bug和补丁一直以来都是满天飞,而且不成体系,文档和技术支持以少,这一点和MS比起来就差很远了。