oracle imp忽略表空间,Oracle用imp导入用户表时选择表空间的问题

Oracle用imp导入用户表时选择表空间的问题

自己觉得对Oracle还掌握得不错,不过昨天隔壁实验室的同学问了我一个问题让我郁闷了一把。她在一个数据库里把一个用户A的在表空间AA上的表

用exp导出到exp.dmp文件中,再把它导入到另一台机器上的数据库里,这时她用的是用户B,默认表空间是BB,但是用imp导入时我们发现表是导入

到了B用户下,但是还是存在了AA表空间里面,但是她需要导入到BB里,这时我们又试了好几次,都是这样。才发现自己以前都是复制过来的数据库,没有涉及

到更改表空间,于是上网查了查,幸好有好心人有解决方案。

SQL> create user myhuang identified by myhuang default tablespace myhuang;//先创建一个用户

SQL> grant resource,connect to myhuang;

SQL> grant dba to myhuang;//

DBA

权限

SQL> revoke unlimited tablespace from myhuang;//

撤销此权限

SQL> alter user myhuang quota 0 on system;//

将用户在

System

表空间的配额置为

0

SQL> alter user myhuang quota unlimited on myhuang;//

设置在用户在

myhuang

表空间配额不受限。

经过上述设置后,就可以用

imp

导入数据,数据将会进入指定的

myhuang

表空间:

C:\Documents and Settings\myhuang>imp system/123456@vdb fromuser=lnxh tous

er=myhuang file=G:\myhuang\lnxh.dmp ignore=y grants=n

顺便说两个小问题:

(

1

)

IMP-00003:

遇到

ORACLE

错误

1658

ORA-01658:

无法为表空间

MYHUANG

中的段创建

INITIAL

通常这个问题可以通过

Resize

增加表空间数据文件大小来解决。

(

2

)删除表空间

SQL> drop tablespace myhuang including contents and datafiles;

[个人补充]

如遇IMP

-00003

: ORACLE error 1950 encountered.

ORA-01950

: no privileges on tablespace 'XXXXXXX'

说明你的表中有BLOB之类的字段,此类表无法导入新的表空间

网上说9i中此问题没有完美的解决方案,估计只能先建一个同名的表空间,然后把这个表移到新的表空间中

不知道10g和11g中是怎么样的,没有测试过

相关文档:

本文来自http://www.cnblogs.com/rootq/articles/1177562.html

Oracle 数据库的绑定变量特性及应用

关键词:

绑定变量(binding variable),共享池(shared buffer pool), SGA(system global area);

在开发一个数据库系统前,有谁对Oracle 系统了解很多,尤其是它的特性,好象很少吧;对初学者来讲,这更是不可能的事情;仅仅简� ......

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

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,

......

1。基本概念:

数据库连接串主要用于建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改。数据库连接串可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。

1。创建语法:

CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORD

USING 'CONNECT_STRING ......

/*

--DML触发器类型:

分为语句级触发器和行级触发器.

语句级触发器不需要加for each row关键字,并且不能使用:new 和 :old关键字.对整个sql语句只执行一次触发器.

行级触发器需要加for each row关键字,可以使用:new和:old关键字,对整个sql语句影响到的每一行都执行一次触发器.

--:new和:old关键字总结

:new指的是当前D ......

方法一:

SQL>create table aa(a number);

创建成功。

SQL> select * from aa;

A

--------

2

SQL>

SQL> insert all

2 into aa values(1)

3 into aa values(2)

4 select * from dual;

已创建2行。

SQL> commit;

提交完成。

SQL> select * from aa;

A

----------

2

1

2

方法二:

S ......

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值