PLSQL 导入表到Oracle------》从一个表空间导入到其它表空间

    在用PLSQL导入.dmp文件到Oracle时出现的问题如下:

Import started on 2015/11/18 10:42:44
E:\oracle\product\10.2.0\db_1\bin\imp.exe log=C:\Users\lrb\AppData\Local\Temp\plsimp.log file=E:\Work\DOC\2015-0~1\2015-09-11.dmp userid=LRB/[email protected] buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yes

连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

经由常规路径由 EXPORT:V10.02.01 创建的导出文件

警告: 这些对象由 ANSTEEL 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SYSTEM 的对象导入到 SYSTEM
IMP-00017: 由于 ORACLE 错误 1119, 以下语句失败:
 "CREATE TEMPORARY TABLESPACE "ANSTEEL_TEMP" BLOCKSIZE 8192 TEMPFILE  ‘F:\ORA"
 "CLE10G\ORACLEDB\ANSTEEL_TEMP.DBF‘ SIZE 8750M       AUTOEXTEND ON NEXT 52428"
 "800  MAXSIZE 20480M EXTENT MANAGEMENT LOCAL  UNIFORM SIZE 1048576"
IMP-00003: 遇到 ORACLE 错误 1119
ORA-01119: 创建数据库文件 ‘F:\ORACLE10G\ORACLEDB\ANSTEEL_TEMP.DBF‘ 时出错
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。
IMP-00017: 由于 ORACLE 错误 1119, 以下语句失败:
 "CREATE TABLESPACE "ANSTEEL" BLOCKSIZE 8192 DATAFILE  ‘F:\ORACLE10G\ORACLEDB"
 "\ANSTEEL.DBF‘ SIZE 1350M       AUTOEXTEND ON NEXT 52428800  MAXSIZE 20480M "
 "EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  SEGMENT SPACE MANA"
 "GEMENT AUTO"
IMP-00003: 遇到 ORACLE 错误 1119
ORA-01119: 创建数据库文件 ‘F:\ORACLE10G\ORACLEDB\ANSTEEL.DBF‘ 时出错
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。
IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
 "CREATE USER "ANSTEEL" IDENTIFIED BY VALUES ‘BC4CC2E793C99E12‘ DEFAULT TABLE"
 "SPACE "ANSTEEL" TEMPORARY TABLESPACE "ANSTEEL_TEMP""
IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间 ‘ANSTEEL‘ 不存在
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
 "GRANT UNLIMITED TABLESPACE TO "ANSTEEL""
IMP-00003: 遇到 ORACLE 错误 1917
ORA-01917: 用户或角色 ‘ANSTEEL‘ 不存在
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
 "GRANT "CONNECT" TO "ANSTEEL""
IMP-00003: 遇到 ORACLE 错误 1917
ORA-01917: 用户或角色 ‘ANSTEEL‘ 不存在
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
 "GRANT "DBA" TO "ANSTEEL""
IMP-00003: 遇到 ORACLE 错误 1917
ORA-01917: 用户或角色 ‘ANSTEEL‘ 不存在
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
 "GRANT "RESOURCE" TO "ANSTEEL""
IMP-00003: 遇到 ORACLE 错误 1917
ORA-01917: 用户或角色 ‘ANSTEEL‘ 不存在
IMP-00017: 由于 ORACLE 错误 1918, 以下语句失败:
 "ALTER USER "ANSTEEL" DEFAULT ROLE ALL"
IMP-00003: 遇到 ORACLE 错误 1918
ORA-01918: 用户 ‘ANSTEEL‘ 不存在
. 正在将 OLAPSYS 的对象导入到 OLAPSYS
. 正在将 SYSMAN 的对象导入到 SYSMAN
. 正在将 ANSTEEL 的对象导入到 ANSTEEL
 "ALTER SESSION SET CURRENT_SCHEMA= "ANSTEEL""
IMP-00003: 遇到 ORACLE 错误 1435
ORA-01435: 用户不存在
IMP-00000: 未成功终止导入

Import finished on 2015/11/18 10:42:46

这是因为从一个表空间导入到另外一个表空间造成的,且没有Asteel这个用户,解决方法:

1.在即将要导入Oracle创建表临时空间

CREATE TEMPORARY TABLESPACE ‘ANSTEEL_TEMP‘ BLOCKSIZE 8192 TEMPFILE  ‘F:\ORACLE10G\ORACLEDB\ANSTEEL_TEMP.DBF‘ SIZE 8750M       AUTOEXTEND ON NEXT 52428800  MAXSIZE 20480M EXTENT MANAGEMENT LOCAL  UNIFORM SIZE 1048576

