首先,我是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实例
答案 0 :(得分: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
是使用https://container-registry.oracle.com/中的Oracle 12.2.0.1容器的第一个可插入数据库(PDB)中表空间的路径。