我导出了一个数据库,它用create和insert为我创建了一个sql文件,但是我发现了一个错误:ORA-02199: missing DATAFILE/TEMPFILE clause
在sql plus中,我运行sql脚本并得到一堆ORA-00942: table or view does not exist,然后我注意到当它创建一个表时,它有TABLESPACE "LOCALDEV" ;,所以我输入了CREATE tablespace LOCALDEV。
在我进入create user localdev identified by localdev;之前
和
grant ALTER SESSION, CREATE SESSION, CREATE DATABASE LINK, CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM, CREATE ROLE,CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE TYPE, CREATE VIEW, UNLIMITED TABLESPACE to localdev;
SQL>创建表空间localdev datafile‘/u 01/app/localdev.dbf’size 100 m; 第1行中的错误: ORA-01119:创建数据库文件‘/u 01/app/localdev.dbf’ORA-27040:文件创建错误,无法创建文件Linux-x86_64错误: 13:权限被拒绝
*1
在运行sql脚本之前,不会出现错误。如果我有一个BDA要求,我会,但不。如有任何建议,将不胜感激。
发布于 2018-05-08 20:13:43
我导出了一个数据库,它用create和insert为我创建了一个sql文件,但是我得到了一个错误: ORA-02199:缺失DATAFILE/TEMPFILE子句( bla )
在我看来,你做的第一步是错误的。如果您想导出“数据库”(我猜想它实际上是一个“模式”(即“用户”)),那么您应该已经这样做了。甲骨文提供数据泵实用工具,导出和导入。
如果您执行了导出,您将携带DMP文件并使用带有REMAP_TABLLESPACE参数的导入数据泵将其导入到另一个数据库,该参数接受两个值:旧的“源”表空间和用冒号分隔的新的“目标”表空间。例如:
impdp scott/tiger@new_database REMAP_TABLESPACE=localdev:users DIRECTORY=dump_dir DUMPFILE=scott.dmp Alternatively,当前有一个包含CREATE & INSERT语句的文本文件,为什么不在任何文本编辑器中打开它,用新数据库中使用的表空间名称(localdev)替换(在IMPDP示例中是“用户”)?
它需要几秒钟,你运行它,一切都被创造出来,你不需要通过做你在第一句之后所做的每一件事来重新发明轮子(这将是蓝色的一部分)。
https://stackoverflow.com/questions/50237053
复制相似问题