更新日期:2024年09月11日
分段存储的一个好处是可以在 I/O 操作期间跳过不可用的表分段。例如,即使当分段位
于当前由于磁盘故障而脱机的块上时,查询也可继续。发生这种情况时,磁盘故障仅影响
分段表中的部分数据。相较而言,如果未分段的表位于故障磁盘上,它们可能会变得完全
不可访问。
如下所示控制此功能:
l
由数据库服务器管理员使用 DATASKIP 配置参数
l
由各个应用程序使用 SET DATASKIP 语句
DATASKIP 配置参数
可将 DATASKIP 参数设置为 OFF、ALL 或 ON dbspace_list。OFF 表示数据库服务器不
跳过任何分段。如果分段不可用,查询将返回错误。ALL 指示跳过所有不可用的分段。
ON dbspace_list 指示数据库服务器跳过任何位于指定数据库空间中的分段。
onspaces 的数据跳过功能
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 219 -
使用 onspaces 实用程序的 dataskip 功能来指定要跳过的数据库空间(当这些数据库空间
不可用时)。 例如,以下命令设置 DATASKIP 参数,使数据库服务器跳过 dbspace1 和
dbspace3 中的分段,但不跳过 dbspace2 中的分段:
onspaces -f ON dbspace1 dbspace3
有关此 onspaces 选项的完整语法,请参阅《GBase 8s 管理员参考》中有关 onspaces 实
用程序的信息。
使用 onstat 检查数据跳过状态
使用 onstat 实用程序列出当前受 dataskip 功能影响的数据库空间。-f 选项同时列出使用
DATASKIP 配置参数以及使用 onspaces 实用程序的 -f 选项设置的数据库空间。
运行 onstat -f 时,您会收到消息,通知您 DATASKIP 配置参数是对所有数据库空间设置
为 on、对所有数据库空间设置为 off,还是对特定数据库空间设置为 on。
SQL 语句 SET DATASKIP
应用程序可以使用 SQL 语句 SET DATASKIP 来控制在某个分段不可用时是否跳过该分
段。 应用程序必须仅在有限情况下包含此语句,因为它会使查询根据底层分段的可用性
而返回不同结果。与配置参数 DATASKIP 类似,SET DATASKIP 语句接受那些向数据
库服务器指示要跳过哪些分段的数据库空间列表。例如,假设某应用程序的编程人员将以
下语句包含在应用程序的开始:
SET DATASKIP ON dbspace1, dbspace5
该语句使数据库服务器在以下两个条件都满足时就跳过 dbspace1 或 dbspace5:
•
应用程序尝试访问这两个数据库空间之一。
•
数据库服务器发现这两个数据库空间之一不可用。
如果数据库服务器发现 dbspace1 和 dbspace5 均不可用,它会跳过这两个数据库空间。
数据库服务器管理员可使用 SET DATASKIP 语句的 DEFAULT 设置来控制数据跳过功
能。假设应用程序开发者将以下语句包含在应用程序中:
SET DATASKIP DEFAULT
如果在此 SQL 语句之后紧接着运行查询,那么数据库服务器会检查配置参数
DATASKIP 的值。数据库服务器管理员可鼓励用户使用此设置,以便指定当数据库服务
器管理员注意到一个或多个数据库空间不可用时,要立即跳过的数据库空间。
数据跳过功能对事务的影响
如果打开 dataskip 功能,那么 SELECT 语句将始终执行。另外,如果表由循环分段且至
少有一个分段联机,那么 INSERT 语句将始终成功执行。但是,当写入数据库的操作可
能会影响数据库的完整性时,数据库服务器不会完成这类操作。以下操作失败:
•
当数据库服务器无法消除脱机的分段时,为所有的 UPDATE 和 DELETE 操作
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 220 -
如果数据库服务器可以消除脱机的分段,那么更新或删除操作成功,但结果与
DATASKIP 设置无关。
•
当相应分段脱机时,根据基于表达式的分布方案对已分段的表的 INSERT 操作
•
当约束包含脱机的分段中的数据时,任何包含参阅约束检查的操作
例如,如果应用程序删除具有子行的行,那么子行必须是可用的,以便删除。
•
当所提到的索引位于脱机的块中时,任何影响索引值的操作(例如,对已建立索
引的列的更新)
确定何时使用数据跳过
要少用该功能且使用时要谨慎,因为该结果始终是不可靠的。可考虑在以下情况中使用该
功能:
•
您可以接受事务完整性受影响。
•
您可以确定事务完整性未受影响。
后一任务可能很难且很耗时。
确定何时跳过选定的分段
在某种情况下,您可能希望数据库服务器跳过某些分段而不是其他分段。这通常会发生在
以下情况中:
l
因为分段对查询结果没有重要作用,所以可以跳过这些分段。
l
某些分段脱机,并且您断定跳过这些分段并返回有限数量的数据将比取消查询要
好。
当要跳过分段时,请使用 ON dbspace-list 设置来指定包含数据库服务器必须跳过的分段
的数据库空间列表。
确定何时跳过所有分段
将 DATASKIP 配置参数设置为 ALL 将使数据库服务器跳过所有不可用的分段。请谨慎
使用此选项。如果数据库空间变得不可用,那么在执行前未发出 SET DATASKIP OFF 语
句的应用程序启动的所有查询均可能发生错误。
监视分段存储使用
数据库管理员可能会发现分段存储的以下方面对监视是有用的:
l
分段上的数据分发
l
分段上的 I/O 请求均衡
l
包含分段的块的状态
管理员可以监视表分段上的数据分发。如果分段存储的目标是提高管理响应时间,那么数
据要均匀分布在分段上是很重要的。要监视分段存储磁盘使用,您必须监视数据库服务器
表空间,因为分段的磁盘存储单位是表空间。(有关如何监视分段表的数据分发的信息,
请参阅监视表空间和扩展数据块。)
GBase 8s 管理员指南
南大通用数据技术股份有限公司
- 221 -
管理员必须监视包含在分段中的数据的 I/O 请求队列。当 I/O 队列变得不平衡时,管理
员必须使用 DBA 来调整分段存储策略。(有关如何监视块使用的说明,包括如何监视每
个块的 I/O 队列,请参阅监视块。)
管理员必须为可用性而监视分段,并在包含一个或多个分段的数据库空间发生故障时采取
适当的步骤。有关如何确定块是否脱机,请参阅监视块。
使用apache 搭建HTTP 文件服务器
1.
安装apr 和httpd
# rpm -ivh
apr-1.3.9-3.el6_1.2.x86_64.rpm
apr-util-1.3.9-3.el6_0.1.x86_64.rpm apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm
# rpm -ivh
httpd-2.2.15-15.el6.x86_64.rpm
httpd-manual-2.2.15-15.el6.noarch.rpm httpd-tools-2.2.15-15.el6.x86_64.rpm
2.
修改HTTP 服务器默认配置
# vim /etc/httpd/conf/httpd.conf
修改服务器名称
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#ServerName www.example.com:80
ServerName 192.168.10.114:80
修改以下位置,将其中的"/var/www/html"修改为"/var/www/files"
也可直接使用"/var/www/html"作为文件存储位置,跳过这一步
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
#DocumentRoot "/var/www/html"
DocumentRoot "/var/www/files"
#
# This should be changed to whatever you set DocumentRoot to.
#
#
GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1333
3.
编辑默认欢迎页配置
# vim /etc/httpd/conf.d/welcome.conf
注释掉以下几行(默认如果html 下没有默认页面将显示403 错误页面)
#
# Options -Indexes
# ErrorDocument 403 /error/noindex.html
#
4.
关闭或配置防火墙
1)关闭防火墙
停止防火墙服务
# service iptables stop
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
查看防火墙是否在开机时自动启动
# chkconfig --list iptables
Iptables 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
禁止防火墙在开机时自动启动
# chkconfig iptables off
或
# chkconfig iptables off --level 2345
设置后防火墙在开机时自动启动状态
# chkconfig --list iptables
Iptables 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1334
2)配置防火墙
设置默认规则
# iptables -A INPUT -j DROP
# iptables -A FORWARD -j ACCEPT
开放HTTP 端口
# iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
# iptables -I OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
保存防火墙设置
# iptables-save > /etc/sysconfig/iptables
5.
启动httpd 服务并设置为开机启动项
# service httpd start
正在启动 httpd: [确定]
# chkconfig httpd on
6.
将数据文件复制到/var/www/files(或/var/www/html)下
7.
用浏览器访问http://192.168.10.114 即可看到文件列表
(前面配置的ServerName