当前位置: 代码迷 >> Web前端 >> ORACEL 导入DMP 资料步骤
  详细解决方案

ORACEL 导入DMP 资料步骤

热度:649   发布时间:2012-09-04 14:19:30.0
ORACEL 导入DMP 文件步骤
先要建立用户 或者 表空间 在这里我就用默认的表空间USER 不建表空间 建立用户之后 ORACLE会自动帮你指定默认的表空间

1.建立用户(用户最好是要与原来的用户一样)
还是写写建立表空间的吧
-1 执行SQL语句建立表空间
CREATE   TABLESPACE   GDGTT  LOGGING  
DATAFILE   'D:\app\Administrator\oradata\orcl\GDGTT.DBF'   SIZE   500M   AUTOEXTEND   ON   NEXT   50M
EXTENT   MANAGEMENT   LOCAL   SEGMENT   SPACE   MANAGEMENT     AUTO   ;

CREATE   TABLESPACE   GISDB  LOGGING  
DATAFILE   'D:\app\Administrator\oradata\orcl\GISDB.DBF'   SIZE   500M   AUTOEXTEND   ON   NEXT   50M
EXTENT   MANAGEMENT   LOCAL   SEGMENT   SPACE   MANAGEMENT     AUTO   ;

--2 建立用户并关联表空间
create user gisdb identified by gisdb default tablespace GISDB ;

--3 用户授权
grant connect,dba to gisdb;--授权
select * from all_users where username='gisdb';--检索名为gisdb的用户

4.导入DMP文件  要么在PL/SQL导 要么直接用命令 imp

转载一篇博客


在一个数据库里把一个用户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 touser=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;