标签: datapump

ORA_ROWSCN - 旧/已恢复的块没有分配真正的SCN?

我们使用ORA_ROWSCN伪列来定位最近修改的行,以便将所选细节复制到不同的数据源.我们知道这一列的"近似"性质,如果块中只有一行发生变化,则块内的整批行都用SCN标记,我们对此很好,相对较小批量的误报不是问题.

然而,我们观察到的是大量行似乎具有"浮动"ORA_ROWSCN值.这些数百万行当然没有变化,但每次我们开始与Oracle进行新的控制台会话时,行块每次都会获得一个全新的,最新的SCN.下面说明了几分钟内三个独立的控制台会话:

会议#1 - SCN 27501512下的400万行:

SQL> SELECT count(*), ORA_ROWSCN FROM our_table GROUP BY ORA_ROWSCN ORDER BY ORA_ROWSCN;

  COUNT(*) ORA_ROWSCN
---------- ----------
    12   27323587
    12   27415360
    20   27431509
   4057846   27501512
Run Code Online (Sandbox Code Playgroud)

会议#2 - SCN 27501522下的400万行:

SQL> SELECT count(*), ORA_ROWSCN FROM our_table GROUP BY ORA_ROWSCN ORDER BY ORA_ROWSCN;

  COUNT(*) ORA_ROWSCN
---------- ----------
    12   27323587
    12   27415360
    20   27431509
   4057846   27501522
Run Code Online (Sandbox Code Playgroud)

会议#3 - SCN 27501528下的400万行:

SQL> SELECT count(*), ORA_ROWSCN FROM our_table GROUP BY ORA_ROWSCN ORDER BY ORA_ROWSCN;

  COUNT(*) ORA_ROWSCN
---------- …
Run Code Online (Sandbox Code Playgroud)

oracle datapump

12
推荐指数
1
解决办法
813
查看次数

使用11g客户端从Oracle 10g数据库导出

数据库版本:10g企业版10.2.0.4.0版

客户端版本:11g企业版11.2.0.1.0版(Windows 7 64位)

当我尝试从数据库导出(exp)一个表时:

exp usr/pass@remote_db file=f.dmp tables=table
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

EXP-00008:遇到ORACLE错误904

ORA-00904:"POLTYP":标识符无效

EXP-00000:导出终止失败

我在网上搜索了它,我明白问题是版本不兼容.

你有什么建议我这样做的?

注意:我也尝试使用数据泵导出,但它给出:

UDE-00018: Data Pump client is incompatible with database version 10.2.0.4.0
Run Code Online (Sandbox Code Playgroud)

oracle oracle10g datapump oracle11gr2

10
推荐指数
1
解决办法
3万
查看次数

如何在没有tnsnames.ora文件的情况下使用Data Pump实用程序

我希望能够运行expdpimpdp直接指定连接参数而不是驻留的TNS名称tnsnames.ora.这可能吗?

oracle command-line tnsnames datapump

7
推荐指数
2
解决办法
2万
查看次数

ORA-39122:非特权用户可能无法执行REMAP_SCHEMA重映射

当我试图运行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我试图导入的架构特权.但我犯了错误.

我怎么能解决这个问题?

oracle11g datapump impdp

7
推荐指数
1
解决办法
2万
查看次数

Oracle 数据泵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 - …

database oracle datapump impdp

6
推荐指数
1
解决办法
2万
查看次数

为什么Oracle在导入后锁定了我的架构的统计信息?

我的问题是我有一个架构,其中所有表的统计信息都被锁定.

我在互联网上发现我可以使用该DBMS_STATS.UNLOCK_TABLE_STATS (SCHEMA_NAME)程序解锁.

我需要知道的是Oracle如何确定何时锁定统计信息以及何时不确定这些情况.

oracle import table-statistics datapump

6
推荐指数
1
解决办法
1727
查看次数

从11g数据库导出时出现Oracle 12c datapump错误

我在cmd中使用以下内容。

expdp system/*****@11.11.1.11:1521/orcl schemas=HR directory=DATADIR
dumpfile=HR_20150625.dmp logfile=HR_20150625.log version=11.2
Run Code Online (Sandbox Code Playgroud)
  • 要从中导出架构的数据库为11g(11.2.0.1.0)
  • datapump实用程序为12c(12.1.0.1.0)

我收到以下错误

UDE-00018: Data Pump client is incompatible with database version 11.2.0.1.0
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

oracle11g datapump oracle12c

6
推荐指数
1
解决办法
4万
查看次数

查找datapump转储文件中使用的表空间

给定Oracle数据池文件是否可以在不访问原始/源模式的情况下查找/检索已使用的表空间?

我试图使用字符串 Linux命令,但我找不到指示表空间的模式.

任何的想法?

oracle datapump

5
推荐指数
1
解决办法
1万
查看次数

Oracle Data Pump是否会影响性能?

想知道如果我在正在实时使用的生产服务器上运行数据泵会发生什么。这会影响更新/插入活动的数据库性能吗?

谢谢。

oracle performance datapump

5
推荐指数
1
解决办法
2489
查看次数

Oracle中的impdp.为什么不创建用户?

我是甲骨文的新手,我正面临着麻烦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个用户.如何在空服务器中执行完全导入.我只想导入完整的数据库和用户以及所有对象.

oracle database-migration datapump impdp

5
推荐指数
1
解决办法
6044
查看次数