华为云用户手册

  • 常用命令 命令 作用 cd 切换目录。 当前目录:【./】(同级目录)可省略 上一级目录:【../】 上上一级目录:【../../】 dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) more 分屏显示文件内容 tasklist 查看进程 netstat -ano 查看链接 wmic startup list full 查看自启 net user 查看用户 示例: 查找D:\Apps\下,包含“DR”的文件: dir /a-d /s "D:\Apps\IDE" | findstr "DR" 查找C盘下,包含“exe”的文件和目录:dir /s C: | findstr "exe"
  • 修订记录 发布日期 修订记录 2024-01-05 第十九次正式发布。 本次更新说明如下: 设置缩略章节新增注意事项,缩略后的图片出现颗粒感或锯齿感的解决办法。 2023-12-15 第十八次正式发布。 本次更新说明如下: 处理图片持久化章节新增Python示例代码内容。 2023-12-07 第十七次正式发布。 本次更新说明如下: 更新约束条件章节的图片限制相关内容。 2023-11-30 第十六次正式发布。 本次更新说明如下: 更新使用图片样式章节,新增自定义分隔符相关内容。 2023-10-30 第十五次正式发布。 本次更新说明如下: 新增灰度图章节。 新增镜像翻转章节。 2023-08-01 第十四次正式发布。 本次更新说明如下: 优化约束与限制。 2020-01-16 第十三次正式发布。 本次更新说明如下: 补充图片水印示例,详见图片水印。 2019-11-20 第十二次正式发布。 本次更新说明如下: 新增常见问题,详见如何通过URL访问图片处理服务?和设置CDN加速后,处理过的图片存储在哪里? 补充约束条件,详见约束条件 2019-01-04 第十一次正式发布。 本次更新说明如下: 新增“图片处理持久化”章节。 2019-08-05 第十次正式发布。 本次更新说明如下: 配套图片处理商用修改计费说明,详见图片处理如何收费? 2019-07-15 第九次正式发布。 本次更新说明如下: 优化调整部分大纲结构。 2018-12-07 第八次正式发布。 本次更新说明如下: 新增“功能概述”章节。 新增“图片瘦身”章节。 OBS服务域名(Endpoint)地址切换,同步刷新本文中的示例链接。 2018-09-30 第七次正式发布。 本次更新说明如下: 优化了“使用图片样式”章节。 在“图片水印参数”章节增加了示例。 2018-09-19 第六次正式发布。 本次更新说明如下: 优化示例链接。 2018-09-03 第五次正式发布。 本次更新说明如下: 优化章节结构。 新增“圆角剪切”章节。 2018-07-18 第四次正式发布。 本次更新说明如下: 新增“获取图片平均色值”章节。 2018-05-25 第三次正式发布。 本次更新说明如下: 图片样式名称命名支持英文句号(.)。 2018-01-10 第二次正式发布。 本次更新说明如下: 控制台功能上线,配套刷新资料。 2017-12-19 第一次正式发布。
  • 操作步骤 在OBS管理控制台左侧导航栏选择“桶列表”。 在OBS管理控制台桶列表中,单击待操作的桶,进入“对象”页面。 单击待共享对象,在网页上方显示对象的信息。“链接”显示该对象的共享链接地址,如图1所示。 匿名用户单击该链接地址即可通过浏览器访问该对象。对象链接地址格式为:https://桶名.域名/文件夹目录层级/对象名。如果该对象存在于桶的根目录下,其链接地址将不会有文件夹目录层级。如果您想了解域名是什么,请参见OBS域名。 图1 对象链接 对于存储类别为归档存储或深度归档存储的对象,如果要让匿名用户通过URL访问,则需要先确认对象的状态是否为“已恢复”。
  • 使用场景 当用户需要将网站中的文件迁移到OBS,并且不想修改网页的代码(即保持网站的链接不变)时,可以使用自定义域名配置方案。 例如用户A的网站域名为www.example.com,网站文件为abc.html,网站链接为:http://www.example.com/abc.html。配置流程如下: 在OBS上创建一个桶,并上传abc.html网站文件到该桶中。 通过OBS控制台,将www.example.com这个自定义的域名配置在已创建桶上。 在域名服务器上,添加CNAME规则,将www.example.com映射成桶域名。 http://www.example.com/abc.html请求到达OBS后,OBS会找到www.example.com和桶域名的映射,转换变成访问桶的abc.html文件。即对http://www.example.com/abc.html的访问,经过OBS处理后,实际访问的是http://桶域名/abc.html。
  • 约束与限制 桶版本限制: 桶版本号为3.0及以上的桶支持自定义配置域名功能。桶版本号可以在OBS管理控制台上,进入桶概览页后,在“基本信息”中查看。 域名数量限制: 每个桶默认最多配置20个自定义域名,部分区域支持最多配置100个自定义域名(如华南-广州、华北-北京四、华南-广州-友好用户环境),各区域支持配置的最大值请以控制台自定义域名配置页面的实际规格为准。 功能限制: OBS自定义域名配置暂时不支持HTTPS访问自定义域名,只支持HTTP访问自定义域名。 客户自定义域名配置成功后,若想使用HTTPS进行访问,需同时使用CDN,通过CDN管理控制台进行HTTPS证书管理,即可使用HTTPS访问。 CDN管理控制台HTTPS证书管理方式,详情请参见HTTPS配置。 一个自定义域名只能配置到一个桶域名上。 暂不支持配置中文域名。 配置的自定义域名后缀目前支持的范围为2~6个英文大小写字母。 按照工信部要求,您配置自定义域名的桶如果在以下区域,需要提前完成ICP备案。 包括:华北-北京一、华北-北京四、华北-乌兰察布一、华东-上海一、华东-上海二、华南-广州、西南-贵阳一 如果使用了加速域名,为防止访问OBS桶中对象变成强制下载,配置自定义域名和加速域名后还需要参考CDN加速场景下访问OBS桶内对象变成强制下载进行处理。
  • 云原生仿真框架 云原生仿真框架主要提供了仿真项目管理以及云原生几何、网格、物理设置、计算求解、后处理能力,具体功能描述详见如下列表。 表1 仿真项目管理 功能名称 功能描述 发布区域 仿真项目管理 支持创建、重命名、复制、导出、删除项目。 华北-北京四 表2 几何操作 功能名称 功能描述 发布区域 几何模型导入 支持导入STEP格式的标准几何模型数据文件(包括“.stp”和“.step”),大小100MB以内。 华北-北京四 参数 支持参数化建模。 华北-北京四 分组 支持几何元素的分组。 华北-北京四 基准 支持创建基准点、基准轴、基准面。 华北-北京四 基础图形 支持点图形操作。 支持边、折线、线框等线图形操作。 支持面、壳等面图形操作。 支持体、组合体、立方体、圆柱体、圆锥体、球体、圆环体等体图形操作。 支持复合体图形操作。 华北-北京四 几何操作 支持拉伸凸台、旋转凸台操作。 支持平移、旋转、镜像、放置操作。 支持线性阵列、圆周阵列。 华北-北京四 几何编辑 支持合并、切除、相交等布尔操作。 支持拆分、圆角、倒角操作。 华北-北京四 几何前处理 支持干涉修复、几何修复。 支持特征清除。 支持创建包围域、填充域。 支持对称性检测。 支持几何标准化。 华北-北京四 表3 网格操作 功能名称 功能描述 发布区域 全局控制 支持几何、网格全局控制。 华北-北京四 局部控制 支持体积细化、组、边界层等局部控制。 华北-北京四 网格生成 支持生成曲面网格、体积网格。 华北-北京四 质量检查 支持2D、3D质量检查。 支持质量重置。 华北-北京四 网格工具 支持切平面工具。 华北-北京四 网格统计 支持网格信息、单元体信息统计。 华北-北京四 表4 物理设置操作 功能名称 功能描述 发布区域 求解器设置 支持动态、静态结构求解设置。 华北-北京四 物理属性设置 支持分组物理材料设置。 华北-北京四 边界条件设置 支持固定自由度边界条件设置。 支持多点约束边界条件设置。 华北-北京四 载荷设置 支持远端力/力矩设置。 支持节点力/力矩设置。 支持压力设置。 支持重力设置。 华北-北京四 参数设置 支持参数化建模。 华北-北京四 结果设置 支持配置结构静力学、结构模态、流体预期结果。 华北-北京四 表5 计算求解操作 功能名称 功能描述 发布区域 任务运行管理 支持提交、中止计算求解任务。 支持查看任务日志。 华北-北京四 表6 后处理操作 功能名称 功能描述 发布区域 可视化 支持添加云图、矢量线、图表。 华北-北京四 参考 支持查看网格域、网格形变。 支持查看切面、截面、等值面。 华北-北京四 统计 支持网格信息、网格实体信息、物理量信息统计。 华北-北京四 表7 其他操作 功能名称 功能描述 发布区域 其他操作 支持重命名、复制。 支持显示日志。 支持更新、更新引用。 支持中止。 支持删除。 华北-北京四 父主题: 产品功能
  • IAM权限和数据库权限的区别 DAS作为管理面服务,不会直接对客户的数据库实例资源进行增删改操作。在DAS页面执行的只有增删改数据库连接(即数据库登录信息)的操作。 IAM权限控制对DAS的应用范围仅在登录数据库连接前,登录数据库连接后,权限校验就由数据库账号自身的权限来接管了。 您可以通过IAM自定义权限策略来控制子账号是否能增删改数据连接、能否登录数据库连接,但是进入数据库后,IAM无法再干涉用户执行SQL命令,此时只有数据库账号权限可以发挥作用。
  • 入门指引 若您需要使用自己的域名完整的体验媒体直播的相关功能,您可以参考本章节快速实现,具体操作流程如图1所示。 图1 媒体直播入门流程 标准直播入门操作流程说明如表1所示。 表1 标准直播入门流程说明 序号 操作方法 操作说明 1 添加媒体直播域名 将准备的已备案的域名添加到媒体直播服务,包括推流域名和播放域名。您可以注册备案一个一级域名(如example.com),然后使用两个不同的二级域名(如live-play.example.com和live-push.example.com)分别作为媒体直播播放域名和推流域名。 2 配置CNAME 推流域名和播放域名添加成功后,视频直播会为其分配对应的CNAME地址。您需要在域名DNS服务商处为推流域名和播放域名配置CNAME解析,开启直播推流加速和播放加速。 3 创建频道 您可以在媒体直播开始前,创建频道。 媒资输入类型包括: FLV_PULL:用户提供音视频流URL,媒体直播服务直接从URL拉流推到源站,无需再执行推流操作。 RTMP_PUSH:需要配置推流域名,并执行推流操作。 SRT_PUSH:需要配置推流域名,并执行推流操作。 如需选择“SRT_PUSH”,请提交工单,申请开通SRT推流业务。 4 推流 您可以使用第三方推流工具OBS进行推流。 5 播放 您可以使用第三方播放工具VLC进行播放。 父主题: 快速入门
  • 操作步骤 获取用户Token,用于调用媒体直播接口时进行认证鉴权。 详细信息请参见构造请求。以“华北-北京四”为示例,若您需要调用其它区域的媒体直播接口,请替换成对应区域的IAM终端节点。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "password", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "projectname" } } } } 如图1所示,红框中的信息为获取用户Token。 图1 获取用户Token 选择POST请求方法,并输入请求URI。 POST https://live.cn-north-4.myhuaweicloud.com/v1/{project_id}/ott/channels “live.cn-north-4.myhuaweicloud.com”为媒体直播服务的终端节点,您可以在终端节点中获取。 调用IAM接口的区域需与调用媒体直播接口的区域一致,如调用“cn-north-4”区域的IAM接口获取用户Token,则该Token仅能用于调用“cn-north-4”区域媒体直播接口的鉴权。 在请求消息头中增加“X-Auth-Token”,值设置为1中获取的用户Token。 在请求消息体中传入如下所示的参数,具体参数说明可参考新建OTT频道接口。 { "domain": "push.domain.com", "app_name": "ott", "id": "testChannel", "name": "testChannel", "input": { "input_protocol": "FLV_PULL", "sources": [ { "url": "http://push.domain.com/ott/testChannel/index.flv", "bitrate": 2048, "width": 2096, "height": 1024 } ] }, "record_settings": { "rollingbuffer_duration": 3600 }, "encoder_settings": [ { "template_id": "hd" } ], "endpoints": [ { "hls_package": [ { "url": "pull.domain.com/ott/testChannel/index.m3u8", "stream_selection": [ { "key": "bitrate=900000-1800000", "max_bandwidth": 1800000, "min_bandwidth": 900000 } ], "segment_duration_seconds": 4, "encryption": { "drm_content_id": "xxxx", "system_ids": [ "FairPlay" ], "auth_info": "Basic xxxx", "km_url": "https://drmdomain/xxx" } } ] } ], "state": "ON" } 请求响应成功后,无返回参数,状态码为201 Created。 若请求失败,返回如下所示的错误码及错误描述,状态码为400 Bad Request。 "result_code": "LIVE.100011001", "result_msg": "Request parameters is invalid"
  • 终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,媒体直播的终端节点如表1所示。您也可以从地区和终端节点中查询服务的终端节点。 表1 终端节点 区域名称 区域 终端节点(Endpoint) 华东-上海一 cn-east-3 live.cn-east-3.myhuaweicloud.com 华北-北京四 cn-north-4 live.cn-north-4.myhuaweicloud.com 父主题: 使用前必读
  • 流转规则自动生成事件 流转规则自动生成事件,需要做以下步骤: 登录管理控制台。 单击“”,搜索“云运维中心”。单击进行搜索,选择“云运维中心”。 同步人员,具体参考人员管理。 设置排班,并给排班中添加排班人员,具体参考排班管理。 集成监控系统,自动上报告警信息,具体参考集成管理。 配置流转规则,根据流转规则生成事件,具体参考配置流转规则。 若事件生成后,想要接收到事件的通知信息,可配置自动通知能力,具体参考通知管理。
  • 补丁修复后合规性报告仍然为不合规如何处理? 单击修复后生成的合规性报告摘要 图1 合规性报告摘要 查看不合规的补丁状态,根据状态不同查看不同解决方案 表1 不同合规性状态的解决方案 不合规状态 解决方案 失败 查看生成此合规性报告的补丁工单日志,根据失败的日志解决此问题 已安装待重启 补丁已安装修复,待机器重启后生效,机器重启后扫描即可解决不合规问题 已拒绝 在补丁基线中拒绝了此补丁,合规性报告中显示为已拒绝,若需要取消拒绝,请到补丁基线中编辑相应基线 父主题: 资源运维常见问题
  • 参数管理的页面权限? 权限设计 访问参数列表页:需要list权限: coc:parameter:list 获取参数详情:需要get权限:coc:parameter:get 删除参数:需要操作类权限:coc:parameter:delete 创建参数:需要操作类权限:coc:parameter:create 更新参数:需要操作类权限:coc:parameter:update 资源类权限(具体到某一个region下 && 某一个租户的一个参数):coc:*:*:parameter:name(第一个*代表所有regionID,第二个*所有租户,name代表参数名称) 资源类权限决定你可以访问哪些数据,操作类权限是对你有的资源类权限进行操作,常见问题: 如果你可以访问某个参数,但是你访问不了列表页,代表你缺少coc:parameter:list权限 如果你找不到指定的参数,需要确认是否有该参数的权限 coc:service-name:region:account-id:resource-type:resource-path这个是资源类权限的结构,*代表该层级所有权限,添加资源类权限需要按照这个格式填写 父主题: 参数管理常见问题
  • 前提条件 已拥有华为云帐号,并且华为云帐号已实名认证。 华为云帐号未欠费,并且有足够的金额可以购买本最佳实践所涉及的资源。 已完成私网NAT网关创建。 私网NAT网关目前在“华东-上海二”、“中国-香港”、“拉美-圣保罗一”、“非洲-约翰内斯堡”、“拉美-墨西哥城一”限时免费。 私网NAT网关目前在“华南-广州-友好用户环境”、“华南-广州”、“华东-上海一”、“华北-北京四”、“华北-乌兰察布一”、“西南-贵阳一”、“中国-香港”、“亚太-曼谷”、“亚太-新加坡”、“亚太-雅加达”、“中东-利雅得”、“拉美-墨西哥城二”、“拉美-圣地亚哥”已开始计费。
  • 前提条件 已拥有华为云帐号,并且华为云帐号已实名认证。 华为云帐号未欠费,并且有足够的金额可以购买本最佳实践所涉及的资源。 已完成私网NAT网关创建。 私网NAT网关目前在“华东-上海二”、“中国-香港”、“拉美-圣保罗一”、“非洲-约翰内斯堡”、“拉美-墨西哥城一”限时免费。 私网NAT网关目前在“华南-广州-友好用户环境”、“华南-广州”、“华东-上海一”、“华北-北京四”、“华北-乌兰察布一”、“西南-贵阳一”、“中国-香港”、“亚太-曼谷”、“亚太-新加坡”、“亚太-雅加达”、“中东-利雅得”、“拉美-墨西哥城二”、“拉美-圣地亚哥”已开始计费。 已完成云上重叠子网间主机互访操作。
  • 软件著作权证书发布说明 软件商品必须上传软件著作权证书或相关资质证书软件(如涉及),支持.zip;.doc;.docx;.pdf;.ppt;.pptx格式,大小不超过20M。 云商店为商家提供了三种软著声明函模板,商家可点击声明函模板下载,解压后可看到三份文件,分别对应三种场景,填写时需注意注释要求,如下图所示。 场景一:商品名称与软著中的软件名称不一致 场景二:发布主体与软著权人不一致声明函 场景三:软著正在申请中 父主题: 商品发布
  • 操作步骤 使用已成功入驻云商店的华为账号登录华为云,单击页面右上角账号下拉框中的“卖家中心”,进入云商店控制台; 单击左侧菜单栏的“线索管理”,进入机会点管理页面; 在该页面单击该线索的查看详情,查看线索中的客户信息、线索信息; 客户基本信息包含:客户公司名称、客户联系人、电话、邮箱、客户华为云账号。 线索基本信息包含:交付方式、线索类型、机会点空间、客户诉求、预计签单时间、机会点描述、产品方案。 商家可根据机会点详情描述获取客户诉求和客户联系方式,与客户线下沟通后来决定“接受”或者“拒绝”此机会点; 当机会点分配给商家后,如5天内未被接收,系统将自动拒绝该机会点,请商家及时处理。 接受机会点后,根据客户的沟通情况,更新线索状态; 更新进展:如果该机会点已联系客户并推动项目的成交,请及时单击“更新进展”, 刷新客户项目的沟通进展。 当项目推动到下单时,请按照流程申请云商店机会点场景的商务优惠,详情可参考《创建、查看商家优惠》。 当完成云商店机会点场景的商务优惠申请时,线索状态将更新为“机会点成交”。 放弃转化:如果该机会点无法驱动客户成交,请单击“放弃转化”释放该机会点,更新线索状态至“机会点转化失败”,该机会点释放后,云商店会重新分配至其他商家来跟踪。
  • The following describes changes of earlier versions. [Version Changes] We have updated the Privacy Statement to improve your experience with this service. Please read the following to learn more about the relevant changes. Added the SmartRooms and IdeaHub access scenarios. Added the description of Personal Data collection, permissions, and path of disabling automatic collection in SmartRooms and IdeaHub access scenarios in Article "How We Collect Your Personal Data." Added the description of third-party SDKs in Article "Third-Party Service Providers and Their Services." Added the user experience improvement program. Added the description of joining and exiting the user experience improvement program in Article "How We Use Your Personal Data." Adjusted the report retention period for better public environment. Changed the report retention period from 30 days to 6 months in Section "Data Storage and Retention." Updated: June 1, 2022 View Huawei Cloud Meeting Privacy Statement
  • Oracle数据库兼容性概述 本章节主要介绍GaussDB数据库的Oracle兼容模式与Oracle数据库19C版本的兼容性对比信息。具体的相关信息和规格约束请参考《开发者指南》相应章节。 GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与Oracle数据库兼容,PLSQL方面也基本兼容。由于GaussDB数据库与Oracle数据库底层框架实现存在差异,GaussDB数据库与Oracle数据库仍存在部分差异。GaussDB与Oracle的兼容性如下文所示。 父主题: 主备版
  • 系统视图 由于数据库底层框架实现存在差异,大部分视图GaussDB仅支持部分列,具体请参考《开发者指南》。 表1 支持视图列表 序号 Oracle数据库 GaussDB数据库 差异 1 ALL_ALL_TABLES DB_ALL_TABLES 仅支持部分列 2 ALL_COL_PRIVS DB_COL_PRIVS 仅支持部分列 3 ALL_COLL_TYPES DB_COLL_TYPES 仅支持部分列 4 ALL_ERRORS DB_ERRORS 仅支持部分列 5 ALL_IND_COLUMNS DB_IND_COLUMNS - 6 ALL_COL_COMMENTS DB_COL_COMMENTS 仅支持部分列 7 ALL_CONS_COLUMNS DB_CONS_COLUMNS - 8 ALL_CONSTRAINTS DB_CONSTRAINTS 仅支持部分列 9 ALL_DEPENDENCIES DB_DEPENDENCIES 仅支持部分列 10 ALL_IND_EXPRESSIONS DB_IND_EXPRESSIONS - 11 ALL_IND_PARTITIONS DB_IND_PARTITIONS 仅支持部分列 12 ALL_INDEXES DB_INDEXES 仅支持部分列 13 ALL_IND_SUBPARTITIONS DB_IND_SUBPARTITIONS 仅支持部分列 14 ALL_OBJECTS DB_OBJECTS 仅支持部分列 15 ALL_PART_COL_STATISTICS DB_PART_COL_STATISTICS 仅支持部分列 16 ALL_PART_KEY_COLUMNS DB_PART_KEY_COLUMNS 仅支持部分列 17 ALL_PART_TABLES DB_PART_TABLES 仅支持部分列 18 ALL_SCHEDULER_JOB_ARGS DB_SCHEDULER_JOB_ARGS 仅支持部分列 19 ALL_SCHEDULER_PROGRAM_ARGS DB_SCHEDULER_PROGRAM_ARGS 仅支持部分列 20 ALL_SEQUENCES DB_SEQUENCES 仅支持部分列 21 ALL_SUBPART_COL_STATISTICS DB_SUBPART_COL_STATISTICS 仅支持部分列 22 ALL_SUBPART_KEY_COLUMNS DB_SUBPART_KEY_COLUMNS 仅支持部分列 23 ALL_SYNONYMS DB_SYNONYMS 仅支持部分列 24 ALL_TAB_COL_STATISTICS DB_TAB_COL_STATISTICS 仅支持部分列 25 ALL_TAB_COMMENTS DB_TAB_COMMENTS 仅支持部分列 26 ALL_TAB_HISTOGRAMS DB_TAB_HISTOGRAMS 仅支持部分列 27 ALL_TAB_STATS_HISTORY DB_TAB_STATS_HISTORY 仅支持部分列 28 ALL_TYPES DB_TYPES 仅支持部分列 29 ALL_PART_INDEXES DB_PART_INDEXES - 30 ALL_PROCEDURES DB_PROCEDURES - 31 ALL_SOURCE DB_SOURCE 仅支持部分列 32 ALL_TAB_COLUMNS DB_TAB_COLUMNS 仅支持部分列 33 ALL_TAB_PARTITIONS DB_TAB_PARTITIONS 仅支持部分列 34 ALL_TAB_SUBPARTITIONS DB_TAB_SUBPARTITIONS 仅支持部分列 35 ALL_TABLES DB_TABLES 仅支持部分列 36 ALL_TRIGGERS DB_TRIGGERS - 37 ALL_USERS DB_USERS - 38 ALL_VIEWS DB_VIEWS 仅支持部分列 39 DBA_AUDIT_OBJECT ADM_AUDIT_OBJECT 仅支持部分列 40 DBA_AUDIT_SESSION ADM_AUDIT_SESSION 仅支持部分列 41 DBA_AUDIT_STATEMENT ADM_AUDIT_STATEMENT 仅支持部分列 42 DBA_AUDIT_TRAIL ADM_AUDIT_TRAIL 仅支持部分列 43 DBA_COL_COMMENTS ADM_COL_COMMENTS 仅支持部分列 44 DBA_COL_PRIVS ADM_COL_PRIVS 仅支持部分列 45 DBA_COLL_TYPES ADM_COLL_TYPES 仅支持部分列 46 DBA_ARGUMENTS ADM_ARGUMENTS 仅支持部分列 47 DBA_CONSTRAINTS ADM_CONSTRAINTS 仅支持部分列 48 DBA_DATA_FILES ADM_DATA_FILES 仅支持部分列 49 DBA_CONS_COLUMNS ADM_CONS_COLUMNS - 50 DBA_DEPENDENCIES ADM_DEPENDENCIES 仅支持部分列 51 DBA_DIRECTORIES ADM_DIRECTORIES 仅支持部分列 52 DBA_PART_COL_STATISTICS ADM_PART_COL_STATISTICS 仅支持部分列 53 DBA_PART_TABLES ADM_PART_TABLES 仅支持部分列 54 DBA_RECYCLEBIN ADM_RECYCLEBIN - 55 DBA_ROLE_PRIVS ADM_ROLE_PRIVS 仅支持部分列 56 DBA_ROLES ADM_ROLES 仅支持部分列 57 DBA_SCHEDULER_JOB_ARGS ADM_SCHEDULER_JOB_ARGS 仅支持部分列 58 DBA_SCHEDULER_PROGRAMS ADM_SCHEDULER_PROGRAMS 仅支持部分列 59 DBA_SCHEDULER_PROGRAM_ARGS ADM_SCHEDULER_PROGRAM_ARGS 仅支持部分列 60 DBA_HIST_SNAPSHOT ADM_HIST_SNAPSHOT 仅支持部分列 61 DBA_HIST_SQL_PLAN ADM_HIST_SQL_PLAN 仅支持部分列 62 DBA_HIST_SQLSTAT ADM_HIST_SQLSTAT 仅支持部分列 63 DBA_HIST_SQLTEXT ADM_HIST_SQLTEXT 仅支持部分列 64 DBA_ILMDATAMOVEMENTPOLICIES GS_ADM_ILMDATAMOVEMENTPOLICIES 仅支持部分列 65 DBA_ILMEVALUATIONDETAILS GS_ADM_ILMEVALUATIONDETAILS 仅支持部分列 66 DBA_ILMOBJECTS GS_ADM_ILMOBJECTS 仅支持部分列 67 DBA_ILMPARAMETERS GS_ADM_ILMPARAMETERS 仅支持部分列 68 DBA_ILMPOLICIES GS_ADM_ILMPOLICIES 仅支持部分列 69 DBA_ILMRESULTS GS_ADM_ILMRESULTS - 70 DBA_ILMTASKS GS_ADM_ILMTASKS - 71 DBA_IND_COLUMNS ADM_IND_COLUMNS 仅支持部分列 72 DBA_IND_EXPRESSIONS ADM_IND_EXPRESSIONS - 73 DBA_IND_PARTITIONS ADM_IND_PARTITIONS 仅支持部分列 74 DBA_INDEXES ADM_INDEXES 仅支持部分列 75 DBA_OBJECTS ADM_OBJECTS 仅支持部分列 76 DBA_PART_INDEXES ADM_PART_INDEXES - 77 DBA_PROCEDURES ADM_PROCEDURES 仅支持部分列 78 DBA_SCHEDULER_JOBS ADM_SCHEDULER_JOBS 仅支持部分列 79 DBA_SCHEDULER_RUNNING_JOBS ADM_SCHEDULER_RUNNING_JOBS 仅支持部分列 80 DBA_SEGMENTS ADM_SEGMENTS 仅支持部分列 81 DBA_SEQUENCES ADM_SEQUENCES - 82 DBA_SOURCE ADM_SOURCE 仅支持部分列 83 DBA_IND_SUBPARTITIONS ADM_IND_SUBPARTITIONS 仅支持部分列 84 DBA_SUBPART_COL_STATISTICS ADM_SUBPART_COL_STATISTICS 仅支持部分列 85 DBA_SUBPART_KEY_COLUMNS ADM_SUBPART_KEY_COLUMNS 仅支持部分列 86 DBA_SYS_PRIVS ADM_SYS_PRIVS 仅支持部分列 87 DBA_TAB_COL_STATISTICS ADM_TAB_COL_STATISTICS 仅支持部分列 88 DBA_TAB_HISTOGRAMS ADM_TAB_HISTOGRAMS 仅支持部分列 89 DBA_TAB_STATISTICS ADM_TAB_STATISTICS 仅支持部分列 90 DBA_TAB_STATS_HISTORY ADM_TAB_STATS_HISTORY 仅支持部分列 91 DBA_TABLESPACES ADM_TABLESPACES 仅支持部分列 92 DBA_TYPES ADM_TYPES 仅支持部分列 93 DBA_USERS ADM_USERS 仅支持部分列 94 DBA_SYNONYMS ADM_SYNONYMS - 95 DBA_TAB_COLS ADM_TAB_COLS 仅支持部分列 96 DBA_TAB_COLUMNS ADM_TAB_COLUMNS 仅支持部分列 97 DBA_TAB_COMMENTS ADM_TAB_COMMENTS - 98 DBA_TABLES ADM_TABLES 仅支持部分列 99 DBA_TAB_PARTITIONS ADM_TAB_PARTITIONS 仅支持部分列 100 DBA_TAB_SUBPARTITIONS ADM_TAB_SUBPARTITIONS - 101 DBA_TRIGGERS ADM_TRIGGERS 仅支持部分列 102 DBA_TYPE_ATTRS ADM_TYPE_ATTRS - 103 DBA_VIEWS ADM_VIEWS 仅支持部分列 104 ROLE_ROLE_PRIVS ROLE_ROLE_PRIVS 仅支持部分列 105 ROLE_SYS_PRIVS ROLE_SYS_PRIVS 仅支持部分列 106 ROLE_TAB_PRIVS ROLE_TAB_PRIVS 仅支持部分列 107 USER_COL_COMMENTS MY_COL_COMMENTS 仅支持部分列 108 USER_COL_PRIVS MY_COL_PRIVS 仅支持部分列 109 USER_COLL_TYPES MY_COLL_TYPES 仅支持部分列 110 USER_CONSTRAINTS MY_CONSTRAINTS - 111 USER_DEPENDENCIES MY_DEPENDENCIES - 112 DICT DICT - 113 DICTIONARY DICTIONARY - 114 NLS_DATABASE_PARAMETERS NLS_DATABASE_PARAMETERS - 115 NLS_INSTANCE_PARAMETERS NLS_INSTANCE_PARAMETERS - 116 PLAN_TABLE PLAN_TABLE 仅支持部分列 117 USER_ERRORS MY_ERRORS 仅支持部分列 118 USER_ILMDATAMOVEMENTPOLICIES GS_MY_ILMDATAMOVEMENTPOLICIES 仅支持部分列 119 USER_ILMEVALUATIONDETAILS GS_MY_ILMEVALUATIONDETAILS 仅支持部分列 120 USER_ILMOBJECTS GS_MY_ILMOBJECTS 仅支持部分列 121 USER_ILMPOLICIES GS_MY_ILMPOLICIES 仅支持部分列 122 USER_ILMRESULTS GS_MY_ILMRESULTS - 123 USER_ILMTASKS GS_MY_ILMTASKS - 124 USER_IND_COLUMNS MY_IND_COLUMNS 仅支持部分列 125 USER_IND_EXPRESSIONS MY_IND_EXPRESSIONS - 126 USER_IND_PARTITIONS MY_IND_PARTITIONS 仅支持部分列 127 USER_IND_SUBPARTITIONS MY_IND_SUBPARTITIONS 仅支持部分列 128 USER_INDEXES MY_INDEXES 仅支持部分列 129 USER_JOBS MY_JOBS 仅支持部分列 130 USER_OBJECTS MY_OBJECTS 仅支持部分列 131 USER_PART_COL_STATISTICS MY_PART_COL_STATISTICS 仅支持部分列 132 USER_PART_INDEXES MY_PART_INDEXES - 133 USER_PART_TABLES MY_PART_TABLES 仅支持部分列 134 USER_PROCEDURES MY_PROCEDURES 仅支持部分列 135 USER_RECYCLEBIN MY_RECYCLEBIN - 136 USER_SCHEDULER_JOB_ARGS MY_SCHEDULER_JOB_ARGS 仅支持部分列 137 USER_SCHEDULER_PROGRAM_ARGS MY_SCHEDULER_PROGRAM_ARGS 仅支持部分列 138 USER_SEQUENCES MY_SEQUENCES - 139 USER_SOURCE MY_SOURCE 仅支持部分列 140 USER_SUBPART_KEY_COLUMNS MY_SUBPART_KEY_COLUMNS 仅支持部分列 141 USER_SYNONYMS MY_SYNONYMS 仅支持部分列 142 USER_SYS_PRIVS MY_SYS_PRIVS 仅支持部分列 143 USER_TAB_COL_STATISTICS MY_TAB_COL_STATISTICS 仅支持部分列 144 USER_TAB_COLUMNS MY_TAB_COLUMNS 仅支持部分列 145 USER_TAB_COMMENTS MY_TAB_COMMENTS - 146 USER_TAB_HISTOGRAMS MY_TAB_HISTOGRAMS 仅支持部分列 147 USER_TAB_PARTITIONS MY_TAB_PARTITIONS 仅支持部分列 148 USER_TAB_STATISTICS MY_TAB_STATISTICS 仅支持部分列 149 USER_TAB_STATS_HISTORY MY_TAB_STATS_HISTORY 仅支持部分列 150 USER_TAB_SUBPARTITIONS MY_TAB_SUBPARTITIONS 仅支持部分列 151 USER_TABLES MY_TABLES 仅支持部分列 152 USER_TABLESPACES MY_TABLESPACES 仅支持部分列 153 USER_TRIGGERS MY_TRIGGERS 仅支持部分列 154 USER_TYPE_ATTRS MY_TYPE_ATTRS - 155 USER_TYPES MY_TYPES 仅支持部分列 156 USER_VIEWS MY_VIEWS 仅支持部分列 157 V$GLOBAL_TRANSACTION V$GLOBAL_TRANSACTION 仅支持部分列 158 V$NLS_PARAMETERS V$NLS_PARAMETERS 仅支持部分列 159 V$SESSION_WAIT V$SESSION_WAIT 仅支持部分列 160 V$SYSSTAT V$SYSSTAT 仅支持部分列 161 V$SYSTEM_EVENT V$SYSTEM_EVENT 仅支持部分列 162 V$VERSION V$VERSION 仅支持部分列 163 V$INSTANCE V_INSTANCE 仅支持部分列 164 GV$INSTANCE GV_INSTANCE - 165 V$MYSTAT V_MYSTAT 仅支持部分列 166 V$SESSION V_SESSION 仅支持部分列 167 GV$SESSION GV_SESSION 仅支持部分列 168 V$SESSION_LONGOPS DV_SESSION_LONGOPS 仅支持部分列 169 V$SESSION DV_SESSIONS 仅支持部分列 170 ALL_ARGUMENTS DB_ARGUMENTS 仅支持部分列 171 USER_CONS_COLUMNS MY_CONS_COLUMNS - 172 USER_PART_KEY_COLUMNS MY_PART_KEY_COLUMNS 仅支持部分列 173 USER_SUBPART_COL_STATISTICS MY_SUBPART_COL_STATISTICS 仅支持部分列 174 USER_ROLE_PRIVS MY_ROLE_PRIVS 仅支持部分列 175 DBA_TAB_PRIVS ADM_TAB_PRIVS 仅支持部分列 176 USER_SCHEDULER_JOBS MY_SCHEDULER_JOBS 仅支持部分列 177 V$LOCK V$LOCK 仅支持部分列 178 V$DBLINK V$DBLINK 仅支持部分列 179 V$OPEN_CURSOR V$OPEN_CURSOR 仅支持部分列 180 DB_TAB_PRIVS DB_TAB_PRIVS 仅支持部分列 181 DB_TAB_MODIFICATIONS DB_TAB_MODIFICATIONS 仅支持部分列 182 MY_TAB_MODIFICATIONS MY_TAB_MODIFICATIONS 仅支持部分列 183 USER_AUDIT_TRAIL MY_AUDIT_TRAIL 仅支持部分列 父主题: 主备版
  • 单行函数 序号 Oracle数据库 GaussDB数据库 1 数值函数 支持 2 返回字符值的字符函数 支持 3 返回数值的字符函数 支持 4 字符集函数 支持 5 Collation函数 不支持 6 日期时间函数 支持 7 一般比较函数 支持 8 转换函数 支持 9 大对象函数 支持 10 集合函数 不支持 11 分层函数 支持 12 数据挖掘功能函数 不支持 13 XML函数 支持,有差异 14 JSON函数 支持 15 编码和解码功能函数 支持 16 NULL相关函数 支持 17 环境和标识符函数 支持 18 聚合函数 支持 19 分析函数 不支持 20 对象引用函数 不支持 21 模型函数 不支持 22 OLAP函数 不支持 23 数据盒功能函数 不支持 24 关于用户定义的函数 支持 表1 数字函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 ABS 支持。 - 2 ACOS 支持。 - 3 ASIN 支持。 - 4 ATAN 支持。 - 5 ATAN2 支持。 - 6 BITAND 支持。 - 7 CEIL 支持。 - 8 COS 支持。 - 9 COSH 支持。 - 10 EXP 支持。 - 11 FLOOR 支持。 - 12 LN 支持。 - 13 LOG 支持。 - 14 MOD 支持,有差异。 返回类型不一致,Oracle数据库类型包括BINARY_DOUBLE,BINARY_FLOAT,NUMBER;GaussDB返回类型包括int2,int4,int8,numeric。 当两个入参中有一个是int类型时,另一个参数必须为int、numeric类型或字面值整数(无小数点的合法数字如:‘12’)。 15 NANVL 支持,有差异。 不支持直接声明或浮点数除0得到NaN 16 POWER 支持。 - 17 REMAINDER 支持,有差异。 当两个入参中有一个是int类型时,另一个参数必须为int、numeric类型或字面值整数(无小数点的合法数字如:‘12’) 18 ROUND 支持,有差异。 第一个参数n的float类型GaussDB存在精度损失,比Oracle数据库精度低。 返回类型不一致。round(n, integer)形式,Oracle数据库NUMBER类型,GaussDB返回numeric类型;round(n)形式,Oracle数据库n的数据类型,GaussDB只能返回float8和numeric类型,缺少float4返回类型。 GaussDB判断入参有null,执行框架返回null的逻辑与Oracle数据库不一致 select round(NULL,'q'); Oracle数据库null,GaussDB报错invalid input syntax for integer: "q"。 19 SIGN 支持。 - 20 SIN 支持。 - 21 SINH 支持。 - 22 SQRT 支持。 - 23 TAN 支持。 - 24 TANH 支持,有差异。 返回值精度有差异。 25 TRUNC 支持。 - 26 WIDTH_BUCKET 支持。 - 表2 字符串函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 CHR 支持,有差异 输入的数字不符合现有字符集时,在JDBC下GaussDB会报错,Oracle数据库会返回乱码。 输入0、256等时Oracle数据库会返回Ascii码为0的字符,GaussDB会在'\0;处截断。 2 CONCAT 支持 - 3 INITCAP 支持 - 4 LOWER 支持,有差异 返回值类型不一致,Oracle数据库和输入类型一致的数据类型。 对时间格式上隐式转换问题,输入时间类型时,隐式转换为字符串再进行lower操作。 SELECT LOWER(TO_DATE('2012-12-10','YYYY-MM-DD')); Oracle返回10-DEC-12,GaussDB返回2012-12-10 00:00:00。 5 LPAD 支持 - 6 LTRIM 支持,有差异 返回值类型不一致,输入是字符数据类型时Oracle返回VARCHAR2类型,输入是数据库创建指定的国家字符集时Oracle返回NVARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 7 NLS_LOWER 支持,有差异 返回值类型不同,输入是字符数据类型时Oracle返回VARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 nlsparam参数Oracle数据库还可以传入除nls_sort外的其他参数种类而不报错,GaussDB只支持nls_sort。 8 NLS_UPPER 支持,有差异 返回值类型不同,输入是字符数据类型时Oracle返回VARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 nlsparam参数Oracle数据库还可以传入除nls_sort外的其他参数种类而不报错,GaussDB只支持nls_sort。 9 NLSSORT 支持 - 10 REGEXP_REPLACE 支持,有差异 - 11 REGEXP_SUBSTR 支持 - 12 REPLACE 支持 - 13 RPAD 支持 - 14 RTRIM 支持 - 15 SUBSTR 支持 - 16 TRANSLATE 支持 - 17 TRIM 支持 - 18 UPPER 支持,有差异 返回值类型不一致,Oracle数据库和输入类型一致的数据类型,GaussDB返回TEXT类型。 对时间格式上隐式转换问题,输入时间类型时,隐式转换为字符串再进行upper操作。 SELECT UPPER(TO_DATE('2012-12-10','YYYY-MM-DD')); Oracle返回10-DEC-12,GaussDB返回2012-12-10 00:00:00。 19 ASCII 支持,有差异 返回值类型不同,Oracle数据库返回类型为uint4,GaussDB为int4。 20 INSTR 支持 - 21 INSTRB 支持 - 22 LENGTH 支持 - 23 REGEXP_COUNT 支持,有差异 。 24 REGEXP_INSTR 支持 - 25 EMPTY_CLOB 支持,有差异 clob不支持定位器 26 NCHR 支持,有差异 返回值字节长度与Oracle数据库不一致。 返回值受限于数据库字符集,导致返回结果与Oracle数据库不一致。 返回入参对应的字节数组时,单个字节在[0x80-0xFF]范围,会返回“?”,Oracle数据库返回“?”或者不输出、或者会报错。 表3 日期时间函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 ADD_MONTHS 支持,有差异 公元后到公元前,GaussDB会和Oracle数据库相差1年。 GaussDB的计算结果范围可以到-4714年,Oracle数据库只到-4713年。 2 CURRENT_DATE 支持,有差异 不支持nls_date_format参数设置时间显示格式。 3 CURRENT_TIMESTAMP 支持,有差异 Oracle数据库参数支持范围(0-9),GaussDB支持范围(0-6),微秒末位零不显示。 4 DBTIMEZONE 支持,有差异 不支持自带tz的timestamp类型接口的调用。 5 EXTRACT 支持 - 6 LAST_DAY 支持,有差异 返回值类型不一致,GaussDB返回值类型为timestamp without time zone,Oracle返回值类型为date。 7 LOCALTIMESTAMP 支持 - 8 MONTHS_BETWEEN 支持,有差异 入参类型不一致,GaussDB入参均为timestamp without time zone类型,Oracle入参均为date类型。 9 NEW_TIME 支持,有差异 new_time函数的第一个入参为字面量时,字面量的格式以及函数的返回值类型均与Oracle数据库不一致。 10 NEXT_DAY 支持 - 11 NUMTODSINTERVAL 支持,有差异 不支持dsinterval类型,暂时用interval兼容dsinterval类型。 12 NUMTOYMINTERVAL 支持,有差异 不支持yminterval类型,暂时用interval兼容yminterval类型。 13 SESSIONTIMEZONE 支持,有差异 - 14 SYS_EXTRACT_UTC 支持 - 15 SYSDATE 支持,有差异 返回值类型不一致,GaussDB返回值类型为timestamp without time zone,Oracle返回值类型为date。 16 TO_CHAR 支持,有差异 fmt‘5’未在Oracle数据库文档中,未适配。 17 TO_DSINTERVAL 支持,有差异 不支持dsinterval类型,暂时用interval兼容dsinterval类型。 18 TO_TIMESTAMP 支持,有差异 GaussDB毫秒计算只支持6位,Oracle数据库支持9位。 19 TO_TIMESTAMP_TZ 支持,有差异 GaussDB的timestamptz等价于Oracle的timestampwithloacltimezone,缺少Oracle对应的timestamptz类型。nls_date_language只支持ENGLISH和AMERICAN两种语言。 20 TO_YMINTERVAL 支持,有差异 不支持yminterval类型,暂时用interval兼容yminterval类型。 21 TZ_OFFSET 支持,有差异 接受一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 表4 通用比较函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 GREATEST 支持,有差异 接受一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 2 LEAST 支持,有差异 不支持NLS_SORT参数制定的比较方式,只支持二进制比较。 不支持多语种的表达式。 表5 转换函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 ASCIISTR 支持,有差异 GaussDB数值类型返回结果与Oracle数据库不一致。 2 CAST 支持,有差异 不支持multiset子句。 不支持nlsparam参数。 3 CONVERT 支持 - 4 HEXTORAW 支持 - 5 RAWTOHEX 支持 - 6 TO_BINARY_DOUBLE 支持,有差异 不支持nlsparam参数 7 TO_BINARY_FLOAT 支持,有差异 不支持nlsparam参数 8 TO_BLOB 支持,有差异 不支持long raw类型。 不支持bfile、mime_type类型。 9 TO_CLOB 支持 - 10 TO_DATE 支持,有差异 不支持多语种参数。 返回类型不一致。 缺少控制参数NLS_DATE_FORMAT。 部分format格式不支持。 fmt = 'j'。 1582年10月15日之前Oracle数据库与GaussDB输出不一致。 无分割符时,不保证与Oracle数据库完全一致。如to_date(‘220725’, ‘yymmdd’),yy/rr按照固定长度4解析,会解析为2207年25月,25非法月份则会报错。 11 TO_MULTI_BYTE 支持 - 12 TO_NCHAR 支持,有差异 将入参的类型直接转换为text。 13 TO_NUMBER 支持,有差异 不支持nlsparam参数。 14 TO_SINGLE_BYTE 支持 - 15 TREAT 支持,有差异 不支持使用“.”操作符取值,不支持转化为object类型。 16 UNISTR 支持,有差异 GaussDB只支持UTF-8编码,Oracle数据库支持UTF-8和UTF-16编码。 表6 二进制函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 EMPTY_BLOB 支持 - 表7 层次函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 SYS_CONNECT_BY_PATH 支持,有差异 第一个入参指定的列的类型仅支持CHAR/VARCHAR/NVARCHAR2/TEXT类型 表8 XML类型函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 EXISTSNODE 支持,有差异 在入参有命名空间时,xpath和命名空间都需要定义别名。 2 EXTRACTVALUE 不支持 - 3 SYS_XMLAGG 支持,有差异 xmlagg的别名,可使用xmlagg代替。 4 XMLAGG 支持 - 5 XMLCOMMENT 支持 - 6 XMLCONCAT 支持 - 7 XMLELEMENT 支持,有差异 - 8 XMLEXISTS 支持,有差异 入参为xml类型,部分语法不同。 9 XMLFOREST 支持,有差异 返回值为xml类型,部分语法不同。 10 XMLPARSE 支持,有差异 返回值为xml类型,部分功能存在差异。 11 XMLROOT 支持,有差异 返回值为xml类型,部分功能存在差异。 12 JSON_OBJECT 支持 - 13 XMLTABLE 支持,有差异 从xml中选取数据使用的为XPath 1.0表达式,不支持声明默认命名空间,不支持多组输入及取别名,不支持省略传入数据的passing_clause子句,不支持RETURNING SEQUENCE BY REF子句和( SEQUENCE ) BY REF子句。 表9 编码解码函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 DECODE 支持 - 2 DUMP 支持,有差异 因存储格式不同,数值和时间类型返回结果和Oracle数据库不一致。 3 ORA_HASH 支持,有差异 时间类型的入参转换成字符串类型再进行hash。 不支持maxbucket参数。 4 VSIZE 支持,有差异 数值和时间类型返回结果和Oracle数据库不一致,如GaussDB select vsize(999); 返回3;Oracle select vsize(999) from dual; 返回4。 表10 空值相关的函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 COALESCE 支持 - 2 LNNVL 支持,有差异 入参condition不完全一致。 3 NULLIF 支持 - 4 NVL 支持 - 5 NVL2 支持 - 表11 环境和标识符函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 SYS_CONTEXT 支持,有差异 GaussDB对不支持的参数返回NULL。 以下为不支持的参数列表: 'action' 'is_application_root' 'is_application_pdb' 'audited_cursorid' 'authenticated_identity' 'authentication_data' 'authentication_method' 'cdb_domain' 'cdb_name' 'client_identifier' 'con_id' 'con_name' 'current_sql_length' 'db_domain' 'db_supplemental_log_level' 'dblink_info' 'drain_status' 'entryid' 'enterprise_identity' 'fg_job_id' 'global_uid' 'identification_type' 'instance' 'is_dg_rolling_upgrade' 'ldap_server_type' 'module' 'network_protocol' 'nls_calendar' 'nls_sort' 'nls_territory' 'oracle_home' 'os_user' 'platform_slash' 'policy_invoker' 'proxy_enterprise_identity' 'proxy_user' 'proxy_userid' 'scheduler_job' 'session_edition_id' 'session_edition_name' 'sessionid' 'statementid' 'terminal' 'unified_audit_sessionid' 'session_default_collation' 'client_info' 'bg_job_id' 'client_program_name' 'current_bind' 'global_context_memory' 'host' 'current_sqln' 2 USER 支持,有差异 返回值类型不一致,GaussDB返回值类型为name,Oracle返回值类型为varchar2。 表12 聚合函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 AVG 支持,有差异 未考虑窗口函数(over子句)的差异点。 2 CORR 支持 - 3 COUNT 支持 - 4 COVAR_POP 支持 - 5 COVAR_SAMP 支持 - 6 CUME_DIST 支持 - 7 DENSE_RANK 支持 - 8 FIRST 支持 - 9 GROUPING 支持 - 10 LAST 支持 - 11 LISTAGG 支持 - 12 MAX 支持 - 13 MEDIAN 支持 - 14 MIN 支持 - 15 PERCENT_RANK 支持 - 16 PERCENTILE_CONT 支持 - 17 RANK 支持 - 18 REGR_ (Linear Regression) 支持 - 19 STDDEV 支持 - 20 STDDEV_POP 支持 - 21 STDDEV_SAMP 支持 - 22 SUM 支持 - 23 VAR_POP 支持 - 24 VAR_SAMP 支持 - 25 VARIANCE 支持 - 26 WM_CONCAT 支持,有差异 使用GaussDB已经兼容的LISTAGG,STRING_AGG函数,兼容此功能。 表13 分析函数 序号 Oracle数据库函数 GaussDB数据库是否支持 1 FIRST_VALUE 支持 2 LAG 支持 3 LAST_VALUE 支持 4 LEAD 支持 5 NTH_VALUE 支持 6 NTILE 支持 7 ROW_NUMBER 支持 8 RATIO_TO_REPORT 支持
  • 单行函数 序号 Oracle数据库函数 GaussDB数据库是否支持 1 数值函数 支持 2 返回字符值的字符函数 支持 3 返回数值的字符函数 支持 4 字符集函数 支持 5 Collation函数 不支持 6 日期时间函数 支持 7 一般比较函数 支持 8 转换函数 支持 9 大对象函数 支持 10 集合函数 不支持 11 分层函数 支持 12 数据挖掘功能函数 不支持 13 XML函数 支持,有差异 14 JSON函数 支持 15 编码和解码功能函数 支持 16 NULL相关函数 支持 17 环境和标识符函数 支持 18 聚合函数 支持 19 分析函数 不支持 20 对象引用函数 不支持 21 模型函数 不支持 22 OLAP函数 不支持 23 数据盒功能函数 不支持 24 关于用户定义的函数 支持 表1 数字函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 ABS 支持 - 2 ACOS 支持 - 3 ASIN 支持 - 4 ATAN 支持 - 5 ATAN2 支持 - 6 BITAND 支持 - 7 CEIL 支持 - 8 COS 支持 - 9 COSH 支持 - 10 EXP 支持 - 11 FLOOR 支持 - 12 LN 支持 - 13 LOG 支持 - 14 MOD 支持,有差异 返回类型不一致,Oracle数据库类型包括BINARY_DOUBLE,BINARY_FLOAT,NUMBER;GaussDB返回类型包括int2,int4,int8,numeric。 当两个入参中有一个是int类型时,另一个参数必须为int、numeric类型或字面值整数(无小数点的合法数字如:‘12’)。 15 NANVL 支持,有差异 不支持直接声明或浮点数除0得到NaN。 16 POWER 支持 - 17 REMAINDER 支持,有差异 当两个入参中有一个是int类型时,另一个参数必须为int、numeric类型或字面值整数(无小数点的合法数字如:‘12’)。 18 ROUND 支持,有差异 第一个参数n的float类型,GaussDB存在精度损失,比Oracle数据库精度低。 返回类型不一致。round(n, integer)形式,Oracle数据库NUMBER类型,GaussDB返回numeric类型;round(n)形式,Oracle数据库n的数据类型,GaussDB只能返回float8和numeric类型,缺少float4返回类型。 GaussDB判断入参有null,执行框架返回null的逻辑与Oracle数据库不一致。 select round(NULL,'q'); Oracle数据库null,GaussDB报错invalid input syntax for integer: "q"。 19 SIGN 支持 - 20 SIN 支持 - 21 SINH 支持 - 22 SQRT 支持 - 23 TAN 支持 - 24 TANH 支持,有差异 当传入整数或者加有引号的整数(如:‘12’),返回结果不一致。 25 TRUNC 支持 - 26 WIDTH_BUCKET 支持 - 表2 字符串函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 CHR 支持,有差异 输入的数字不符合现有字符集时,在JDBC下GaussDB会报错,Oracle数据库会返回乱码。 输入0、256等时Oracle数据库会返回Ascii码为0的字符,GaussDB会在'\0;处截断。 2 CONCAT 支持 - 3 INITCAP 支持 - 4 LOWER 支持,有差异 返回值类型不一致,Oracle数据库和输入类型一致的数据类型。 对时间格式上隐式转换问题,输入时间类型时,隐式转换为字符串再进行lower操作。 SELECT LOWER(TO_DATE('2012-12-10','YYYY-MM-DD')); Oracle返回10-DEC-12,GaussDB返回2012-12-10 00:00:00。 5 LPAD 支持 - 6 LTRIM 支持,有差异 返回值类型不一致,输入是字符数据类型时Oracle返回VARCHAR2类型,输入是数据库创建指定的国家字符集时Oracle返回NVARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 7 NLS_LOWER 支持,有差异 返回值类型不同,输入是字符数据类型是Oracle返回VARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 nlsparam参数Oracle数据库还可以传入除nls_sort外的其他参数种类而不报错,GaussDB只支持nls_sort。 8 NLS_UPPER 支持,有差异 返回值类型不同,输入是字符数据类型是Oracle返回VARCHAR2类型,输入是LOB类型时Oracle返回LOB类型,GaussDB返回TEXT类型。 nlsparam参数Oracle数据库还可以传入除nls_sort外的其他参数种类而不报错,GaussDB只支持nls_sort。 9 NLSSORT 支持 - 10 REGEXP_REPLACE 支持,有差异 GaussDB和Oracle支持有差异。 11 REGEXP_SUBSTR 支持 - 12 REPLACE 支持 - 13 RPAD 支持 - 14 RTRIM 支持 - 15 SUBSTR 支持 - 16 TRANSLATE 支持 - 17 TRIM 支持 - 18 UPPER 支持,有差异 返回值类型不一致,Oracle数据库和输入类型一致的数据类型,GaussDB返回TEXT类型。 对时间格式上隐式转换问题,输入时间类型时,隐式转换为字符串再进行upper操作。 SELECT UPPER(TO_DATE('2012-12-10','YYYY-MM-DD')); Oracle返回10-DEC-12,GaussDB返回2012-12-10 00:00:00。 19 ASCII 支持,有差异 返回值类型不同,Oracle数据库返回类型为uint4,GaussDB为int4。 20 INSTR 支持 - 21 INSTRB 支持 - 22 LENGTH 支持 - 23 REGEXP_COUNT 支持,有差异 GaussDB和Oracle支持有差异。 24 REGEXP_INSTR 支持 - 25 EMPTY_CLOB 支持,有差异 clob不支持定位器。 26 NCHR 支持,有差异 返回值字节长度与Oracle数据库不一致。 返回值受限于数据库字符集,导致返回结果与Oracle数据库不一致。 返回入参对应的字节数组时,单个字节在[0x80-0xFF]范围,会返回“?”,Oracle数据库返回“?”或者不输出、或者会报错。 表3 日期时间函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 ADD_MONTHS 支持,有差异 公元后到公元前,GaussDB会和Oracle数据库相差1年。 GaussDB的计算结果范围可以到-4714年,Oracle数据库只到-4713年。 2 CURRENT_DATE 支持,有差异 不支持nls_date_format参数设置时间显示格式。 3 CURRENT_TIMESTAMP 支持,有差异 Oracle数据库参数支持范围(0-9),GaussDB支持范围(0-6),微秒末位零不显示。 4 DBTIMEZONE 支持,有差异 不支持自带tz的timestamp类型接口的调用。 5 EXTRACT 支持 - 6 LAST_DAY 支持,有差异 返回值类型不一致。 7 LOCALTIMESTAMP 支持 - 8 MONTHS_BETWEEN 支持,有差异 入参类型不一致。 9 NEW_TIME 支持,有差异 new_time函数的第一个入参为字面量时,字面量的格式以及函数的返回值类型均与Oracle数据库不一致。 10 NEXT_DAY 支持 - 11 NUMTODSINTERVAL 支持,有差异 不支持dsinterval类型。 12 NUMTOYMINTERVAL 支持,有差异 不支持yminterval类型。 13 SESSIONTIMEZONE 支持,有差异 - 14 SYS_EXTRACT_UTC 支持 - 15 SYSDATE 支持,有差异 返回值类型不一致。 16 TO_CHAR 支持,有差异 fmt‘5’未在Oracle数据库文档中,未适配。 17 TO_DSINTERVAL 支持,有差异 不支持dsinterval类型,暂时用interval兼容dsinterval类型。 18 TO_TIMESTAMP 支持,有差异 GaussDB毫秒计算只支持6位,Oracle数据库支持9位。 19 TO_TIMESTAMP_TZ 支持,有差异 GaussDB的timestamptz等价于Oracle的timestampwithloacltimezone,缺少Oracle对应的timestamptz类型。nls_date_language只支持ENGLISH和AMERICAN两种语言。 20 TO_YMINTERVAL 支持,有差异 不支持yminterval类型,暂时用interval兼容yminterval类型。 21 TZ_OFFSET 支持,有差异 接受一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 表4 通用比较函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 GREATEST 支持,有差异 接受一个时区名称为入参的时候,时区名称的类型比Oracle数据库要少。 2 LEAST 支持,有差异 不支持NLS_SORT参数制定的比较方式,只支持二进制比较。 不支持多语种的表达式。 表5 转换函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 ASCIISTR 支持,有差异 GaussDB数值类型返回结果与Oracle数据库不一致。 2 CAST 支持,有差异 不支持multiset子句。 不支持nlsparam参数。 3 CONVERT 支持 - 4 HEXTORAW 支持 - 5 RAWTOHEX 支持 - 6 TO_BINARY_DOUBLE 支持,有差异 不支持nlsparam参数 7 TO_BINARY_FLOAT 支持,有差异 不支持nlsparam参数 8 TO_BLOB 支持,有差异 不支持long raw类型。 不支持bfile、mime_type类型。 9 TO_CLOB 支持 - 10 TO_DATE 支持,有差异 不支持多语种参数。 返回类型不一致。 缺少控制参数NLS_DATE_FORMAT。 部分format格式不支持。 fmt = 'j'。 1582年10月15日之前Oracle数据库与GaussDB输出不一致。 无分割符时,不保证与Oracle数据库完全一致。如to_date(‘220725’, ‘yymmdd’),yy/rr按照固定长度4解析,会解析为2207年25月,25非法月份则会报错。 11 TO_MULTI_BYTE 支持,有差异 Oracle与GaussDB对时间类型转字符串时的处理方式不一致,传入时间类型数据,返回结果不一致。 12 TO_NCHAR 支持,有差异 将入参的类型直接转换为text。 13 TO_NUMBER 支持,有差异 不支持nlsparam参数。 14 TO_SINGLE_BYTE 支持,有差异 Oracle与GaussDB对时间类型转字符串时的处理方式不一致,传入时间类型数据,返回结果不一致。 15 TREAT 支持,有差异 不支持使用“.”操作符取值,不支持转化为object类型。 16 UNISTR 支持,有差异 GaussDB只支持UTF-8编码,Oracle数据库支持UTF-8和UTF-16编码。 表6 二进制函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 EMPTY_BLOB 支持 - 表7 层次函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 SYS_CONNECT_BY_PATH 不支持 - 表8 XML类型函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 EXISTSNODE 支持,有差异 在入参有命名空间时,xpath和命名空间都需要定义别名。 2 EXTRACTVALUE 支持,有差异 函数名为extractxml,在入参有命名空间时,xpath和命名空间都需要定义别名。 3 SYS_XMLAGG 支持,有差异 xmlagg的别名,可使用xmlagg代替。 4 XMLAGG 支持 - 5 XMLCOMMENT 支持 - 6 XMLCONCAT 支持 - 7 XMLELEMENT 支持,有差异 - 8 XMLEXISTS 支持,有差异 入参为xml类型,部分语法不同。 9 XMLFOREST 支持,有差异 返回值为xml类型,部分语法不同。 10 XMLPARSE 支持,有差异 返回值为xml类型,部分功能存在差异。 11 XMLROOT 支持,有差异 返回值为xml类型,部分功能存在差异。 12 JSON_OBJECT 支持 - 13 XMLTABLE 支持,有差异 从xml中选取数据使用的为XPath 1.0表达式,不支持声明默认命名空间,不支持多组输入及取别名,不支持省略传入数据的passing_clause子句,不支持RETURNING SEQUENCE BY REF子句和( SEQUENCE ) BY REF子句。 表9 编码解码函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 DECODE 支持 - 2 DUMP 支持,有差异 数值和时间类型返回结果和Oracle数据库不一致。 3 ORA_HASH 支持,有差异 时间类型的入参转换成字符串类型再进行hash。 不支持maxbucket参数。 4 VSIZE 支持,有差异 数值和时间类型返回结果和Oracle数据库不一致。 表10 空值相关的函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 COALESCE 支持 - 2 LNNVL 支持,有差异 入参condition不完全一致。 3 NULLIF 支持 - 4 NVL 支持 - 5 NVL2 支持 - 表11 环境和标识符函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 SYS_CONTEXT 支持,有差异 有一些GaussDB无法支持的返回值做了空值处理。 2 USER 支持,有差异 返回值类型不一致。 表12 聚合函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 AVG 支持,有差异 未考虑窗口函数(over子句)的差异点。 2 CORR 支持 - 3 COUNT 支持 - 4 COVAR_POP 支持 - 5 COVAR_SAMP 支持 - 6 CUME_DIST 支持 - 7 DENSE_RANK 支持 - 8 FIRST 支持 - 9 GROUPING 支持 - 10 LAST 支持 - 11 LISTAGG 支持 - 12 MAX 支持 - 13 MEDIAN 支持 - 14 MIN 支持 - 15 PERCENT_RANK 支持 - 16 PERCENTILE_CONT 支持 - 17 RANK 支持 - 18 REGR_ (Linear Regression) 支持 - 19 STDDEV 支持 - 20 STDDEV_POP 支持 - 21 STDDEV_SAMP 支持 - 22 SUM 支持 - 23 VAR_POP 支持 - 24 VAR_SAMP 支持 - 25 VARIANCE 支持 - 26 WM_CONCAT 支持,有差异 使用GaussDB已经兼容的LISTAGG,STRING_AGG函数,兼容此功能。 表13 分析函数 序号 Oracle数据库函数 GaussDB数据库是否支持 差异 1 FIRST_VALUE 支持 - 2 LAG 支持 - 3 LAST_VALUE 支持 - 4 LEAD 支持 - 5 NTH_VALUE 支持 - 6 NTILE 支持 - 7 ROW_NUMBER 支持 - 8 RATIO_TO_REPORT 支持 -
  • SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持。 - 2 分层查询 支持,有差异。 仅支持Oracle中的connect_by_filtering模式,不支持connect_by_nofiltering 3 UNION [ALL],INTERSECT,减运算符 支持。 - 4 查询结果排序 支持。 - 5 Joins 支持,有差异。 - 6 使用子查询 支持。 - 7 嵌套子查询的解嵌套 支持,有差异。 GaussDB不支持显式指定HASH_AJ或MERGE_AJ。 8 从dual表中选择 支持,有差异。 GaussDB中为SYS_DUMMY表。 9 分布式查询 支持,有差异。 GaussDB需要显式DBLINK查询。 父主题: 主备版
  • trigger 表34 trigger类型 序号 Oracle数据库 GaussDB数据库 差异 1 DML TRIGGER 支持,有差异 不支持Compound DML Triggers。 2 SYSTEM TRIGGER 不支持 - 表35 create trigger 语法类型 Oracle数据库 GaussDB数据库 差异 create语法 CREATE [ OR REPLACE ] [ EDITIONABLE | NONEDITIONABLE ] TRIGGER plsql_trigger_source 支持,有差异 不支持OR REPLACE 、EDITIONABLE | NONEDITIONABLE、plsql_trigger_source部分支持。 plsql_trigger_source ::= [schema.] trigger_name [ sharing_clause ] [ default_collation_clause ] { simple_dml_trigger | instead_of_dml_trigger | compound_dml_trigger | system_trigger } 支持,有差异 不支持schema、 sharing_clause、default_collation_clause。 simple_dml_trigger ::= { BEFORE | AFTER } dml_event_clause [ referencing_clause ] [ FOR EACH ROW ] [ trigger_edition_clause ] [ trigger_ordering_clause ] [ ENABLE | DISABLE ] [ WHEN ( condition ) ] trigger_body 支持,有差异 不支持referencing_clause、referencing_clause(用from referencing_table代替)、trigger_edition_clause、trigger_ordering_clause、 ENABLE | DISABLE;部分支持trigger_body。 dml_event_clause ::= { DELETE | INSERT | UPDATE [ OF column [, column ]... ] } [ OR { DELETE | INSERT | UPDATE [ OF column [, column]... ] }... ON [ schema.] { table | view } 不支持 - trigger_body ::= { plsql_block | CALL routine_clause } 支持,有差异 不支持plsql_block,仅支持EXECUTE PROCEDURE function_name ( arguments );方式执行func,并且func需要用户定义,必须声明为不带参数并返回类型为触发器,在触发器触发时执行。 instead_of_dml_trigger ::= INSTEAD OF { DELETE | INSERT | UPDATE } [ OR { DELETE | INSERT | UPDATE } ]... ON [ NESTED TABLE nested_table_column OF ] [ schema. ] noneditioning_view [ referencing_clause ] [ FOR EACH ROW ] [ trigger_edition_clause ] [ trigger_ordering_clause ] [ ENABLE | DISABLE ] trigger_body 支持,有差异 不支持NESTED TABLE nested_table_column OF、referencing_clause、trigger_edition_clause、trigger_ordering_clause、ENABLE | DISABLE。 compound_dml_trigger ::= CREATE trigger FOR dml_event_clause ON view COMPOUND TRIGGER INSTEAD OF EACH ROW IS BEGIN statement; END INSTEAD OF EACH ROW; 不支持 - system_trigger ::= { BEFORE | AFTER | INSTEAD OF } { ddl_event [OR ddl_event]... | database_event [OR database_event ]... } ON { [schema.] SCHEMA | [ PLUGGABLE ] DATABASE } [ trigger_ordering_clause ] [ ENABLE | DISABLE ] trigger_body 不支持 - 表36 alter trigger 序号 Oracle数据库 GaussDB数据库 差异 1 ALTER TRIGGER [ schema. ] trigger_name { trigger_compile_clause | { ENABLE | DISABLE } | RENAME TO new_name | { EDITIONABLE | NONEDITIONABLE } } ; 支持,有差异 不支持schema、trigger_compile_clause、{ ENABLE | DISABLE }、{ EDITIONABLE | NONEDITIONABLE }。 表37 drop trigger 序号 Oracle数据库 GaussDB数据库 差异 1 DROP TRIGGER [ schema. ] trigger ; 支持,有差异 不支持schema。 Oracle数据库名为*_TRIGGERS的视图统计了trigger的相关信息,视图具体差异参考系统视图章节。 表38 Nested, Package, and Standalone Subprograms 兼容性 序号 Oracle数据库 GaussDB数据库 差异 1 nested subprogram(子块) 支持,有差异 不支持重载,不支持定义为自治事务,不支持SETOF的使用,仅限一个限定符引用嵌套子程序或嵌套子程序的变量。 2 package subprogram 支持 - 3 standalone subprogram(包含Function & Procedure) 支持 - 4 匿名块 支持 - 表39 RETURN语句支持情况 序号 Oracle数据库 GaussDB数据库 差异 1 Function 支持 - 2 Procedure 支持 - 3 匿名块 支持 - 表40 Function相关参数 序号 Oracle数据库 GaussDB数据库 差异 1 DETERMINISTIC 支持,有差异 GaussDB中为IMMUTABLE。 2 PARALLEL_ENABLE 不支持 - 3 PIPELINED 不支持 - 4 RESULT_CACHE 不支持 - 表41 参数形式支持 序号 Oracle数据库 GaussDB数据库 差异 1 IN 支持 - 2 OUT 支持 - 3 IN OUT 支持 - 表42 CREATE语句 序号 Oracle数据库 GaussDB数据库 差异 1 CREATE FUNCTION 支持 - 2 CREATE LIBRARY 不支持 - 3 CREATE PACKAGE 支持 - 4 CREATE PACKAGE BODY 支持 - 5 CREATE PROCEDURE 支持 - 6 CREATE TRIGGER 支持 - 7 CREATE TYPE 支持,有差异 支持类型不同。 8 CREATE TYPE BODY 不支持 - 表43 ALTER语句 序号 Oracle数据库 GaussDB数据库 差异 1 ALTER FUNCTION 支持 - 2 ALTER LIBRARY 不支持 - 3 ALTER PACKAGE 支持 - 4 ALTER PROCEDURE 支持 - 5 ALTER TRIGGER 支持 - 6 ALTER TYPE 支持 - 表44 DROP语句 序号 Oracle数据库 GaussDB数据库 差异 1 DROP FUNCTION 支持 - 2 DROP LIBRARY 不支持 - 3 DROP PACKAGE 支持 - 4 DROP PROCEDURE 支持 - 5 DROP TRIGGER 支持 - 6 DROP TYPE 支持 - 7 DROP TYPE BODY 不支持 - 表45 Function、Procedure、匿名块相关关键字 序号 Oracle数据库 GaussDB数据库 差异 1 ACCESSIBLE BY 不支持 - 2 AGGREGATE 支持 - 3 DETERMINISTIC 支持,有差异 - 4 PIPE ROW 不支持 - 5 PIPELINED 不支持 - 6 SQL_MACRO 不支持 - 7 RESTRICT_REFERENCES 不支持 - 8 INLINE 支持,有差异 - 表46 异常处理相关关键字 序号 Oracle数据库 GaussDB数据库 差异 1 EXCEPTION_INIT 支持,有差异 不支持与系统错误码进行绑定。 2 Exception 支持 - 3 Exception Handler 支持 - 4 SQLCODE 支持 - 5 SQLERRM 支持 - 表47 其他PL/SQL关键字 序号 Oracle数据库 GaussDB数据库 差异 1 COVERAGE 不支持 - 2 COLLATION 支持 - 3 DEPRECATE 不支持 - 4 FORALL 支持 - 5 NOCOPY 不支持 - 6 RETURNING INTO 支持,有差异 列存表不支持 7 SERIALLY_REUSABLE 不支持 - 8 SHARING 不支持 - 9 UDF 支持,有差异 java UDF只支持分布式 10 BULK COLLECT 支持 -
  • 静态SQL 表24 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 FOR SHARE对检索出来的行加共享锁,不同事务的共享锁不会互相阻塞,若数据在一个事务中被FOR SHARE锁定,在另一个事务中使用SELECT FOR SHARE SKIP LOCKED时,SKIP LOCKED不会跳过锁。 表25 静态DML SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 INSERT 支持 - 2 UPDATE 支持 - 3 DELETE 支持 - 4 MERGE 支持 - 5 LOCK TABLE 支持 - 表26 静态TCL SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 COMMIT 支持 - 2 ROLLBACK 支持 - 3 SAVEPOINT 支持 - 4 SET TRANSACTION 支持,有差异 - 表27 伪列 序号 Oracle数据库 GaussDB数据库 差异 1 CURRVAL and NEXTVAL 支持 - 2 LEVEL 支持 - 3 OBJECT_VALUE 不支持 - 4 ROWID 不支持 - 5 ROWNUM 支持,有差异 不推荐ROWNUM条件用于JOIN ON子句,GaussDB中ROWNUM条件用于JOIN ON子句时在LEFT JOIN、RIGHT JOIN、FULL JOIN场景下和MERGE INTO场景下与其他数据库行为不一致,直接进行业务迁移存在风险。 表28 隐式游标属性 序号 Oracle数据库 GaussDB数据库 差异 1 SQL%FOUND 支持 - 2 SQL%NOTFOUND 支持 - 3 SQL%ROWCOUNT 支持 - 4 SQL%ISOPEN 支持 - 5 SQL%BULK_ROWCOUNT 不支持 - 6 SQL%BULK_EXCEPTIONS 不支持 - 表29 显式游标语法及关键字 序号 Oracle数据库 GaussDB数据库 差异 1 CURSOR cursor_name [ parameter_list ] RETURN return_type; 支持 - 2 CURSOR cursor_name [ parameter_list ] [ RETURN return_type ] IS select_statement; 支持 - 3 OPEN 支持 - 4 CLOSE 支持 - 5 FETCH 支持 - 6 CURRENT OF CURSOR 支持 - 表30 显式游标属性 序号 Oracle数据库 GaussDB数据库 差异 1 SQL%FOUND 支持 - 2 SQL%NOTFOUND 支持 - 3 SQL%ROWCOUNT 支持 - 4 SQL%ISOPEN 支持 - 表31 游标循环 序号 Oracle数据库 GaussDB数据库 差异 1 FOR LOOP 支持 - 表32 自治事务支持场景 序号 Oracle数据库 GaussDB数据库 差异 1 存储过程 支持 - 2 匿名块 支持 - 3 函数 支持 - 4 Package 支持 -
  • 控制语句 表8 条件语句 序号 Oracle数据库 GaussDB数据库 差异 1 IF THEN 支持 - 2 IF THEN ELSE 支持 - 3 IF THEN ELSIF 支持 - 4 simple CASE: CASE selector WHEN selector_value_1 THEN statements_1 WHEN selector_value_2 THEN statements_2 ... WHEN selector_value_n THEN statements_n [ ELSE else_statements END CASE;] 支持 - 5 searched CASE: CASE WHEN condition_1 THEN statements_1 WHEN condition_2 THEN statements_2 ... WHEN condition_n THEN statements_n [ ELSE else_statements END CASE;] 支持 - 表9 LOOP循环语句 序号 Oracle数据库 GaussDB数据库 差异 1 [ label ] LOOP statements END LOOP [ label ]; 支持 - 2 EXIT; 支持 - 3 EXIT WHEN; 支持 - 4 CONTINUE; 支持 - 5 CONTINUE WHEN; 支持 - 表10 FOR循环语句 序号 Oracle数据库 GaussDB数据库 差异 1 [ label ] FOR index IN [ REVERSE ] lower_bound..upper_bound LOOP statements END LOOP [ label ]; 支持 - 2 EXIT WHEN; 支持 - 3 CONTINUE WHEN; 支持 - 表11 WHILE LOOP循环语句 序号 Oracle数据库 GaussDB数据库 差异 1 [ label ] WHILE condition LOOP statements END LOOP [ label ]; 支持 - 表12 GOTO语句 序号 Oracle数据库 GaussDB数据库 差异 1 GOTO 支持 - 表13 NULL语句 序号 Oracle数据库 GaussDB数据库 差异 1 NULL 支持 -
  • 高级包 GaussDB数据库兼容了部分Oracle数据库的高级包,兼容的详细列表如下。 更多高级包信息请参考开发者指南中高级包章节。 表1 高级包支持列表 序号 Oracle数据库 GaussDB数据库 差异 1 DBMS_LOB DBE_LOB 包内部分函数存在差异。 2 DBMS_RANDOM DBE_RANDOM 包内部分函数存在差异。 3 DBMS_OUTPUT DBE_OUTPUT 包内部分函数存在差异。 4 UTL_RAW DBE_RAW 包内部分函数存在差异。 5 DBMS_SCHEDULER DBE_SCHEDULER 包内部分函数存在差异。 6 DBMS_UTILITY DBE_UTILITY 包内部分函数存在差异。 7 DBMS_SQL DBE_SQL 包内部分函数存在差异。 8 UTL_FILE DBE_FILE 包内部分函数存在差异。 9 DBMS_SESSION DBE_SESSION 包内部分函数存在差异。 10 UTL_MATCH DBE_MATCH 包内部分函数存在差异。 11 DBMS_APPLICATION_INFO DBE_APPLICATION_INFO 包内部分函数存在差异。 12 DBMS_XMLDOM DBE_XMLDOM 包内部分函数存在差异。 13 DBMS_XMLPARSER DBE_XMLPARSER 包内部分函数存在差异。 14 DBMS_ILM DBE_ILM 包内部分函数存在差异。 15 DBMS_ILM_ADMIN DBE_ILM_ADMIN 包内部分函数存在差异。 16 DBMS_COMPRESSION DBE_COMPRESSION 包内部分函数存在差异。 17 DBMS_HEAT_MAP DBE_HEAT_MAP 包内部分函数存在差异。 父主题: 分布式
  • 高级包 GaussDB数据库兼容的高级包如表1所示。 表1 支持高级包列表 序号 Oracle数据库 GaussDB数据库 差异 1 DBMS_LOB DBE_LOB 包内部分函数存在差异。 2 DBMS_RANDOM DBE_RANDOM 包内部分函数存在差异。 3 DBMS_OUTPUT DBE_OUTPUT 包内部分函数存在差异。 4 UTL_RAW DBE_RAW 包内部分函数存在差异。 5 DBMS_SCHEDULER DBE_SCHEDULER 包内部分函数存在差异。 6 DBMS_UTILITY DBE_UTILITY 包内部分函数存在差异。 7 DBMS_SQL DBE_SQL 包内部分函数存在差异。 8 UTL_FILE DBE_FILE 包内部分函数存在差异。 9 DBMS_SESSION DBE_SESSION 包内部分函数存在差异。 10 UTL_MATCH DBE_MATCH 包内部分函数存在差异。 11 DBMS_APPLICATION_INFO DBE_APPLICATION_INFO 包内部分函数存在差异。 12 DBMS_XMLDOM DBE_XMLDOM 包内部分函数存在差异。 13 DBMS_XMLPARSER DBE_XMLPARSER 包内部分函数存在差异。 14 DBMS_ILM DBE_ILM 包内部分函数存在差异。 15 DBMS_ILM_ADMIN DBE_ILM_ADMIN 包内部分函数存在差异。 16 DBMS_COMPRESSION DBE_COMPRESSION 包内部分函数存在差异。 17 DBMS_HEAT_MAP DBE_HEAT_MAP 包内部分函数存在差异。 父主题: 主备版
  • trigger 表34 trigger类型 序号 Oracle数据库 GaussDB数据库 差异 1 DML TRIGGER 支持,有差异 不支持Compound DML Triggers。 2 SYSTEM TRIGGER 不支持 - 表35 create trigger 语法类型 Oracle数据库 GaussDB数据库 差异 create语法 CREATE [ OR REPLACE ] [ EDITIONABLE | NONEDITIONABLE ] TRIGGER plsql_trigger_source 支持,有差异 不支持OR REPLACE 、EDITIONABLE | NONEDITIONABLE、plsql_trigger_source部分支持。 plsql_trigger_source ::= [schema.] trigger_name [ sharing_clause ] [ default_collation_clause ] { simple_dml_trigger | instead_of_dml_trigger | compound_dml_trigger | system_trigger } 支持,有差异 不支持schema、 sharing_clause、default_collation_clause。 simple_dml_trigger ::= { BEFORE | AFTER } dml_event_clause [ referencing_clause ] [ FOR EACH ROW ] [ trigger_edition_clause ] [ trigger_ordering_clause ] [ ENABLE | DISABLE ] [ WHEN ( condition ) ] trigger_body 支持,有差异 不支持referencing_clause、referencing_clause(用from referencing_table代替)、trigger_edition_clause、trigger_ordering_clause、 ENABLE | DISABLE;部分支持trigger_body。 dml_event_clause ::= { DELETE | INSERT | UPDATE [ OF column [, column ]... ] } [ OR { DELETE | INSERT | UPDATE [ OF column [, column]... ] }... ON [ schema.] { table | view } 不支持 - trigger_body ::= { plsql_block | CALL routine_clause } 支持,有差异 不支持plsql_block,仅支持EXECUTE PROCEDURE function_name ( arguments );方式执行func,并且func需要用户定义,必须声明为不带参数并返回类型为触发器,在触发器触发时执行。 instead_of_dml_trigger ::= INSTEAD OF { DELETE | INSERT | UPDATE } [ OR { DELETE | INSERT | UPDATE } ]... ON [ NESTED TABLE nested_table_column OF ] [ schema. ] noneditioning_view [ referencing_clause ] [ FOR EACH ROW ] [ trigger_edition_clause ] [ trigger_ordering_clause ] [ ENABLE | DISABLE ] trigger_body 支持,有差异 不支持NESTED TABLE nested_table_column OF、referencing_clause、trigger_edition_clause、trigger_ordering_clause、ENABLE | DISABLE。 compound_dml_trigger ::= CREATE trigger FOR dml_event_clause ON view COMPOUND TRIGGER INSTEAD OF EACH ROW IS BEGIN statement; END INSTEAD OF EACH ROW; 不支持 - system_trigger ::= { BEFORE | AFTER | INSTEAD OF } { ddl_event [OR ddl_event]... | database_event [OR database_event ]... } ON { [schema.] SCHEMA | [ PLUGGABLE ] DATABASE } [ trigger_ordering_clause ] [ ENABLE | DISABLE ] trigger_body 不支持 - 表36 alter trigger 序号 Oracle数据库 GaussDB数据库 差异 1 ALTER TRIGGER [ schema. ] trigger_name { trigger_compile_clause | { ENABLE | DISABLE } | RENAME TO new_name | { EDITIONABLE | NONEDITIONABLE } } ; 支持,有差异 不支持schema、trigger_compile_clause、{ ENABLE | DISABLE }、{ EDITIONABLE | NONEDITIONABLE }。 表37 drop trigger 序号 Oracle数据库 GaussDB数据库 差异 1 DROP TRIGGER [ schema. ] trigger ; 支持,有差异 不支持schema。 Oracle数据库名为*_TRIGGERS的视图统计了trigger的相关信息,视图具体差异参考系统视图章节。 表38 Nested, Package, and Standalone Subprograms 兼容性 序号 Oracle数据库 GaussDB数据库 差异 1 nested subprogram(子块) 支持,有差异 不支持重载,不支持定义为自治事务,不支持SETOF的使用,仅限一个限定符引用嵌套子程序或嵌套子程序的变量。 2 package subprogram 支持 - 3 standalone subprogram(包含Function & Procedure) 支持 - 4 匿名块 支持 - 表39 RETURN语句支持情况 序号 Oracle数据库 GaussDB数据库 差异 1 Function 支持 - 2 Procedure 支持 - 3 匿名块 支持 - 表40 Function相关参数 序号 Oracle数据库 GaussDB数据库 差异 1 DETERMINISTIC 支持,有差异 GaussDB中为IMMUTABLE 2 PARALLEL_ENABLE 不支持 - 3 PIPELINED 不支持 - 4 RESULT_CACHE 不支持 - 表41 参数形式支持 序号 Oracle数据库 GaussDB数据库 差异 1 IN 支持 - 2 OUT 支持 - 3 IN OUT 支持 - 表42 CREATE语句 序号 Oracle数据库 GaussDB数据库 差异 1 CREATE FUNCTION 支持 - 2 CREATE LIBRARY 不支持 - 3 CREATE PACKAGE 支持 - 4 CREATE PACKAGE BODY 支持 - 5 CREATE PROCEDURE 支持 - 6 CREATE TRIGGER 支持 - 7 CREATE TYPE 支持,有差异 支持类型不同。 8 CREATE TYPE BODY 不支持 - 表43 ALTER语句 序号 Oracle数据库 GaussDB数据库 差异 1 ALTER FUNCTION 支持 - 2 ALTER LIBRARY 不支持 - 3 ALTER PACKAGE 支持 - 4 ALTER PROCEDURE 支持 - 5 ALTER TRIGGER 支持 - 6 ALTER TYPE 支持 - 表44 DROP语句 序号 Oracle数据库 GaussDB数据库 差异 1 DROP FUNCTION 支持 - 2 DROP LIBRARY 不支持 - 3 DROP PACKAGE 支持 - 4 DROP PROCEDURE 支持 - 5 DROP TRIGGER 支持 - 6 DROP TYPE 支持 - 7 DROP TYPE BODY 不支持 - 表45 Function、Procedure、匿名块相关关键字 序号 Oracle数据库 GaussDB数据库 差异 1 ACCESSIBLE BY 不支持 - 2 AGGREGATE 支持 - 3 DETERMINISTIC 支持,有差异 - 4 PIPE ROW 不支持 - 5 PIPELINED 不支持 - 6 SQL_MACRO 不支持 - 7 RESTRICT_REFERENCES 不支持 - 8 INLINE 支持,有差异 - 表46 异常处理相关关键字 序号 Oracle数据库 GaussDB数据库 差异 1 EXCEPTION_INIT 支持,有差异 GaussDB不支持与系统错误码进行绑定 2 Exception 支持 - 3 Exception Handler 支持 - 4 SQLCODE 支持 - 5 SQLERRM 支持 - 表47 其他PL/SQL关键字 序号 Oracle数据库 GaussDB数据库 差异 1 COVERAGE 不支持 - 2 COLLATION 支持 - 3 DEPRECATE 不支持 - 4 FORALL 支持 - 5 NOCOPY 不支持 - 6 RETURNING INTO 支持,有差异 列存表不支持 7 SERIALLY_REUSABLE 不支持 - 8 SHARING 不支持 - 9 UDF 支持,有差异 java UDF只支持分布式 10 BULK COLLECT 支持 -
  • 静态SQL 表24 静态查询 SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 SELECT 支持,有差异 不同事务中的共享锁在如下场景中不会互相阻塞: SELECT FOR SHARE - SELECT FOR SHARE; SELECT FOR SHARE - SELECT FOR KEY SHARE; SELECT FOR KEY SHARE - SELECT FOR KEY SHARE; SELECT FOR KEY SHARE - SELECT FOR NO KEY UPDATE; 上述场景中,由于锁与锁之间未阻塞,对在其他事务中存在非阻塞锁的数据指定SKIP LOCKED时,锁不会被跳过。 表25 静态DML SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 INSERT 支持 - 2 UPDATE 支持 - 3 DELETE 支持 - 4 MERGE 支持 - 5 LOCK TABLE 支持 - 表26 静态TCL SQL语句 序号 Oracle数据库 GaussDB数据库 差异 1 COMMIT 支持 - 2 ROLLBACK 支持 - 3 SAVEPOINT 支持 - 4 SET TRANSACTION 支持,有差异 - 表27 伪列 序号 Oracle数据库 GaussDB数据库 差异 1 CURRVAL and NEXTVAL 支持 - 2 LEVEL 支持 - 3 OBJECT_VALUE 不支持 - 4 ROWID 不支持 - 5 ROWNUM 支持,有差异 不推荐ROWNUM条件用于JOIN ON子句,GaussDB中ROWNUM条件用于JOIN ON子句时在LEFT JOIN、RIGHT JOIN、FULL JOIN场景下和MERGE INTO场景下与其他数据库行为不一致,直接进行业务迁移存在风险。 表28 隐式游标属性 序号 Oracle数据库 GaussDB数据库 差异 1 SQL%FOUND 支持 - 2 SQL%NOTFOUND 支持 - 3 SQL%ROWCOUNT 支持 - 4 SQL%ISOPEN 支持 - 5 SQL%BULK_ROWCOUNT 不支持 - 6 SQL%BULK_EXCEPTIONS 不支持 - 表29 显式游标语法及关键字 序号 Oracle数据库 GaussDB数据库 差异 1 CURSOR cursor_name [ parameter_list ] RETURN return_type; 支持 - 2 CURSOR cursor_name [ parameter_list ] [ RETURN return_type ] IS select_statement; 支持 - 3 OPEN 支持 - 4 CLOSE 支持 - 5 FETCH 支持 - 6 CURRENT OF CURSOR 支持 - 表30 显式游标属性 序号 Oracle数据库 GaussDB数据库 差异 1 SQL%FOUND 支持 - 2 SQL%NOTFOUND 支持 - 3 SQL%ROWCOUNT 支持 - 4 SQL%ISOPEN 支持 - 表31 游标循环 序号 Oracle数据库 GaussDB数据库 差异 1 FOR LOOP 支持 - 表32 自治事务支持场景 序号 Oracle数据库 GaussDB数据库 差异 1 存储过程 支持 - 2 匿名块 支持 - 3 函数 支持 - 4 Package 支持 -
共100000条