返回首页

gbase数据、南大通用产品文档:GBase8s监视装入或卸载操作

更新日期:2024年09月11日

可监视外部表的装入或卸载操作的状态。
您可能希望在以下情况监视装入或卸载操作:
• 如果希望经常装入和卸载同一个表,以构建数据集市或数据仓库,那么监视作业
的进度可估算类似作业的时间,供将来使用。
• 如果从命名管道装入或卸载,那么监视 I/O 队列可确定是否有足够数量的 FIFO
虚拟处理器。
监视常用装入和卸载操作
可使用 onstat -g iof 命令查找要查看的文件中的全局文件描述符 (gfd)。然后使用 onstat -
g sql 命令来监视装入和卸载操作。
以下示例显示了样本 onstat -g iof 命令输出。
AIO global files:
Gfd path name bytes read page reads bytes write page writes io/s
3 rootdbs 1918976 937 145061888 70831 36.5

op type count avg. time
seeks 0 N/A
reads 937 0.0010
writes 4088 0.0335
kaio_reads 0 N/A
kaio_writes 0 N/A
要确定装入或卸载操作是否可使用并行执行,请在执行 INSERT 语句之前执行 SET
EXPLAIN ON 语句。SET EXPLAIN 输出显示以下计数:
• 优化器为 INSERT 语句选择的并行 SQL 运算符的数量
• 每个 SQL 运算符要处理的行数
要监视装入操作,请运行 onstat -g sql 来获取会话标识。

监视 FIFO 虚拟处理器
可使用 onstat 命令监视 FIFO VP 的有效使用。

GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 259 -
可使用 onstat -g ioq 选项显示正在等待执行 I/O 请求的每个 FIFO 队列的长度。以下示
例显示样本输出。
AIO I/O queues:
q name/id len maxlen totalops dskread dskwrite dskcopy
fifo 0 0 0 0 0 0 0
adt 0 0 0 0 0 0 0
msc 0 0 1 153 0 0 0
aio 0 0 9 3499 1013 77 0
pio 0 0 2 3 0 2 0
lio 0 0 2 2159 0 2158 0
gfd 3 0 16 39860 38 39822 0
gfd 4 0 16 39854 32 39822 0
gfd 5 0 1 2 2 0 0
gfd 6 0 1 2 2 0 0
...
gfd 19 0 1 2 2 0 0
以上示例中样本输出内的 q name 字段显示了队列的类型,如 fifo 表示 FIFO VP,或
aio 表示 AIO VP。 如果 q name 字段显示 gfd 或 gfdwq,说明这是其全局文件描述符
与输出的 id 字段匹配的文件的队列。磁盘文件在一个队列中同时包含读写请求。每个磁
盘文件在 onstat -g ioq 输出中显示一行。 管道有单独的读写队列。每个管道在输出中显
示两行:gfd 针对读请求,gfdwq 针对写请求。
len 或 maxlen 字段的值最高为 4(对于装入)或 4 * number_of_writer_threads(对于卸
载)。xuwrite 运算符控制写程序线程的数量。
请使用 totalops 字段中的值,而不是 len 或 maxlen 字段中的值,监视对文件或管道执
行的读或写请求的数量。totalops 字段表示从该文件中读取了 34 KB 的数据,或将 34
KB 的数据写入了该文件。如果 totalops 不增加,说明已停止对文件或管道执行读或写操
作(因为 FIFO VP 正忙)。
要提高性能,请使用 onmode -p 命令增加更多 FIFO VP。FIFO VP 的缺省数量为 1。在
该样本输出中,FIFO 队列内不包含任何数据。例如,如果通常定义两个以上的管道来装
入或卸载,请使用以下样本 onmode 命令增加 FIFO VP 的数量:
onmode -p +2 FIFO
也可以使用 onmode -p 命令除去 FIFO VP。 但是,不能将 FIFO VP 的数量设置为低于
1。
有关更多信息,请参阅《GBase 8s 管理员参考》。

