返回首页

gbase数据、南大通用产品文档:GBase8sUSETABLENAME 环境变量

更新日期:2024年09月11日

USETABLENAME 环境变量可防止用户使用同义词在 ALTER TABLE 或 DROP TABLE 语句
中指定 table。 与大多数环境变量不同,USETABLENAME 不需要设置值。无论您将其设置
为任何值或不对其设置值,它都会起作用。

缺省情况下,ALTER TABLE 或 DROP TABLE 语句接受表示要改变或删除的 table
名称的有效同义词。(相反,如果您指定同义词,RENAME TABLE 会报错,如果您尝试
用同义词替代这些语句中的 sequence 名,那么 ALTER SEQUENCE、DROP SEQUENCE
和 RENAME SEQUENCE 语句也会报错。)
如果设置 USETABLENAME,
那么同义词在 ALTER TABLE 或 DROP TABLE 语句
中时,会导致错误。设置 USETABLENAME 对 DROP VIEW 语句没有任何影响,该语
句将接受视图的有效同义词。




GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 198 -

5 附录

参数说明

-U
运行GBase 8c 的操作系统用户名。
取值范围:字符串,要符合标识符的命名规范。

-X
GBase 8c 配置文件路径。
取值范围:xml 文件的存储路径。

-L
只清理本主机的环境。
如果GBase 8c 内某主机做单机环境清理后,GBase 8c 不能再做全量环境清理。

--delete-user
删除-U 参数指定的操作系统用户。
如果在Redhat 环境下,且用户名与用户组名相同,选择此项必须指定--delete-group 参
数。

--delete-group
删除操作系统用户所在的用户组(选择此选项必须指定--delete-user 参数)。

-l
指定日志文件名及路径。在内部会自动给日志名添加一个时间戳。
当既不明确指定-l ,又不在XML 文件中配置gaussdbLogPath 时,默认值为:
“/var/log/gaussdb/om/gs_local-YYYY-MMDD_hhmmss.log”。

由于在执行gs_postuninstall 后,系统会自动删除GBase 8c 相关目录(包含

GBase 8c 工具参考手册
南大通用数据技术股份有限公司
229
$GAUSSLOG 目录)。因此建议用户通过该参数指定日志文件到非GBase 8c 相关
路径。

-?, --help
显示帮助信息。

-V, --version
显示版本号信息。

使用 onspaces 或 Server Administrator 从数据库空间删除块。
在删除块之前,请使用下表作为指导方针,确保数据库服务器处于正确方式。
块类型
联机方式下的数据库
服务器
管理方式或静默方式
下的数据库服务器
脱机方式下的数据库
服务器
数据库空间块



临时数据库空间块



BLOB 空间块



智能大对象空间或临时智
能大对象空间块



验证块是否为空

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 222 -
要用这些实用程序之一从数据库空间成功删除块,块不能包含任何数据。开销页以外的所
有页都必须得到释放。
如果有任何页保持分配给未开销的实体,那么实用程序会返回以下错误:块不为空。
此外,当数据库空间由两个或更多的块组成并且附加块不包含用户数据时,如果这些附加
块包含表空间 tblspace,那么它们无法被删除。
如果接收到块不为空消息,必须通过运行 oncheck -pe 列出扩展数据块内容,从而确定哪
些表或其他实体仍在占用块中的空间。
通常,在您删除拥有这些页的表时就会除去这些页。然后重新输入实用程序命令。

使用 onspaces 从数据库空间删除块
以下示例在 UNIX™ 上从 dbsp3 删除块。 指定了 300 KB 的偏移量。
onspaces -d dbsp3 -p /dev/raw_dev1 -o 300
您不能用以上示例中的语法来删除数据库空间的初始块。取而代之,您必须删除数据库空
间。使用 onstat -d 的 fchunk 列来确定数据库空间的初始块。有关 onstat 的更多信息,
请参阅《GBase 8s 管理员参考》中有关 onspaces 实用程序的信息。
有关使用 onspaces 从数据库空间删除块的信息,请参阅《GBase 8s 管理员参考》。

从 BLOB 空间删除块
从 BLOB 空间删除块的过程与使用 onspaces 从数据库空间删除块中所述的从数据
库空间删除块的过程相同,但是数据库服务器必须处于静默方式或管理方式。除了这一条
件,还必须将任何出现对数据库空间的引用之处替换为您的 BLOB 空间名称。

使用 onspaces 从智能大对象空间删除块
以下示例在 UNIX™ 上从 sbsp3 删除块。 指定了 300 KB 的偏移量。当从智能大对象空
间或临时智能大对象空间删除块时,数据库服务器必须处于联机管理方式或静默方式。
onspaces -d sbsp3 -p /dev/raw_dev1 -o 300
您不能用以上示例中的语法来删除智能大对象空间的初始块。取而代之,您必须删除智能
大对象空间。使用 onstat -d 的 fchunk 列来确定哪个块是智能大对象空间的初始块。
-f(强制)选项
您可以使用 onspaces 的 -f 选项来删除其中未分配元数据的智能大对象空间块。 如果该
块包含智能大对象空间的元数据,
那么必须删除整个智能大对象空间。
使用 onstat -d 的块
部分来确定哪些智能大对象空间块包含元数据。
onspaces -d sbsp3 -f
警告: 如果您强制删除智能大对象空间,那么可能为表和智能大对象空间之间造成一致性方面的问题。
删除不带任何指针的智能大对象

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 223 -
每个智能大对象均有引用计数,即智能大对象的指针数。当引用计数大于 0 时,数据库服
务器假定智能大对象正在使用中,就不会予以删除。
而引用计数为 0 的智能大对象很少会保留下来。您可使用 onspaces -cl 命令删除所有引用
计数为 0 的智能大对象(如果它未被任何应用程序打开)。
有关使用 onspaces -cl 的信息,请参阅《GBase 8s 管理员参考》中有关 onspaces 实用程
序的信息。