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中是怎么样的,没有测试过
相关文档:
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,
......
分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是
对于每个组返回多行,而聚合函数对于每个组只返回一行。
SQL> select t.empno,t.ename,sum(t.sal)
2 from emp t;
select t.empno,t.ename,sum(t.sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> selec ......
Using Oracle Trace Analyzer (trcanlzr.sql)
Dave Moore: Author of Oracle Utilities
Oracle has provided another utility initially designed for performance tuning Oracle Applications. Trace Analyzer is provided in the form of a PL/SQL package (TRCA$ ). The Trace Analyzer utility i ......
1。基本概念:
数据库连接串主要用于建立对远程数据库的访问方法,可以直接读取远程Oracle的数据,或者直接修改。数据库连接串可以是公用连接PUBLIC或者私有连接PRIVATE。这一点和同义词很相像。
1。创建语法:
CREATE DATABASE LINK TEST CONNECT TO USERNAME IDENTIFIED BY PASSWORD
USING 'CONNECT_STRING ......
当执行插入等操作时出现错误提示“unable to extand table ……” ,则说明该表所在表空间空间不足了。
如果是在winserver下则为表空间增加文件即可(本文不做介绍)。
本文主要介绍数据库服务器环境为AIX时,如何为表空间增加裸设备。
这里
包含AIX系统存储管理的基本介绍;
AIX通过三个层次对 ......