ORA-20000: Unable to set values for index xxx: does not exist or insufficient privileges

这篇具有很好参考价值的文章主要介绍了ORA-20000: Unable to set values for index xxx: does not exist or insufficient privileges。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用expdp/impdp导出导入数据时,遇到ORA-2000错误,如下所示:

Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
xxxx.xxxxx : sqlerrm = ORA-20000: Unable to set values for index xxx: does not exist or insufficient privileges
Importing statistics failed for 1 object(s); 

导出环境为Oracle 12c,导入的数据库环境为Oracle 19c,具体版本为19.16.0.0.0,查了一下Oracle Support,刚好是遇到了Bug 30978304,关于为什么会出现这个错误,ORA-20000 from Data Pump Import (IMPDP) when PK Constraint does not Create a New Index (Doc ID 2679433.1)[1]中,有详细的案例描述,这里就没有必要自己再构造一个案例来描述出现ORA-20000错误的场景,具体如下所示:

APPLIES TO:
Oracle Database - Enterprise Edition - Version 19.1.0.0.0 and later
Information in this document applies to any platform.
SYMPTOMS
While running Data Pump Import (IMPDP) with STATISTICS, the order of creating indexes and constraints allowed a primary key constraint to reference a user created index rather than creating a new index as it should.
 
A simplified test case:
SQL> drop user INDEXTEST cascade;
SQL> create user INDEXTEST identified by INDEXTEST;
SQL> grant dba to INDEXTEST;
SQL> connect INDEXTEST/INDEXTEST
SQL> create table i_test (id number, t1 varchar2(100), t2 varchar2(100));
SQL> alter table i_test add constraint i_test_pk primary key (id, t1, t2);
SQL> insert into i_test values (1,1,1);
SQL> commit;
SQL> create unique index i_test_idx on i_test(id, t2, t1);
SQL> select index_name from user_indexes;
SQL> select constraint_name from user_constraints;
SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS('INDEXTEST');
SQL> !expdp system/<Password> schemas=INDEXTEST dumpfile=INDEXTEST reuse_dumpfiles=y
SQL> connect system/<Password>
SQL> drop user INDEXTEST cascade;
SQL> !impdp system/<Password> schemas=INDEXTEST dumpfile=INDEXTEST

Import: Release 19.0.0.0.0 - Production on Mon Mar 2 19:08:53 2020 Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Master table "SYSTEM"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** schemas=INDEXTEST
dumpfile=INDEXTEST
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "INDEXTEST"."I_TEST" 5.898 KB 1 rows
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
INDEXTEST.I_TEST_PK : sqlerrm = ORA-20000: Unable to set values for index I_TEST_PK: does not exist or insufficient privileges Importing statistics failed for 1 object(s);
Job "SYSTEM"."SYS_IMPORT_SCHEMA_01" completed with 2 error(s) at Mon Mar 2
19:09:13 2020 elapsed 0 00:00:19

SQL> connect INDEXTEST/INDEXTEST
SQL> select index_name from user_indexes;
SQL> select constraint_name from user_constraints;
SQL> exit;
 
Note:  It was reported that this issue also exists when the column order is the same, but the user created index has an extra column.
 
CHANGES
The database was upgraded to 19c release or higher.  The issue did not reproduce in 12.2 or 18c environments.
 
CAUSE

This issue is caused by a product defect.
It was investigated in:
     unpublished Bug 30978304 - ORA-20000 DURING IMPDP WITH STATS AND THE UNIQUE INDEX FOR THE PK IS NOT CREATED
Reference:
     Bug 30978304 - ORA-20000 During Data Pump Import While Importing Statistics (Document 30978304.8)

Bug 30978304 - ORA-20000 During Data Pump Import While Importing Statistics (Doc ID 30978304.8)[2]影响的版本还蛮多的,如下截图所示

ORA-20000: Unable to set values for index xxx: does not exist or insufficient privileges

Bug 30978304的详细描述如下所示:

Description
ORA-20000 error was occurring with Data Pump importing statistics, with certain combinations of indexes.
This has now been fixed.
 
What Happens?
 
After importing a transportable tablespace, extents belonging to an index are
incorrectly marked as unallocated in the tablespace bitmaps. This leads to
objd mismatch asserts because such extents could eventually be allocated to
another object.
 
Conditions
 
The export-side must have the following properties:
 
There is a user-created table with a multi-column PK constraint in the table
DDL. This constraint has a system-generated unique index (say ABC).
There is a user-created unique index (say XYZ) on the same columns as the PK,
but the column ordering differs.
Note that if the column ordering matches, XYZ creation would have failed with
ORA-1408 and this bug wont occur.
 
Fix
 
The fix forces the creation of ABC earlier. This resolves the corruption
 
REDISCOVERY INFORMATION:
 
ORA-20000 occurring while impdp is importing statistics, when two or more indexes exist on a table and
one of them is a primary key index.
 
Additional symptoms:
 
TTS import from a 12.1 DB to 19c corrupts the Tablespace bitmaps which can
result in the following errors being raised for operations on segments
belonging to the Tablespace :
 
1. ORA-8103
2. ORA-600 [kcl_mismatch_1]
3. ORA-600 [kdifind:kcbz_objdchk]
4. ORA-600 [ktrget2:kcbz_objdchk]
5. ORA-600 [ktspffbmb:objdchk_kcbnew_3]
6. ORA-600 [ktspgtb2:kcbz_objdchk]
 
