[20221010]使用toad管理索引改名问题.txt --//今天在优化sql语句时发现的问题.做一个记录. 1.环境: SYS@192.168.100.235:1521/orcl> @ prxx ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 19.0.0.0.0 BANNER : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production BANNER_FULL : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 BANNER_LEGACY : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. 2.问题: SYS@192.168.100.235:1521/orcl> @ 6q67qzn442k68.sql9_0 PL/SQL procedure successfully completed. PLAN_TABLE_OUTPUT ------------------------------------- SQL_ID aac9ayg7mv1x5, child number 0 ------------------------------------- select item_id from com_item_inst where Allow_Null=1 and inst_id=:inst_id Plan hash value: 4227739359 ------------------------------------------------------------------------------------------------------------------------------------------------- |Id|Operation |Name |Starts|E-Rows|E-Bytes|Cost (%CPU)|E-Time |A-Rows| A-Time |Buffers | ------------------------------------------------------------------------------------------------------------------------------------------------- | 0|SELECT STATEMENT | | 1| | | 81 (100)| | 0|00:00:00.01 | 72 | |*1| TABLE ACCESS BY INDEX ROWID BATCHED|COM_ITEM_INST | 1| 2| 24 | 81 (0)|00:00:01| 0|00:00:00.01 | 72 | |*2| INDEX RANGE SCAN |I_COM_ITEM_INST_INST_ID_ITEM_ID| 1| 97| | 2 (0)|00:00:01| 97|00:00:00.01 | 2 | ------------------------------------------------------------------------------------------------------------------------------------------------- --//当我在toad界面查看索引时发现看到的索引名字为I_COM_ITEM_INST_INST_ID_ITEM_I.很明显,toad看到的是错误的. --//12c支持更长字符的索引名以及表名,最大128个字符. --//I_COM_ITEM_INST_INST_ID_ITEM_I 正好30个字符. 很明显我使用toad版本可能有点低(12.6.0.53),仅仅显示30个字符. --//实际上在toad下建立索引名字超过30个字符是没有问题的,但是显示仅仅30个字符. --//补充说明:我的测试在toad修改索引大于30个字符也是没有问题的. SYS@192.168.100.235:1521/orcl> select index_name from dba_indexes where length(index_name)>30; INDEX_NAME ------------------------------- I_COM_ITEM_INST_INST_ID_ITEM_ID --//由于这个原因,修改索引名字长度(大于30个字符)在toad下也是不行的,因为toad界面下仅仅看到前面30个字符,只能在sqlplus下修改. SYS@192.168.100.235:1521/orcl> rename lis.I_COM_ITEM_INST_INST_ID_ITEM_ID to lis.I_COM_ITEM_INST_INST_ID_ITEM_I; rename lis.I_COM_ITEM_INST_INST_ID_ITEM_ID to lis.I_COM_ITEM_INST_INST_ID_ITEM_I * ERROR at line 1: ORA-01765: specifying owner's name of the table is not allowed SYS@192.168.100.235:1521/orcl> @ cs lis alter session set current_schema=lis Session altered. SYS@192.168.100.235:1521/orcl> rename I_COM_ITEM_INST_INST_ID_ITEM_ID to I_COM_ITEM_INST_INST_ID_ITEM_I; rename I_COM_ITEM_INST_INST_ID_ITEM_ID to I_COM_ITEM_INST_INST_ID_ITEM_I * ERROR at line 1: ORA-04043: object I_COM_ITEM_INST_INST_ID_ITEM_ID does not exist SYS@192.168.100.235:1521/orcl> alter index I_COM_ITEM_INST_INST_ID_ITEM_ID rename to I_COM_ITEM_INST_INST_ID_ITEM_I; Index altered. SYS@192.168.100.235:1521/orcl> @ cs sys alter session set current_schema=sys Session altered. --//另外我发现在toad下改名超过30个字符是可以的,但是反过来无法修改回来.除非采用上面的命令方式. --//这给维护运维提供一个注意,建立索引以及表做好还是不要超过30个字符,便于目前工具的使用以及维护的需要.
[20221010]使用toad管理索引改名问题.txt
来源:这里教程网
时间:2026-03-03 17:59:20
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- CWE 4.7中的新视图 -- 工业控制系统的安全漏洞类别
CWE 4.7中的新视图 -- 工业控制系统的安全漏洞类别
26-03-03 - 散货海运拼箱出现“亏舱费”?该如何预防?
散货海运拼箱出现“亏舱费”?该如何预防?
26-03-03 - 记一次存储问题导致的rac故障案例
记一次存储问题导致的rac故障案例
26-03-03 - java反序列化漏洞及其检测
java反序列化漏洞及其检测
26-03-03 - go语言逆向技术之---恢复函数名称算法
go语言逆向技术之---恢复函数名称算法
26-03-03 - Oracle I/O设置说明文档
Oracle I/O设置说明文档
26-03-03 - Hyperledger Cactus(一):架构初探
Hyperledger Cactus(一):架构初探
26-03-03 - RAC 修改监听端口
RAC 修改监听端口
26-03-03 - 数据库故障处理优质文章汇总(含Oracle、MySQL、MogDB等)
数据库故障处理优质文章汇总(含Oracle、MySQL、MogDB等)
26-03-03 - oracle数据库服务器slab内存故障
oracle数据库服务器slab内存故障
26-03-03
