`
tomrose
  • 浏览: 144532 次
  • 来自: ...
社区版块
存档分类
最新评论

9i 导入导出

阅读更多
//创建临时表空间

create temporary tablespace zfmi_temp
tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

//tempfile参数必须有


//创建数据表空间

create tablespace zfmi
logging
datafile 'D:\oracle\oradata\zfmi\zfmi.dbf'
size 100m
autoextend on
next 32m maxsize 2048m
extent management local;

//datafile参数必须有


//删除用户以及用户所有的对象

drop user zfmi cascade;

//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数


//删除表空间
前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除

drop tablespace zfmi including contents and datafiles cascade onstraints;

//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
//including datafiles 删除表空间中的数据文件
//cascade constraints 同时删除tablespace中表的外键参照


如果删除表空间之前删除了表空间文件,解决办法:

如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启动和关闭。
可使用如下方法恢复(此方法已经在oracle9i中验证通过):
下面的过程中,filename是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name是相应的表空间的名称。
$ sqlplus /nolog
SQL> conn / as sysdba;
如果数据库已经启动,则需要先执行下面这行:
SQL> shutdown abort
SQL> startup mount
SQL> alter database datafile 'filename' offline drop;
SQL> alter database open;
SQL> drop tablespace tablespace_name including contents;

//创建用户并指定表空间

create user zfmi identified by zfmi
default tablespace zfmi temporary tablespace zfmi_temp;

//identified by 参数必须有


//授予message用户DBA角色的所有权限

GRANT DBA TO zfmi;


//给用户授予权限

grant connect,resource to zfmi; (db2:指定所有权限)


导入导出命令:

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件, imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,
该目录下有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=y
2 将数据库中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.dmp
   imp aichannel/aichannel@HUST 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能否连上。

附录一:
给用户增加导入数据权限的操作
第一,启动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 - Production
With the Partitioning option
JServer 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=TGPMS     
        TOUSER=TGPMS2     (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)        
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log
分享到:
评论

相关推荐

    oracle9i导入导出[汇编].pdf

    oracle9i导入导出[汇编].pdf

    oracle9i导入导出

    在Oracle9i中使用Oracle Manager Server实现数据的导入导出

    oracle9i全备份导入到11g说明

    文档简单介绍了关于oracle9i全备份,导入oracle11g时,因blocksize 不一致的处理方式,帮助大家解决此类问题。

    Oracle导入导出.ppt

    数据库的导入导出实用工具IMP和EXP是 Oracle 9i版本以前的逻辑备份与恢复方式,但是在Oracle 9i和Oracle 10g以后仍然保留了这个功能。 利用EXP可将数据从数据库中提取出来,利用IMP则可将提取出来的数据送回Oracle...

    利用Oracle管理服务器将数据导入导出

    在Oracle 9i中可以方便的把数据导出为文件,或者从文件导入。通过Oracle的管理服务器(Oracle Management Server,OMS)可以方便的实现,整个操作...本文将为大家介绍如何利用Oracle管理服务器将数据导入导出的方法。

    Oracle9i导出和导入的性能优化.pdf

    Oracle9i导出和导入的性能优化.pdf

    oracle9i备份、恢复、导入、导出[收集].pdf

    oracle9i备份、恢复、导入、导出[收集].pdf

    利用Oracle的管理服务器将数据导入导出

    在Oracle 9i中可以方便的把数据导出为文件,或者从文件导入。通过Oracle的管理服务器可以方便的实现,本文介绍了利用Oracle的管理服务器将数据导入导出的方法。

    oracle10g数据导入到oracle9i解决方案

    oracle9.2.0.5以前的版本导出带有BLOB,CLOB等大字段的时候会报错,oracle9.2.0.5以后的版本不会出现此错误。oracle9.2.0.5以前的版本导出带有BLOB,CLOB等大字段的时候会报错解决办法:

    oracle9i的EXP和IMP

    oracle9i的EXP和IMP。方便只下载客户端精简版,但是又有导入导出需求的朋友。

    SQL2000将数据导入Oracle9i的方法

    SQL2000将数据导入Oracle9i的方法,查询了网上其他人的方法,自己也实际操作了一下,将心得和大家分享一下

    用JSP实现XML文件到Oracle数据库的导入和导出.pdf

    ]现阶段比较成熟稳定的JAVA 平台,具体实现技术为JDK1.6.0+Tomcat+Hibernate+Oracle9i,以JSP 为技术实现XML 文件 到Oracle 数据库的导入和导出。

    oracle9i备份

    oracle 的oracle9i备份、恢复、导入、导出。随你看,不看你就会后悔的!

    教你在oracle中导入.dmp数据库文件

    执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在oracle 9i 中 安装目录ora92BIN被设置为全局路径,该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

    Oracle 数据库管理

    熟练在windows平台安装Oracle 9i数据库软件 了解Oracle 9i中用户管理和安全 熟练Oracle 9i数据导入和导出 熟练Oracle 9i数据备份与还原

    oracle使用教程

    oracle使用教程包括。oracle函数大全,oracle数据导入导出,oracle序列, oracle9i教程

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    数据库的导入导出 42 Oracle查询中rownum与Order by查询 45 oracle9i小结 46 Oracle 数据库的聚簇技术 61 数据库、服务名、实例 63 Oracle内存结构 64 sys用户和system用户 67 Oracle SQL语句 67 GROUPING SETS分组 ...

    oracle详解

    当导入导出的数据库运行在不同的os下时,必须保证recordlength参数的值一致. imp:通过以下几个途径优化 1.避免磁盘排序 将sort_area_size设置为一个较大的值,比如100M 2.避免日志切换等待 增加重做日志组的数量,...

    oracle数据库修复

    以纯文本导出时,能够自动生成建表的SQL语句和SQL*Loader导入所需的control文件 模拟Oracle的dump块功能,能够dump数据文件中的数据块 支持DESC表,以显示表的列定义 支持列出表的分区和子分区

    Oracle数据库恢复工具Oracle Database Unloader(ODU)3.09

    以纯文本导出时,能够自动生成建表的SQL和SQLLDR导入所需的CONTROL文件(.CTL) 支持同一个库中不同的块大小的数据文件。 全面支持LOB字段: 支持CLOB、NCLOB和BLOB CLOB支持Big Endian和Little Endian字节序 ...

Global site tag (gtag.js) - Google Analytics