需要帮忙 ..
我.DMP在我的数据库上导入一个文件,当我在SQL上编写我的impdp查询时,它返回此错误我不知道这个错误是什么
SP2-0734:未知命令开头"impdp ..."其余行被忽略
我的命令是
impdp user/pass directory=DUMPS dumpfile=filedumpname.dmp logfile=name.log full=yes
Run Code Online (Sandbox Code Playgroud) 我正在使用impdp导入备份.但我想要更改默认目录dumpfile.
$ impdp system/password@$ORACLE_SID schemas=USER_SCHEMA dumpfile=mydumpfile.dmp logfile=impdpmydumpfile.log
Import: Release 11.2.0.3.0 - Production on Mon Mar 16 09:32:05 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-31640: unable to open dump file "/u01/app/oracle/admin/mydatabase/dpdump/mydumpfile.dmp" for read
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Run Code Online (Sandbox Code Playgroud) 可以使用Oracle数据泵导入工具(IMPDP.EXE)使用REMAP_SCHEMA选项将一个模式导入另一个模式.但是,存在一个问题,即触发器未正确重新映射.这导致触发器根本没有创建错误,如下所示:
ORA-39083: Object type TRIGGER failed to create with error: ORA-00942: table or view does not exist Failing sql is: CREATE TRIGGER "**NEW_SCHEMA**"."METER_ALARMS_BI" BEFORE INSERT ON
**OLD_SCHEMA**.METER_ALARMS ...
Run Code Online (Sandbox Code Playgroud)
原因是因为create SQL仍然引用OLD_SCHEMA.它确实在Oracle文档中说:
映射可能不是100%完成,因为某些模式引用导入无法查找.例如,Import将找不到嵌入在类型,视图,过程和包的定义主体中的模式引用.
恕我直言,这是甲骨文的一个警察,但这是另一个讨论!
根据Oracle Metalink说明750783.1,解决方法是:
- 创建一个SQLFILE以包含相关的DDL命令:
impdp system/****** directory=test_dp
DUMPFILE=export_schemas.dmp
remap_schema=u1:u2 sqlfile=script.sql
Run Code Online (Sandbox Code Playgroud)
- 从写入的SQLFILE中提取受影响的DDL并更正模式引用.然后手动执行该命令.
这不是一个好方法,特别是如果你有许多失败的对象,并希望自动化组合多个模式的过程,以便在数据库的字段升级.
有没有人找到更好的方法来做到这一点?如果要在现场使用,我需要一个必须100%可靠的解决方案.我可以解析生成的SQL文件,但可以100%正确吗?是否有一些方法可以拦截IMPDP执行的CREATE SQL语句并在导入时动态更正?可以直接修补DMP文件吗?
当我试图运行impdp命令时sqlplus,我得到以下错误.
ORA-31631: privileges are required
ORA-39122: Unprivileged users may not perform REMAP_SCHEMA remappings.
Run Code Online (Sandbox Code Playgroud)
我已授予IMPORT FULL DATABASE我试图导入的架构特权.但我犯了错误.
我怎么能解决这个问题?
我将整个数据库作为转储导入到我自己的数据库中.我想从某些表中排除数据(主要是因为它们的大小很大而且没用).我不能完全排除那些表,因为我需要表对象本身(减去数据),如果我这样做,将不得不在我的模式中重新创建它们.在没有这些表对象的情况下,在其他表上定义的各种其他外部约束也将无法导入,需要重新定义.所以我只需要从某些表中排除数据.我想要所有其他表中的数据.
是否有一组impdp参数可以帮助我这样做?
我们有一个要导入 Amazon rds 服务器的转储文件。
这就是我所做的:
创建一个公共数据库链接并验证它是否有效:
create public database link rdsdblink
connect to dbuser identified by dbpsw
using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST='xxx')(PORT=1521)))(CONNECT_DATA=(SID=dbsid)))';
SQL> select * from dual @ rdsdblink;
D
-
X
Run Code Online (Sandbox Code Playgroud)
为转储文件创建一个目录:
CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS 'G:\DB';
Run Code Online (Sandbox Code Playgroud)
导入转储文件:
impdp dbuser/dbpsw@rdsdblink tablespaces=EMP directory=DATA_PUMP_DIR dumpfile=EMP_dump.DMP logfile=EMP_dump.log network_link=rdsdblink
Run Code Online (Sandbox Code Playgroud)
我还将 rdsdblink 连接字符串添加到 tnsnames.ora 文件并重新启动了 oracle 服务(“立即关闭”,然后是“启动”)。
出现以下错误:
连接到:Oracle 数据库 11g 版本 11.2.0.2.0 - 64 位生产
ORA-39001:无效的参数值
ORA-39200:链接名称“rdsdblink”无效。
ORA-02019: 找不到远程数据库的连接描述
我本地的oracle版本:Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
远程oracle版本:Oracle Database 11g Release 11.2.0.2.0 - …
我是甲骨文的新手,我正面临着麻烦impdp.我有一个生产服务器,我已经创建了一个新的服务器用于测试目的,所以我安装了centos,oracle并创建了数据库"sire".现在,我使用以下命令从生产服务器进行转储:
expdp system/password@sire full=Y
directory=pump_dir dumpfile=sire_dump.dmp logfile=sire.log
Run Code Online (Sandbox Code Playgroud)
我来到新服务器,我执行impdp:
impdp system/password@sire full=Y
directory=pump_directorio dumpfile=sire_dump.dmp logfile=sire_imp.log
Run Code Online (Sandbox Code Playgroud)
它开始进行导入,但后来我收到错误,例如:
"用户vberrios不存在".还有错误因为它找不到一些模式和表空间.
我的问题是:不应该impdp full=Y导入所有用户和模式?我已经读过我必须在目标服务器中创建用户,但我在数据库中有大约300个用户.如何在空服务器中执行完全导入.我只想导入完整的数据库和用户以及所有对象.
我正在尝试将模式导入到在 docker 容器中运行的 oracle 实例中(希望这不相关)。
我想提前为这么长的帖子道歉,但我想包括我已经检查过的所有内容。
导入快速加载表,构建索引,但是当它到达包时,进度就停止了。
日志输出以这些行停止
Processing object type SCHEMA_EXPORT/VIEW/COMMENT
Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
Run Code Online (Sandbox Code Playgroud)
它似乎卡在进程 273“ALTER PACKAGE ...”中
set linesize 200
select s.username, s.sid, s.process, s.status, t.command_type, t.sql_text
from v$session s
, v$sqltext t
where t.sql_id = s.sql_id
order by t.sql_id, t.piece
USERNAME SID PROCESS STATUS COMMAND_TYPE SQL_TEXT
------------------------------ ---------- ------------------------ -------- ------------ ----------------------------------------------------------------
SYS 192 266 ACTIVE 47 BEGIN :1 := sys.kupc$que_int.get_status(:2, :3); END;
SYS 195 699 ACTIVE 3 select s.username, s.sid, s.process, s.status, t.command_type, t
SYS …Run Code Online (Sandbox Code Playgroud) 是否需要使用表空间和/或用户(模式)准备目标数据库,以便将模式从一个数据库(11g R1)成功迁移到另一个数据库(11g R2)?
目前我只能用11g R1数据库进行测试.我的测试是导出一个模式并将其导入同一数据库中的新模式.
expdp system/systempass schemas=oldschema
Run Code Online (Sandbox Code Playgroud)
之后我试着用以下方法导入它:
impdp system/systempass expdat.dmp remap_schema=oldschema:newschema
Run Code Online (Sandbox Code Playgroud)
但这会导致错误:
UDI-00014: invalid value for parameter, 'attach'
Run Code Online (Sandbox Code Playgroud)
newschema没有定义吗?这些问题还涉及新PC上新安装的11g R2数据库.欢迎任何建议将数据库迁移到新安装的数据库!
我正在尝试从Oracle 10g数据泵实用程序创建的转储文件中导入数据.我发出的命令是
impdp \"username/password @ DB as sysdba \"remap_schema = SRC_SCHEMA:TARGET_SCHEMA remap_tablespace = source_tablespace:target_tablespace DUMPFILE = db.dmp
我收到以下错误消息:
ORA - 39001: Invalid argument value
ORA - 39000: Bad dump file spcification
ORA - 39088: file name cannot contain a path specification
Run Code Online (Sandbox Code Playgroud)
这个错误的原因是什么?