先要建立用户 或者 表空间 在这里我就用默认的表空间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;