Workaround
None.
 
You can likely get this fix in:
Data Pump Recommended Proactive Patches For 19.10 and Above (Doc ID 2819284.1)

这里记录一下今天遇到的案例,了解一下问题的来龙去脉。

参考资料

[1]

: https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=g9qrlq9os_4&_afrLoop=203438157763988

[2]

: https://support.oracle.com/epmos/faces/SearchDocDisplay?_afrLoop=211126172370682&_afrWindowMode=0&_adf.ctrl-state=iqtartzdc_4文章来源地址https://www.toymoban.com/news/detail-519809.html

到了这里,关于ORA-20000: Unable to set values for index xxx: does not exist or insufficient privileges的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git问题解决:git add . 时,fatal: Unable to create ‘xxx/.git/index.lock‘: File exists.

    造成的原因是在某些比较费时的git操作时自动生成 index.lock文件,操作结束后自动删除,相当于一个锁定文件,目的在于防止对一个目录同时进行多个操作。  有时强制关闭进行中的git操作,这个文件没有被自动删除,之后你就无法进行其他操作,必须手动删除,进入.git文件

    2024年02月08日
    浏览(64)
  • CMake Error: The source directory “XXX“ does not appear to contain CMakeLists.txt

    正常CMakeLists.txt文件是在项目根目录下,而我们在项目的build文件夹中进行cmake,导致找不到文件,解决方法,命令行后加两个点表示上级目录,关键就是这两个点:

    2024年02月04日
    浏览(55)
  • curl: (51) Unable to communicate securely with peer: requested domain name does not match the server

    问题图: 问题原因: 该问题是由于无法与对等体安全通信,请求的域名与服务器的证书不匹配,可以理解为https证书加密的问题。 解决方法: 可以在curl后面加上相关参数,由于我们需要访问的是https的加密链接,需要加上:–insecure(或-k), 效果图如下: 关于curl更多的用

    2024年02月11日
    浏览(66)
  • Git 拉取代码提示 unable to access ‘http://xxx.xxx.com/xxx/xxx.git/: Could not resolve host 异常解决

    在开发过程中,会遇到git拉取提交操作。最近拉取主分支代码的时候,提示拉取失败 提示如下: 出现这个问题,一般是域名对应IP发生变化,git拉取时访问不到造成的。 两种解决方法: 第一种: 本地 host文件 域名对应的IP 替换成新的。 host文件地址:C:WindowsSystem32drivers

    2024年02月05日
    浏览(56)
  • 成功解决Unable to allocate xxx MiB for an array with shape (xxxx, xxxx)

    看了网上的一些解决方案,应该是跟内存有关。 1.修改 pycharm 的运行内存(未解决) 打开pycharm64.exe.vmoptions进行编辑修改,把 -Xmx750m改为 -Xmx8192m,分配8G内存,内存分配视情况而定。保存并重启pycharm。 2.修改虚拟内存(解决) 视情况设置需要的虚拟内存。

    2024年02月12日
    浏览(79)
  • FATAL Error: Unable to complete saved object migrations for the [.kibana_task_manager] index. Plea

    报错信息:         在启动Kibana时报了上述错误,在网上百度了好多帖子未找到答案。后来翻看了配置信息也没发现错误。想来想去是不是es启动时有问题呢?自己又重新启动了一下es,发现日志中竟然有错误,观看提示的英文错误,大致意思是磁盘占用率达到95%。删除了

    2024年02月12日
    浏览(58)
  • 【异常】SpringCloud Gateway报错503 SERVICE_UNAVAILABLE “Unable to find instance for xxx-gen“

    网关服务报错,如下 “503 SERVICE_UNAVAILABLE”: “这是一个HTTP状态码,表示服务暂时不可用。 这通常是因为服务器过载或正在进行维护。”, “xxx-gen”: “这可能是一个应用程序或服务的名称,‘Unable to find instance for apb-gen’ 表示系统无法为这个应用或服务找到实例,可能因为

    2024年02月05日
    浏览(55)
  • k8s搭建集群报错failed to set up sandbox container “xxx“ network for pod “coredns-xxx“:networkPlugin cni fa

    今天在搭建k8s集群时发现coredns一直处于containerCreating状态,如下图所示: 到相应的node节点上查看日志去排查问题: kubectl describe pods -n kube-system coredns-66bff467f8-n7q8f 发现报错的日志如下图: 我的是因为之前部署的时候选择了calico网络插件,这次启动选的是flannel,导致node节点上

    2024年02月16日
    浏览(39)
  • ERROR:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist

    解决方法一: ERROR: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist 进程 ID: 0 会话 ID: 0 序列号: 0 因为这个小小的错误,折腾了我好几个小时,特记录如下。 上网搜索了下解决方案,如下: sqlplus \\\"sys/password as sysdba\\\" 连接成功,提示\\\"已连接到空闲例程\\\" SQL startup OR

    2024年02月04日
    浏览(47)
  • ORA-27086: unable to lock file - already in use

    数据库设计的定时任务,逻辑导出出现报错,ORA-27086: unable to lock file - already in use 检查文件目录权限,磁盘空间和定时脚本均没有发现异常 检查无果后在网上找到原因应该在于NFS自动挂载上没有nolock属性 第二天检查逻辑导出的备份时发现,开始正常导出备份

    2024年02月16日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包