伊文硕Oracle 2011-12-15
先要建立用户或者表空间在这里我就用默认的表空间USER不建表空间建立用户之后ORACLE会自动帮你指定默认的表空间
1.建立用户(用户最好是要与原来的用户一样)
还是写写建立表空间的吧
-1执行SQL语句建立表空间
CREATETABLESPACEGDGTTLOGGING
DATAFILE'D:\app\Administrator\oradata\orcl\GDGTT.DBF'SIZE500MAUTOEXTENDONNEXT50M
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
CREATETABLESPACEGISDBLOGGING
DATAFILE'D:\app\Administrator\oradata\orcl\GISDB.DBF'SIZE500MAUTOEXTENDONNEXT50M
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
--2建立用户并关联表空间
createusergisdbidentifiedbygisdbdefaulttablespaceGISDB;
--3用户授权
grantconnect,dbatogisdb;--授权
select*fromall_userswhereusername='gisdb';--检索名为gisdb的用户
4.导入DMP文件要么在PL/SQL导要么直接用命令imp
转载一篇博客
在一个数据库里把一个用户A的在表空间AA上的表用exp导出到exp.dmp文件中,再把它导入到另一台机器上的数据库里,这时她用的是用户B,默认表空间是BB,但是用imp导入时我们发现表是导入到了B用户下,但是还是存在了AA表空间里面,但是她需要导入到BB里
SQL>createusermyhuangidentifiedbymyhuangdefaulttablespacemyhuang;//先创建一个用户
SQL>grantresource,connecttomyhuang;
SQL>grantdbatomyhuang;//赋DBA权限
SQL>revokeunlimitedtablespacefrommyhuang;//撤销此权限
SQL>alterusermyhuangquota0onsystem;//将用户在System表空间的配额置为0
SQL>alterusermyhuangquotaunlimitedonmyhuang;//设置在用户在myhuang表空间配额不受限。
经过上述设置后,就可以用imp导入数据,数据将会进入指定的myhuang表空间:
C:\DocumentsandSettings\myhuang>impsystem/123456@vdbfromuser=lnxhtouser=myhuangfile=G:\myhuang\lnxh.dmpignore=ygrants=n
顺便说两个小问题:
(1)IMP-00003:遇到ORACLE错误1658
ORA-01658:无法为表空间MYHUANG中的段创建INITIAL区
通常这个问题可以通过Resize增加表空间数据文件大小来解决。
(2)删除表空间
SQL>droptablespacemyhuangincludingcontentsanddatafiles;