0
点赞
收藏
分享

微信扫一扫

dm一点包概念

boom莎卡拉卡 2022-02-26 阅读 121
  1. 创建指定的包
    SP_CREATE_SYSTEM_PACKAGES用来创建或删除指定的系统包,除了DMGEO、DBMS_JOB、DBMS_WORKLOAD_REPOSITORY和DBMS_SCHEDULER以外。
    语法如下:
    void

SP_CREATE_SYSTEM_PACKAGES (

CREATE_FLAG int,

PKGNAME varchar(128)

)

参数详解
CREATE_FLAG
为1时表示创建指定的系统包;为0表示删除这个系统包。
PKGNAME
指定要创建的包名。除了DMGEO、DBMS_JOB、DBMS_WORKLOAD_REPOSITORY和DBMS_SCHEDULER以外的系统包。
返回值 无
在这里插入图片描述

2.创建所有系统包
SP_CREATE_SYSTEM_PACKAGES,用来创建或删除除了DMGEO、DBMS_JOB、DBMS_WORKLOAD_REPOSITORY和DBMS_SCHEDULER以外的所有系统包。若在创建过程中某个系统包由于特定原因未能创建成功,会跳过继续创建后续的系统包
语法如下:
void

SP_CREATE_SYSTEM_PACKAGES (

CREATE_FLAG int

)

参数详解
CREATE_FLAG
为1时表示创建除了DMGEO、DBMS_JOB、DBMS_WORKLOAD_REPOSITORY和DBMS_SCHEDULER以外的所有系统包;为0表示删除这些系统包。
返回值 无
创建包
SP_CREATE_SYSTEM_PACKAGES (1);

在这里插入图片描述

删除包
在这里插入图片描述

在此创建包

在这里插入图片描述

时间变短

3.检测系统包是否启用
SF_CHECK_SYSTEM_PACKAGES
SF_CHECK_SYSTEM_PACKAGES用来检测系统包的启用状态。是否启用系统包,由是否执行过SP_CREATE_SYSTEM_PACKAGES(1);语句决定,执行过,表示已启用。
语法如下:
int

SF_CHECK_SYSTEM_PACKAGES()
返回值
0:未启用;1:已启用
举例说明
获得系统包的启用状态。
在这里插入图片描述

默认未启用系统包

SF_CHECK_SYSTEM_PACKAGE(<PACKAGE_NAME>)
SF_CHECK_SYSTEM_PACKAGE(<PACKAGE_NAME>)可用来检查某个特定的系统包是否启用。
语法如下:
int
SF_CHECK_SYSTEM_PACKAGES(
PACKAGE_NAME VARCHAR
)
返回值 0:未启用;1:已启用

select SF_CHECK_SYSTEM_PACKAGE(‘DEBUG SYSTEM’)
在这里插入图片描述

包间依赖关系
部分系统包之间有依赖关系。当用户创建这些系统包的时候,系统也会自动创建它们所依赖的包。被依赖包一旦被删除,依赖包就会失效。
DBMS_METADATA 依赖 DBMS_LOB,utl_raw;
DBMS_lob依赖于utl_raw;
DBMS_alert包依赖于DBMS_lock和DBMS_utility两个包;
DBMS_WORKLOAD_REPOSTIORY包依赖于UTL_FILE;

DMGEO 系统包
实现了 SFA 标准(《OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 2: SQL option》) 中规定的SQL 预定义 schema,基于 SQL UDT(自定义数据类型)的空间数据类型和空间数据类型的初始化,以及针对空间数据类型的几何体计算函数。

用户在使用DMGEO包之前,需要提前调用系统过程SP_INIT_GEO_SYS(1)创建DMGEO包,包创建成功后就可以使用空间数据类型以及包提供的方法。
SP_INIT_GEO_SYS(1);
在这里插入图片描述

如果dmgeo包已存在,调用SP_INIT_GEO_SYS(2),系统将只重建dmgeo包方法,而不影响现有的空间数据类型以及数据。
SP_INIT_GEO_SYS(2);

在这里插入图片描述

查看dmgeo的SPATIAL_REF_SYS表
Select *from SPATIAL_REF_SYS
在这里插入图片描述

如果dmgeo包已存在,调用SP_INIT_GEO_SYS(3)将只重建SPATIAL_REF_SYS表,而不影响现有的空间数据类型以及数据。
SP_INIT_GEO_SYS(3);
在这里插入图片描述

调用系统过程SP_INIT_GEO_SYS(0)可以删除DMGEO包,任何与空间数据类型相关的表、函数、过程、触发器等对象均会被级联删除。
SP_INIT_GEO_SYS(0);

在这里插入图片描述

建议在不需要保留现有空间数据时, 使用下列语句来重建GEO包。
SP_INIT_GEO_SYS(0);
SP_INIT_GEO_SYS(1);
需要保留现有空间数据时, 使用下列语句来重建GEO包。
SP_INIT_GEO_SYS(3);
SP_INIT_GEO_SYS(2);

社区地址:https://eco.dameng.com

举报

相关推荐

0 条评论