返回首页

gbase数据、南大通用产品文档:GBase8a动态动态游标中使用的动态SQL 语法

更新日期:2024年09月11日

功能说明
通过动态SQL,
动态游标OPEN 语句中的SELECT 语句可以由文本字符串或者内
容为文本字符串的用户变量表示。
语法
OPEN cursor_name FOR select_statement
表5- 188 参数说明
参数名称


cursor_name
动态游标名
select_statement
打开动态游标的动态SQL 语句。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1371
示例
示例1:SELECT * FROM hunter.t1
DECLARE cur REF CURSOR;
SET v = 'SELECT * FROM hunter.t1';
SET @sql_str = v;
OPEN cur FOR @sql_str;
FETCH cur INTO i, j;

使用vsftp 搭建FTP 服务器

1.
查看是否已安装vsftpd
# rpm -qa vsftpd
vsftpd-2.2.2-6.el6_0.1.x86_64

2.
安装vsftpd
# rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpm

3.
修改FTP 服务器默认配置
# vim /etc/vsftpd/vsftpd.conf

# 表示允许匿名用户登录(默认为YES).
anonymous_enable=YES

# 表示允许本地用户登录(默认为YES).
local_enable=YES

# 表示开放对本地用户的写权限(默认YES,如仅用作加载文件服务器,可改为
NO).
write_enable=NO

# 设置本地用户的文件生成掩码(默认对本地用户的文件生成掩码是077,可改为
022)
local_umask=022

# 允许匿名FTP 用户上载文件(默认为NO).
#anon_upload_enable=YES

# 允许匿名FTP 用户创建目录(默认为NO).
#anon_mkdir_write_enable=YES

# 启用FTP 数据端口的连接请求(默认为YES).
connect_from_port_20=YES

# 使用PAM 认证的配置文件名,文件位于/etc/pam.d 目录下
pam_service_name=vsftpd

# 是否使用userlist 文件控制访问FTP 服务器
userlist_enable=YES

GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1329

# 设置禁止访问的文件或目录
#deny_file={*.mp3,*.mov,.private}

# 设置隐藏的文件或目录
#hide_file={*.mp3,.hidden,hide*,h?}

# 设置FTP 被动模式开放端口范围
pasv_min_port=20001
pasv_max_port=21000

# 设置非匿名登录用户的主目录
#local_root=/var/ftp/pub

更多的配置可查看vsftpd.conf 文档
# man vsftpd.conf

4.
配置允许或禁止访问FTP 服务器的用户列表(可跳过)
# vim /etc/vsftpd/user_list

当/etc/vsftpd/vsftpd.conf 中配置如下时,禁止/etc/vsftpd/user_list 中的所有用户访问
FTP 服务器
userlist_enable=YES
userlist_deny=YES(缺省为YES)

当/etc/vsftpd/vsftpd.conf 中配置如下时,允许/etc/vsftpd/user_list 中的所有用户访问
FTP 服务器。
userlist_enable=YES
userlist_deny=NO

5.
配置禁止访问FTP 服务器的用户列表(可跳过)
# vim /etc/vsftpd/ftpusers

6.
关闭SELINUX 功能或更改其配置(两种方式二选一即可)

1)关闭SELINUX 功能
# vim /etc/selinux/config

# This file controls the state of SELinux on the system.

GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1330
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disable
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

重启或者执行
# setenforce 0

2)更改SELINUX 配置
# setsebool ftp_home_dir 1

当用浏览器访问FTP 服务器遇到“500 OOPS: cannot change directory:/home/...”时,
可能为此问题。

7.
关闭或配置防火墙

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


GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1331
设置后防火墙在开机时自动启动状态
# chkconfig --list iptables
iptables 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

2)配置防火墙

设置默认规则
# iptables -A INPUT -j DROP(注:添加此条规则会阻止未处理的传入数据包,如在
此规则之前未添加允许规则将会阻止远程连接)
# iptables -A FORWARD -j ACCEPT

开放FTP 端口
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 21 -j ACCEPT
# iptables -I INPUT -p tcp --dport 20 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 20 -j ACCEPT
# iptables -I INPUT -p tcp --dport 20001:21000 -j ACCEPT
# iptables -I OUTPUT -p tcp --sport 20001:21000 -j ACCEPT

保存防火墙设置
# iptables-save > /etc/sysconfig/iptables

8.
启动vsftpd 服务并设置为开机启动项
# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]

# chkconfig vsftpd on

9.
复制文件到FTP 目录
1)
如未设置local_root=/var/ftp/pub 时,
复制文件到/home/xxxx
(用户的home 目录)

2)如已设置local_root=/var/ftp/pub 时,复制文件到/var/ftp/pub
3)如已设置anonymous_enable=YES 时,复制文件到/var/ftp 或/var/ftp/pub(匿名登
录的主目录)

GBase UP 产品手册 7 附录
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1332

sftp 加载大文件报错
问题现象
使用sftp 加载大文件报错,加载小文件正常。
原因分析
当集群并发加载任务数和单任务加载线程数较大时,会出现sftp 文件加载失败的
情况。
解决方法
确定是参数gcluster_loader_max_data_processors 设置太大造成,将参数调小后无
报错。
说明

GBase 8a MPP Cluster 最佳实践
5 FAQ
文档版本(2022-02-11)
南大通用数据技术股份有限公司
136
建议使用sftp 加载的方式,sshd 的配置文件需要调整maxstartup、maxsession 等参数。