- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
一些背景:
在大约十年前(给予或接受)Oracle 10 的某个地方,Oracle 添加了一种导出和导入数据库的新方法,称为 Oracle Data Pump .除了愚蠢的名称外,功能大部分与Original Export and Import Utility 相同。 .
Original Utility 的链接包含以下警告文本,看起来至少有些自相矛盾:
Original export is desupported for general use as of Oracle Database 11g. The only supported use of Original Export in 11g is backward migration of XMLType data to a database version 10g release 2 (10.2) or earlier. Therefore, Oracle recommends that you use the new Data Pump Export and Import utilities, except in the following situations which require Original Export and Import:
You want to import files that were created using the original Export utility (exp).
You want to export files that will be imported using the original Import utility (imp). An example of this would be if you wanted to export data from Oracle Database 10g and then import it into an earlier database release.
据我所知,Exp
和 Imp
无法正常运行的唯一原因是数据库使用了 11g 之后引入的功能。否则,旧的 Exp
和 Imp
命令应该可以正常工作,并且从上面的内容来看,它们确实得到了官方支持。
“数据泵”与“原始”导出的主要区别之一——这对我的应用程序很重要——是数据泵仅在服务器端运行,这意味着用户至少需要某种程度的服务器访问导出生成的文件的权限。最好的情况是,这很不方便,最坏的情况是,这会导致除 dba 之外的任何人都无法访问文件。
问题:
当我们从 11g 升级到 12c 时,我们在使用原始导出实用程序时遇到了问题。它会成功运行直到导出触发器,然后产生如下错误:
EXP:00056 ORACLE error 4063 encountered
ORA-06508: package body XDB.DBMS_XDBUTIL_INT has errors
ORA-06508: PL/SQL: could not find program unit being called:
"XDB.DBMS_XDBUTIL_INT"
问题:
这个问题在不同的情况下至少出现了十几次,我们正在玩打地鼠游戏。最近解决它的尝试涉及重新编译服务器上的每个包,这需要大约半小时。
Exp
和 Imp
是否实际上已正式弃用,以至于我们无法再可靠地使用它们?最佳答案
为什么这个导出问题不断出现?
由于问题是间歇性的,我猜它是由延迟的段创建引起的。从 11g 开始,表和分区可以配置为在有一些数据之前不分配任何空间。 (这可以为具有许多空分区的表节省大量空间。)但是 Exp 不理解这一点并假定每个表都必须有一个段。这意味着一些表格和相关功能可能看起来“随机”导致问题,具体取决于它们最近是否被填充或截断。
您可以使用此查询找到那些表:
select * from dba_tables where segment_created = 'NO';
然后强制他们使用以下语句进行分割:
alter table table_name allocate extent;
Exp 和 Imp 是否实际上已正式弃用,以至于我们无法再可靠地使用它们?
这是有争议的,但我会说是的,原来的 Exp 和 Imp 现在真的“弃用”了。确实感觉 Oracle 与弃用软件玩了很多游戏。例如,弃用 super 昂贵的 Goldengate 的免费更改数据捕获,或者当几乎没有人愿意使用其昂贵的容器时弃用非容器架构。但时间已经很长了,Exp 和 Imp 不再削减它了。
是否有任何其他直接的方法来获取数据库的客户端导出?
尝试 OCP, Oracle CoPy .您仍然需要在服务器上生成导出。但是 OCP 允许您在没有任何服务器文件系统权限的情况下将文件从服务器文件系统下载到客户端文件系统。它仍然不像它应该的那样直截了当,但至少你不必为每个人授予服务器文件系统的权限。
关于database - Oracle 导出和导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465061/
我们使用 Azure 弹性池,生成多个客户端数据库和一个引用客户端数据库的主数据库。 我们已经拥有多个数据库,并且正在开发新版本的代码。我们使用 EF6 代码优先。当我们对模型进行更改(添加属性)时,
我们使用 Azure 弹性池,生成多个客户端数据库和一个引用客户端数据库的主数据库。 我们已经拥有多个数据库,并且正在开发新版本的代码。我们使用 EF6 代码优先。当我们对模型进行更改(添加属性)时,
我希望将一些信息分发到不同的机器上,以便在没有任何网络开销的情况下实现高效和极快的访问。数据存在于关系模式中,实体之间的关系是“加入”的要求,但根本不是写入数据库的要求(它会离线生成)。 我非常相信
我使用 GrapheneDB 来托管我的 neo4j 数据库 (db)。 问题 我有 N客户并且正在寻找自动分离他们的内容(他们独特的数据库)的方法,以便: 它不重叠数据 操作速度不受影响。 选项 1
当服务器开始工作(Tomcat)时,日志显示此错误: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid b
我在 Oracle 数据库实例中按以下方式创建了一个触发器。 CREATE OR REPLACE TRIGGER after_logon_on_database AFTER LOGON ON DATA
原谅我的无知,我是数据库约定的初学者。 这是我的 SQLite 代码:(由我的数据库浏览器自动生成) CREATE TABLE `ResearchItems` ( `ID` INTEGER NO
是的是的是的,我已经在整个互联网上搜索过这个问题。一些结果发现,甚至来自 Stackoverflow。但是他们中的大多数人说“你应该自动加载数据库”,或者“parent::__construct();
我正在创建一个 Mac 应用程序,它将一些数据保存到 SQLite 数据库中。问题是:当我关闭数据库并再次打开时,数据不存在了。这是我的代码: NSString *sql = [NSString st
我正在建立一个网站,我打算发布各种帖子,比如教程、文章等。我打算用 php 来管理它,但是当涉及到存储每个帖子的内容时,将要显示的文本,更好的选择是:使用单独的文本文件还是将其添加为数据库中的每个条目
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
对不起,这个关键字对我来说没有任何意义...有人可以给我一个定义吗? 提前致谢... 最佳答案 这是一个品牌。 http://pervasive.com/这是他们的数据库产品的链接 http://ww
我已经在 docker 版本 1.10.1 的 docker 镜像中安装了 PostgreSQL 9.4.6。根据这张官方图片: https://github.com/docker-library/p
当我的 android 应用程序尝试读取 android 短信数据库时,我遇到了这个崩溃。读取android短信数据库的代码类似于下面的代码 fragment : String SMS_URI = "
我有一个 public kit repo,我推送了 v1.0.3 并具有以下结构 go -database --database.go --go.mod --go.sum 我需要它 require g
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
我们正在使用MySQL数据库在Go中创建一个Web应用程序。我们的用户一次只能拥有一个活跃的客户端。就像Spotify一样,您一次只能在一台设备上听音乐。为此,我制作了一个映射,将用户ID和作为其值的
我已经尝试在 PostgreSQL 中创建数据库好几天了,遇到了几个问题,但似乎卡住了。 我在 PostgreSQL 中手动创建了一个名为 postgres_development 的数据库,因为 b
我正在创建一个 iMessage 应用程序,它需要连接到与我的常规应用程序相同的数据库。 我调用 FirebaseApp.configure() 并对用户进行身份验证,但出于某种原因,在所有 Data
就像std::unordered_map但所有数据都应存储在磁盘上而不是内存中。 按照我的理解,应该做两部分:索引和存储。我已经学习了一些关于索引的数据结构,比如 Linear-Hash 或 B-Tr
我是一名优秀的程序员,十分优秀!