0

首先,我是一名 DBA 初学者。从一个来源,我能够通过完整、表格和模式明智地进行 oracle 导出。但现在我陷入了完整数据库导入的导入实用程序(寻找完整导入)。

我试试这个:

impdp system/******** FULL=y DIRECTORY=exp_dir DUMPFILE=fulldb_exp.dmp LOGFILE=fulldb_imp.log

后来我发现它不足以完全导入。因为导入无法创建表空间、用户或任何对象。所以我尝试使用 SQLFILE 参数创建它们,这有助于运行 sql 脚本来创建表空间和所有。但是当我运行脚本时出现错误“第 2 行错误:ORA-02236:文件名无效”

请帮我解决这个问题。我正在使用从服务器到 12c pc 的 12c 实例

4

1 回答 1

0

DATAFILE没有值时可能会发生这种情况,您可能会在错误消息中列出的 SQL 中看到,例如:

CREATE BIGFILE TABLESPACE "NAME_OF_TABLE_SPACE" DATAFILE SIZE 1258291200 AUTOEXTEND ON NEXT 1258291200 ...

如果没有DATAFILE给出,Oracle 将尝试在默认位置创建一个数据文件。如果未设置该位置,CREATE将失败。

您可以使用以下命令检查表空间的默认位置

SQL> show parameter DB_CREATE_FILE_DEST;

NAME                  TYPE     VALUE
--------------------- -------- ------------------------------
db_create_file_dest   string

上面,它没有任何价值。要设置值,请使用alter system set

SQL> alter system set DB_CREATE_FILE_DEST='/ORCL/u02/app/oracle/oradata/ORCL/orclpdb1';

System altered.

SQL> show parameter DB_CREATE_FILE_DEST;

NAME                  TYPE     VALUE
--------------------- -------- ------------------------------------------
db_create_file_dest   string   /ORCL/u02/app/oracle/oradata/ORCL/orclpdb1

这里/ORCL/u02/app/oracle/oradata/ORCL/orclpdb1是第一个可插拔数据库 (PDB) 中表空间的路径,使用来自https://container-registry.oracle.com/的 Oracle 12.2.0.1 容器

于 2018-08-30T09:00:01.713 回答