Schema
Schema 又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,
可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
168
下而不引起冲突。
每个数据库包含一个或多个Schema。数据库中的每个Schema 包含表和其他类型的对
象。数据库创建初始,默认具有一个名为public 的Schema,且所有用户都拥有此Schema
的usage 权限,
只有系统管理员和初始化用户可以在public
Schema 下创建函数、
存储过程
和同义词对象,其他用户即使赋予create 权限后也不可以创建上述三种对
象。可以通过
Schema 分组数据库对象。Schema 类似于操作系统目录,但Schema 不能嵌套。默认只有初
始化用户可以在pg_catalog 模式下创建对象。
相同的数据库对象名称可以应用在同一数据库的不同Schema 中,而没有冲突。例如,
a_schema 和b_schema 都可以包含名为mytable 的表。具有所需权限的用户可以访问数据库
的多个Schema 中的对象。
通过CREATE USER 创建用户的同时,系统会在执行该命令的数据库中,为该用户创
建一个同名的SCHEMA。
数据库对象是创建在数据库搜索路径中的第一个Schema 内的。有关默认情况下的第一
个Schema 情况及如何变更Schema 顺序等更多信息,请参见搜索路径。
创建、修改和删除Schema
要创建Schema,请使用《GBase 8c V5_3.0.0_SQL 手册》CREATE SCHEMA。默认初
始用户和系统管理员可以创建Schema,其他用户需要具备数据库的CREATE 权限才可以在
该数据库中创建Schema,赋权方式请参考《GBase 8c V5_3.0.0_SQL 手册》GRANT 中将
数据库的访问权限赋予指定的用户或角色中的语法。

要更改Schema 名称或者所有者,请使用《GBase 8c V5_3.0.0_SQL 手册》ALTER
SCHEMA。Schema 所有者可以更改Schema。

要删除Schema 及其对象,请使用《GBase 8c V5_3.0.0_SQL 手册》DROP SCHEMA。
Schema 所有者可以删除Schema。

要在Schema 内创建表,
请以schema_name.table_name 格式创建表。
不指定schema_name
时,对象默认创建到搜索路径中的第一个Schema 内。

要查看Schema 所有者,
请对系统表PG_NAMESPACE 和PG_USER 执行如下关联查询。
语句中的schema_name 请替换为实际要查找的Schema 名称。
postgres=# SELECT s.nspname,u.usename AS nspowner FROM pg_namespace s, pg_user u
WHERE nspname='schema_name' AND s.nspowner = u.usesysid;

要查看所有Schema 的列表,请查询PG_NAMESPACE 系统表。

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
169
postgres=# SELECT * FROM pg_namespace;

要查看属于某Schema 下的表列表,请查询系统视图PG_TABLES。例如,以下查询会
返回Schema PG_CATALOG 中的表列表。
postgres=# SELECT * FROM pg_namespace;
搜索路径
搜索路径定义在search_path 参数中,
参数取值形式为采用逗号分隔的Schema 名称列表。
如果创建对象时未指定目标Schema,
则该对象会被添加到搜索路径中列出的第一个Schema
中。当不同Schema 中存在同名的对象时,查询对象未指定Schema 的情况下,将从搜索路
径中包含该对象的第一个Schema 中返回对象。

要查看当前搜索路径,请使用《GBase 8c V5_3.0.0_SQL 手册》SHOW。
postgres=# SHOW SEARCH_PATH;
search_path
----------------
"$user",public (1 row)
search_path 参数的默认值为:
"$user",public。
$user 表示与当前会话用户名同名的Schema
名,如果这样的模式不存在,$user 将被忽略。所以默认情况下,用户连接数据库后,
如果数据库下存在同名Schema,则对象会添加到同名Schema
下,否则对象被添加到
Public Schema 下。

要更改当前会话的默认Schema,请使用SET 命令。
执行如下命令将搜索路径设置为myschema、public,首先搜索myschema。
postgres=# SET SEARCH_PATH TO myschema, public;
SET

MAC 版本在jdk1.8 环境下报错“you need a Java SE 6 runtime”
配置
381