我的一个查询遇到了行锁争用。我已经找到了导致这种情况的表 - 那么下一步是什么?哪个会话导致此表被锁定?如何解除锁定?
我正在使用 Oracle 10g
我将 9i 安装升级到 11g,只有一个问题。不再支持 11g 和我们的旧版 8i 数据库之间的数据库链接。我必须每天将数据从 11g 传输到 8i 两三次,所以我认为可以使用 10g express 来链接数据库。数据将在 11g 中创建,写入 10g 中的表,然后写入 8i。(我同意这不是最优雅的解决方案,我可以使用高级队列表改进它)。
10g express 是否支持数据库链接到 Oracle 8i?
编辑:感谢提供 Oracle 文档的链接。有没有人真的用 10g express 做过这个?
编辑:8i 数据库是 Oracle8i 企业版 8.1.7.0.0 版 - 生产中间将是 windows 的 10g express 原始数据库是 Oracle 数据库 11g 企业版 11.2.0.1.0 版 - 生产
如何比较两台不同机器上的两台 Oracle 数据库服务器?
我们需要确保正确设置新服务器。
例如,一台机器在 Windows 上运行 Oracle 10g,第二台机器在 Linux 上运行 Oracle 11g。
如何确保我们在新的 11g 机器上正确设置了所有参数?
我需要配置的一些项目是:
假设我有以下插入语句。
INSERT INTO E_PRODUCT VALUES ('PCD2', 'PC Dual Core', 499, 22, 475, 'PC', NULL);
INSERT INTO E_PRODUCT VALUES ('PCL4', 'Laptop PC', 599, 9, 225, 'PC', NULL);
INSERT INTO E_PRODUCT VALUES ('PCQ5', 'PC Quad Core', 699, 25, 41, 'PC', NULL);
INSERT INTO E_PRODUCT VALUES ('RAM5', '512 Meg RAM Chip', 49.95, 0.25, 625, 'STO', 'No');
INSERT INTO E_PRODUCT VALUES ('RAM9', '1GB RAM Chip', 109.95, 0.3, 513, 'STO', 'No');
INSERT INTO E_PRODUCT VALUES ('VCD2', 'Video Card', 59.95, 1.25, 1210, 'IO', 'No');
Run Code Online (Sandbox Code Playgroud)
我正在使用 Oracle …
我有一个关于我拥有的两个数据库(在 Oracle 10g 中)的问题,我们称它们为 A 和 B。A 有一些信息(在各种表中),我希望 B 从 A 获取一些表的部分副本,并不断检查A 中的更改并在 B 中“同步”它们。
我想问你一些方法、技术或者想法,知道我不能对 A 做任何改变(只是选择,没有触发器)。
我提前感谢您的帮助和耐心(对于可能的编辑)。
附加信息:
感谢您的回答,我不知道它是否相关,但我找到了 MINUS 运算符,尽管我不确定它是否适用于“子表”(选择)。
我想将所有用户和角色对象从 Oracle 10g 数据库导出到另一个。我用谷歌搜索,但我不知道如何去做。
首先我使用这个命令:
exp system/root@ [DB_Name] file= [Back_file_name] owner=( [Owner_Name] )
但问题是某些表设置取决于用户权限。因此我还想导出用户对象。
例如,可以使用以下命令导出所有对象:
exp system/root@ [DB_Name] Full=Y file= [Back_file_name]
但是此命令不会为我导出所需的对象。
我只想导出:
这可能吗?
我们使用的是 Oracle 数据库 10g 企业版 10.2.0.4.0 版,我们在查询中出现错误,导致我们出现错误
Error: No more data to read from socket
SQLState: null
ErrorCode: 17410
Run Code Online (Sandbox Code Playgroud)
查询类似于以下内容
select * from (
select ... <many, MANY fields>
from table
inner join
left outer join
left outer join
inner join
where string1='value1' and string2='value2'
) where rownum > 500 and rownum < 510
Run Code Online (Sandbox Code Playgroud)
如果我尝试删除最后的 where 语句,则查询运行良好。此外,如果我尝试将 rownum 过滤器“减少”到较低级别的记录,则查询运行良好:
where rownum<10
Run Code Online (Sandbox Code Playgroud)
在互联网上搜索我发现它可能是由参数“cursor_sharing”到“similar”引起的,这在某些版本的oracle上似乎有问题。我试图将其设置为“精确”,但不幸的是我遇到了同样的错误。
我想知道在 oracle10g 中,select 语句的检索数据是否有字节限制,但我什么也没找到。我发现 oracle8i 有限制,但 oracle10g 没有。
我们在不同的客户端(dbvisualizer、squirrel)和 oracle 控制台上执行查询时遇到了同样的问题。
我们有一个 OEM 作业,它将使用特定的数据库用户凭据运行 PL/SQL 块。两个不同数据库的凭据相同,因此块使用没有凭据的私有数据库链接将数据从第二个数据库拉入第一个数据库没有问题。
我们将作业迁移到 DBMS_SCHEDULER,但作业失败并显示以下错误:
ORA-04052: error occurred when looking up remote object PATIENT.PTTRANS@BILL10G
ORA-00604: error occurred at recursive SQL level 2 ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from BILL10G
Run Code Online (Sandbox Code Playgroud)
我还没有找到确切的信息,但我读过的东西似乎表明,由于调度程序作业没有登录名,因此它们不能使用使用传递凭据的数据库链接。这是有道理的,因为无论作业是由 SYSTEM 拥有还是由通常运行该块的用户拥有(并且在登录时仍然可以),我都会收到相同的错误。
任何人都可以提供这种情况的进一步解释或更重要的是解释解决此问题的方法吗?我可以想到几个,但我不确定我喜欢其中的任何一个。
我有一个基于函数的索引,在 9400 万行的表上创建需要 25 分钟。
当我删除索引时,需要 18 分钟。
为什么需要这么长时间?我会认为下降几乎是立即的?我注意到大约 10 分钟后,索引从 user_indexes 中删除,但脚本仍然执行了大约 8 分钟。
该表已分区,这是 Oracle 10g RAC 安装。如果有更多信息有帮助,我可以根据需要添加它。
对此的任何启发将不胜感激。
我们在 Oracle 10g 中有一个实例。Web 应用程序(面向 Internet)仅使用一种模式,该应用程序仅用于读取信息的用户,不添加或修改数据。其余模式未使用。
Archived Redo Logs被激活。对我们来说奇怪的是,每天都会生成归档文件,包括周日和节假日,没有人来上班。
我认为归档重做日志是在插入、删除或更新数据时生成的,而不是因为 select 语句。
那是对的吗?
oracle-10g ×10
oracle ×5
duplication ×1
export ×1
functions ×1
import ×1
index ×1
insert ×1
jobs ×1
minus ×1
replication ×1