签到成功

知道了

CNDBA社区CNDBA社区

Oracle 12C R2-新特性-更长的标识符

2017-02-19 13:51 4110 0 原创 Oracle 12C
作者: Expect-乐

Oracle 12C R2-新特性-更长的标识符

Oracle 12.2中增加了最大的标识符长度,从30字节增加到128字节。http://www.cndba.cn/Expect-le/article/1760

长标识符

可能每个DBA或者开发人员都遇到过这样痛苦的情况,就是对象的名称有时候允许的字节数太少,无法满足命名规则的要求,只能强行缩写。这个对于数据库直接迁移数据最为痛苦,比如MYSQL,SQLSERVER,ORACEL之间迁移数据,就会收到这个限制。但是在ORACLE 12.2中这个长度增加到了128个字符。正常情况绝对够用了。

举个例子:

--创建一个表

SQL>CREATE TABLE this_is_a_table_to_hold_employees_please_dont_put_customers_in_it (

  this_is_the_primary_key_column_which_uniquely_identifies_the_row  NUMBER,

  this_is_for_the_employee_name_so_dont_put_other_crap_in_it        VARCHAR2(100),

  CONSTRAINT this_is_a_table_to_hold_employees_please_dont_put_customers_in_it_pk

    PRIMARY KEY (this_is_the_primary_key_column_which_uniquely_identifies_the_row)

);

Table created.

SQL>

这么长的表名和字段名,在之前版本中使无法创建的。都会报错。

相关的字典视图也已经体现了。

http://www.cndba.cn/Expect-le/article/1760
http://www.cndba.cn/Expect-le/article/1760

如:

SQL> desc dba_tables

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 OWNER                                     NOT NULL VARCHAR2(128)

 TABLE_NAME                                NOT NULL VARCHAR2(128)

 TABLESPACE_NAME                                    VARCHAR2(30)

 CLUSTER_NAME                                       VARCHAR2(128)

 IOT_NAME                                           VARCHAR2(128)

 STATUS                                             VARCHAR2(8)

......

 CONTAINER_MAP_OBJECT                               VARCHAR2(3)

SQL>

注意:如果你同时使用多个版本的数据库,要避免使用过长的对象名,否则会造成数据库之间的不兼容。

如果数据库版本是12.2或者更高,那么对象名称必须是1128字节,但是下面情况除外:

·数据库的名称被限制为最大8个字节http://www.cndba.cn/Expect-le/article/1760

http://www.cndba.cn/Expect-le/article/1760

·磁盘组,PDB,回滚段,表空间和表空间集的名称被限制为最大30个字节。

 

如果数据库版本是12.2之前,那么对象名称必须是130字节,但是下面情况除外:http://www.cndba.cn/Expect-le/article/1760

·数据库的名称限制为8个字节。http://www.cndba.cn/Expect-le/article/1760

http://www.cndba.cn/Expect-le/article/1760

·数据库链接的名称可以长达128个字节。

官方文档:http://docs.oracle.com/database/122/SQLRF/Database-Object-Names-and-Qualifiers.htm#SQLRF51129

http://www.cndba.cn/Expect-le/article/1760

 

 http://www.cndba.cn/Expect-le/article/1760

版权声明:本文为博主原创文章,未经博主允许不得转载。

标识符

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1366843次
  • 积分:1957
  • 等级:核心会员
  • 排名:第3名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