2.在即将要导入Oracle创建表空间

 CREATE TABLESPACE ‘ANSTEEL‘ BLOCKSIZE 8192 DATAFILE  ‘F:\ORACLE10G\ORACLEDB\ANSTEEL.DBF‘ SIZE 1350M  AUTOEXTEND ON NEXT 52428800  MAXSIZE 20480M EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  SEGMENT SPACE MANAGEMENT AUTO

3.创建名为ASTEEL的用户,并赋予DBA的权限

时间: 2024-10-18 11:49:05

PLSQL 导入表到Oracle------》从一个表空间导入到其它表空间的相关文章

sql语句联表更新(从一个数据库中的一张表更新到另一个数据库的另一张表)

一.sql server数据库写法: update a set a.ksgmm=b.ksgmm,a.ksgm=b.ksgm,a.scztm=b.scztm,a.sczt=b.sczt from landsde.sde.jszb a,kyqcldb.dbo.kcl_ksjj b where a.nd=b.nd and a.kqbh=b.kqbh and a.djflbh =b.djflbh 其中landsde.sde.jszb.kyqcldb.dbo.kcl_ksjj是不同数据库下的不同数据表 二

oracle 的一个大数据表 快速迁移到 Sqlserver2008数据库

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> oracle 的一个大数据表 快速迁移到 Sqlserver2008数据库 - HappyBinhaer的专栏 - 博客频道 - CSDN.NET HappyBinhaer的专栏 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯

使用sqlldr命令导入资料到Oracle数据库表中的示例说明

CSV: Comma-Separated Values(逗号分隔值)的缩写,是以逗号分隔字段的多行文本文件 sqlldr 是sql*loader的缩写,此工具在安装完整版的Oracle客户端后就有 使用sqllldr可以将有规律的文本数据(如csv)导入数据表 导入示例:将csv文本文件andon.txt导入到manpowertest中的testandon表中 testandon表结构 create table TESTANDON ( build_no VARCHAR2(5), device_n

Oracle查询一个表的数据插入到另一个表

1. 新增一个表,通过另一个表的结构和数据 create table XTHAME.tab1 as select * from DSKNOW.COMBDVERSION 2. 如果表存在: insert into tab1 select * from tab2; 3.同一个表中,将A字段的指赋给B字段: update table_name set B =  A; 4. 将一个表的字段数据插入到另一个表的字段数据中 insert into XTHAME.tab1(pk_bdversion,vbdco

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT is SELECT ID,UNAME from g_users where utype=2 and STATUS>-1; begin for c in TABLE_DEPT loop INSERT INTO G_KNOWDOCRIGHT(RID,DIRID,DOCID,USERID) VALUES(SYS

Oracle 中用一个表的数据更新另一个表的数据

Oracle 中用一个表的数据更新另一个表的数据 分类: SQL/PLSQL2012-05-04 15:49 4153人阅读 评论(1) 收藏 举报 oraclemergesubqueryinsertnull 有下面两个表:将表tab1中id值与和表tab2中id值相同的行的val更新为tab2中val的值.select * from tab1; select * from tab2 最容易犯的错误是:update tab1 set val=(select val from tab2 where

Oracle中 如何用一个表的数据更新另一个表中的数据

建表语句: create table table1( idd varchar2(10) , val varchar2(20) ); create table table2( idd varchar2(10), val varchar2(20) ); 插入数据: insert into table1 values ('01','1111'); insert into table1 values ('02','222'); insert into table1 values ('02','2222'

oracle新建一个表空间和用户来测试

首先对表空间作如下说明 临时表空间:是在做大数据量排序时,分组操作时用的,正常这些都是在内存中完成的,但在大数据量排序处理时,内存不够用的情况下就会用到临时表空间,这里是不存放表的,有点类似于操作系统中的虚拟内存概念. 数据表空间:是存放表.索引等数据文件的表空间,顺带说下最好把表和索引分在不同的表空间中,这样性能会好很多. 用户指定表空间:其实只是对用户建表时候的表空间设定一个默认值,就是说这个user在建表时如果不指定表空间,就默认存储在用户指定的表空间下,但如果指定表空间,还是可以使用其他

Oracle一个库的表同步到另外一个库中

https://blog.csdn.net/yali1990515/article/details/50969117 创建dblink -- Create database link create shared database link COPYCITY_BZTOMY connect to db_A identified by db_A authenticated by db_B identified by db_B using '192.168.0.141/orcl'; --说明有两个数据库