返回首页

gbase数据、南大通用产品文档:GBase8a查看存储过程/函数创建语句

更新日期:2024年09月11日

功能说明
查看给定存储过程或函数的创建。
语法格式
SHOW CREATE {PROCEDURE | FUNCTION} ;
示例
示例1:显示创建存储过程proc_1 的语句。
gbase> SHOW CREATE PROCEDURE vc1.demo.proc_1\G
*************************** 1. row ***************************
Procedure: proc_1
sql_mode:
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROU
P_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_ALL_TABLES,NO_ZERO_IN
_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTI
TUTION,PAD_CHAR_TO_FULL_LENGTH
Create Procedure: CREATE DEFINER="root"@"%" PROCEDURE
"proc_1"()
begin
select 1;
end
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
1 row in set (Elapsed: 00:00:00.00)
示例2:显示创建hello 函数的语句。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1345
gbase> show create function vc1.demo.hello\G
*************************** 1. row ***************************
Function: hello
sql_mode:
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROU
P_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_ALL_TABLES,NO_ZERO_IN
_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTI
TUTION,PAD_CHAR_TO_FULL_LENGTH
Create Function: CREATE DEFINER="root"@"%" FUNCTION "hello"(s
CHAR(20)) RETURNS char(50) CHARSET utf8
RETURN CONCAT('Hello, ',s,'!')
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
1 row in set (Elapsed: 00:00:00.00)

DBMS 的身份鉴别功能分为两个部分:用户标识与身份鉴别。

使用 onbar -v 命令可验证 ON-Bar 实用程序所创建的备份是否完整且可以恢复。
要运行 ON-Bar 命令,
您必须是 root 用户或 gbasedbt 用户,
或者是 UNIX™ 上 bargroup 组
的成员。
必须有足够的临时空间可用。有关更多信息,请参阅用于备份验证的临时空间。

用途

示例:执行备份的时间点验证

示例:验证文件中列出的存储空间的备份

示例:ON-Bar 活动日志验证消息

示例:archecker 消息日志验证消息

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 50 -
验证备份

表 1. onbar -v 命令的选项
选项
描述
-v
验证备份。服务器可以采用任何方式。
如果验证成功,那么可以安全地恢复存储空间。
可以验证整个系统的备份或仅物理的备份。不能验证逻辑
日志。
space
要验证的存储空间的名称。
如果输入多个存储空间名称,那么使用空格来分隔这些名
称。
-f filename
验证由 filename 提供其路径名的文本文件中列出的存
储空间。
使用该选项以避免每次验证存储空间时都要输入一长串存
储空间。
您可以使用任何有效的 UNIX 路径名和文件名。有关该文
件的格式,请参阅文件中的存储空间列表。
此文件可以在每行列出多个存储空间。
-p
验证仅物理的备份。
-t "time"
指定验证数据库空间的日期和时间。必须以引号括起。
如何输入时间取决于当前的 GLS 语言环境约定。
如果设置

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 51 -
选项
描述
了 GL_DATETIME 环境变量,
那么必须根据该变量指定日
期和时间。
如果未设置 GLS 语言环境,
请使用 ANSI 样式
的日期格式:YYYY-MM-DD HH:MM:SS。
-w
验证整个系统的备份。
用途
onbar -v 命令运行 archecker 实用程序。 archecker 实用程序验证恢复备份所需的所有页面是
否以正确的格式存在于介质上。成功验证备份后就可以安全恢复了。
当验证备份时,ON-Bar 将摘要消息写入到 bar_act.log 中,它报告验证了哪些存储空间以及
验证是成功的还是失败的。archecker 实用程序将详细的消息写入到 ac_msg.log 中。GBase
软件支持使用 ac_msg.log 来诊断备份与恢复的问题。
onbar -v 命令仅验证智能大对象空间中智能大对象的范围。使用 oncheck -cS 命令进行完整
的检查。
onbar -v 命令不能验证 Blob 空间中数据行和简单大型对象之间的链接。使用 oncheck
-cD 命令作为代替来验证 Blob 空间中的链接。

示例:执行备份的时间点验证
以下命令验证某个时间点的备份:
onbar -v -t "2011-12-10 10:20:50"

示例:验证文件中列出的存储空间的备份
以下命令验证文件 bkup1 中列出的已备份的存储空间:
onbar -v -f /usr/backups/bkup1

示例:ON-Bar 活动日志验证消息
以下示例显示 ON-Bar 活动日志中有关验证的消息:
数据库空间 dbs2.2 的 0 级备份已通过验证,如下:
开始 dbs2.2 的 0 级备份验证(存储管理器复制标识:##)
成功完成 0 级备份检验。
rootdb 的 0 级备份验证失败,如下:
开始 rootdbs 的 0 级备份验证(存储管理器复制标识:##)。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 52 -
错误:无法关闭物理检查:error_message。

示例:archecker 消息日志验证消息
更多详细信息可在 archecker 消息日志中获得,如下:
状态:扫描已通过
状态:控制页检查已通过
状态:开始检查数据库空间 dbs2.2.
状态:正在检查 dbs2.2:TBLSpace
.
.
状态:已验证的表/分段:1
归档验证已通过

用于备份验证的临时空间
验证备份时,必须有 15 到 25 MB 的临时空间可用。
在备份验证期间,
对于中等大小的系统
(40 到 50 GB)

archecker 实用程序需要大约 15 MB
的临时空间,对于大型系统则需要大约 25 MB。这个临时空间存储在文件系统上 由
AC_STORAGE 参数指定的目录中,而不在数据库空间中。临时文件包含关于分区页、块
中的可用页和保留页的备份和复制的位图信息,(以下可选)还可以包含 Blob 空间中的
可用页和调试信息。archecker 实用程序必须具有该临时目录的许可权。
如果备份验证成功,这些文件将被删除。如果备份验证失败,这些文件将继续保留。将它
们复制到另一个位置,以便GBase 软件支持可以进行查看。
如果数据库服务器只包含数据库空间,请使用以下公式估算 archecker 临时文件使用的临时
空间量(以 KB 为单位):
空间 = (130 KB * number_of_chunks) + (pagesize * number_of_tables) +
(.05 KB * number_of_logs)
对于 GBase 8s,如果您的数据库服务器包含 Blob 空间或智能大对象空间,那么使用以下
公式估计 archecker 临时文件的临时空间大小:
空间 = (130 KB * number_of_chunks) + (pagesize * number_of_tables) +
(.05 KB * number_of_logs) + (pagesize * (num_of_blobpages/252))
number_of_chunks
估计用于数据库服务器的块的最大数目。
pagesize
系统页的大小(以 KB 为单位)。

GBase 8s 备份与恢复指南
南大通用数据技术股份有限公司 - 53 -
number_of_tables
估计用于数据库服务器的表的最大数目。
number_of_logs
数据库服务器上的逻辑日志数。
num_of_blobpages
Blob 空间中 Blob 页的数目或智能大对象空间的数目。
(如果数据库服务器包含智能
大对象空间,那么使用智能大对象空间的数目替换num_of_blobpages。)
例如,在页面大小为 2 KB 的 50 千兆字节系统上,将需要 12.9 兆字节的临时磁盘空间。
该系统不包含任何 Blob 空间,如以下语句所示:
13,252 KB = (130 KB * 25 块) + (2 KB * 5000 个表) +
(.05 KB * 50 个日志) + (2 KB * 0)
要将 KB 转换为 MB,请将结果除以 1024: