• oracle将数据导入指定表空间


    在使用oracle的 exp 和imp 导出导入的时候。有时遇到,需要导入的数据不是同一个用户的,也不一定是同一个表空间。

    例如,源数据库,上用户为aaa,表空间aa 目标数据库 ,用户为bbb 表空间bb 当用imp导入以后查看发现,bbb没有aa这个表空间,但是还是导入进去了,不过全部都跑到了users里面。这种情况时常有发生,特别是迁移数据库的时候。那么为了更好的管理表空间和数据表,可以采用下面的方式。

    连接目标数据库

    oracle@UCITDB:~> sqlplus /nolog SQL

    *Plus: Release 10.2.0.1.0 - Production on Fri Oct 15 16:14:29 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved.

    SQL> CONN /AS SYSDBA Connected.

    SQL> revoke unlimited tablespace from ucitdba;

    Revoke succeeded. 删除该用户的表空间使用限制

    SQL> alter user ucitdba quota 0 on users;

    User altered. 修改表空间使用参数

    SQL> alter user ucitdba quota unlimited on ucit;

    User altered. 将目标表空间的无限制使用权限赋给用户

    SQL> quit

    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options

    imp ucitdba/111111 fromuser=ucitdba touser=ucitdba file=/opt/oracle/oradata/backup/ucit_20101015.dmp tablespaces=ucit grants=y

    具体地址根据自己的设置修改,之后回车搞定

    如果出现了tablespaces的错误。那么是因为dmp文件中还有大量的创建表的命令中含有表空间users 可以使用 UltraEdit 将 tablespaces "USERS" 替换成 你的表空间,保存后,重新导入。

  • 相关阅读:
    表连接问题
    public interface Serializable?标记/标签接口
    4.21
    第十周周记
    测试
    第九周周记
    第七周周记
    fighting.
    fighting
    作业一
  • 原文地址:https://www.cnblogs.com/dba_xiaoqi/p/1852357.html
Copyright © 2020-2023  润新知