oracle 导入数据库操作

来源:互联网 发布:网络安全设备维保方案 编辑:程序博客网 时间:2024/05/19 22:47
    在一个数据库里把一个用户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;