[20191021]改名与namespace.txt

来源:这里教程网 时间:2026-03-03 14:22:15 作者:

[20191021]改名与namespace.txt --//偶尔会给一些对象改名,会遇到一些容易引起歧义的地方,实际上由于namespace引起的. --//通过例子说明: 1.环境: SCOTT@test01p> @ ver1 PORT_STRING                    VERSION        BANNER                                                                               CON_ID ------------------------------ -------------- -------------------------------------------------------------------------------- ---------- IBMPC/WIN_NT64-9.1.0           12.2.0.1.0     Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production              0 create sequence seq1; create view vdept as select * from dept; 2.改名测试: SCOTT@test01p> rename seq1 to seq2; Table renamed. SCOTT@test01p> rename vdept to v_dept; Table renamed. --//我修改sequence以及view,而成功后提示是"Table renamed.",而实际上oracle这些对象在相同的namespace空间中. --//也许你可以认为oracle处理这些问题简单化了. SYS@test> select distinct kglhdnsp,kglhdnsd,kglobtyd from x$kglob order by 1; KGLHDNSP KGLHDNSD                       KGLOBTYD -------- ------------------------------ -----------------------------     -119 OPTIMIZER EXPRESSION HEADER    Optimizer Expression Header        0 SQL AREA                       CURSOR        1 TABLE/PROCEDURE                CURSOR        1 TABLE/PROCEDURE                FUNCTION        1 TABLE/PROCEDURE                LIBRARY        1 TABLE/PROCEDURE                OPERATOR        1 TABLE/PROCEDURE                PACKAGE        1 TABLE/PROCEDURE                PROCEDURE        1 TABLE/PROCEDURE                SEQUENCE        1 TABLE/PROCEDURE                SYNONYM        1 TABLE/PROCEDURE                TABLE        1 TABLE/PROCEDURE                TYPE        1 TABLE/PROCEDURE                VIEW        2 BODY                           CURSOR        2 BODY                           PACKAGE BODY        2 BODY                           TYPE BODY        3 TRIGGER                        CURSOR        3 TRIGGER                        TRIGGER        4 INDEX                          INDEX        5 CLUSTER                        CLUSTER        5 CLUSTER                        CURSOR       10 QUEUE                          QUEUE       18 PUB SUB INTERNAL INFORMATION   PUB SUB INTERNAL INFORMATION       23 RULESET                        RULESET       45 MULTI-VERSION OBJECT FOR TABLE MULTI-VERSIONED OBJECT       48 MULTI-VERSION OBJECT FOR INDEX MULTI-VERSIONED OBJECT       51 SCHEDULER GLOBAL ATTRIBUTE     CURSOR       51 SCHEDULER GLOBAL ATTRIBUTE     SCHEDULER GLOBAL ATTRIBUTE       64 EDITION                        EDITION       69 DBLINK                         CURSOR       73 SCHEMA                         NONE       74 DBINSTANCE                     CURSOR       75 SQL AREA STATS                 CURSOR STATS       82 SQL AREA BUILD                 CURSOR       93 AUDIT POLICY                   AUDIT POLICY      103 OPTIMIZER FINDING              Optimizer Finding      104 OPTIMIZER DIRECTIVE OWNER      CURSOR      104 OPTIMIZER DIRECTIVE OWNER      Optimizer Directive Owner 38 rows selected. --//可以发现CURSOR, FUNCTION, LIBRARY, OPERATOR, PACKAGE, PROCEDURE, SEQUENCE, SYNONYM, TABLE, TYPE, VIEW在相同的名字空间. --//也就是这些对象不允许重名. SCOTT@test01p> rename seq2 to v_dept; rename seq2 to v_dept                * ERROR at line 1: ORA-00955: name is already used by an existing object

相关推荐