GBASE培训QA

2020-06-17 11:17

1. 问:opt空间放多大?业务数据能指定位置吗?

答:opt在生产环境需要TB级容量,一般生产环境都能达到。

业务数据可以指定位置,即自己建立表空间。但是建议使用默认/opt空间,可以在初始做RAID后将最大的逻辑盘分配给/opt。

2. 问:gcware等服务启停在哪个节点上执行?

答:每个节点都需要单独去启停gcware等服务。可以使用C3工具在某一个节点上统一启停所有节点的服务。需要注意:C3工具只能在集群的一个节点上部署使用,生产环境慎用C3工具,因为曾发生过因使用C3工具导致发出命令太多导致服务器cpu全占满的情况。

3. 问:Liunx的root密码在安装完操作系统后是否能修改?

答:能修改,但不建议修改,一旦修改需要在集群各节点重新手动建立互信,因为集群内部很多服务和通信需要使用linux的root用户。

4. 问:监控工具的阈值是否能设置?

答:能设置,在采集中心安装目录GClusterMoniterCenter/conf下修改alarmKeyItems.properties文件,修改后需要重新启动采集中心服务后起效。

5. 问:gcadminshowlock能否看到这个sql的进程号?有什么方式能看到进程号?

答:可以。新版集群的gcadminshowlock命令可以看到sql的进程id,在content栏目中可查看id,举例如下:

[gbase@wdz150 ~]$ gcadminshowlock

+===============================================+ | GCLUSTER LOCK | +===============================================+ +---------+-----+-------+-----------+------+----+ |Lock name|owner|content|createtime|orphan|type| +---------+-----+-------+-----------+------+----+ Total : 0

[gbase@wdz150 ~]$ gcadminshowlock

+=======================================================================================================+

| GCLUSTER LOCK |

+=======================================================================================================+

+--------------------------------------------+--------------+----------------+--------------+------+----+ | Lock name | owner | content | create time |orphan|type|

+--------------------------------------------+--------------+----------------+--------------+------+----+

|test |192.168.103.32|LOCK_DMLEX: 23 |20140312172619|FALSE |S | +--------------------------------------------+--------------+----------------+--------------+------+----+

|test.tt580d5f90-b287-4199-b057-e6fbd44b5bfa |192.168.103.32|LOCK_DMLEX: 23 |20140312172619|FALSE |E | +--------------------------------------------+--------------+----------------+--------------+------+----+

|test.tt |192.168.103.32|LOCK_DDL_DML: 23|20140312172619|FALSE |S | +--------------------------------------------+--------------+----------------+--------------+------+----+

|test.tt.09b5beec-1ef7-4fa6-9850-c4217a781e0f|192.168.103.32|LOCK_DMLEX: 23 |20140312172619|FALSE |E | +--------------------------------------------+--------------+----------------+--------------+------+----+ Total : 4

然后在锁的节点上,另外启动一个session,连接数据库后,检查id是content中的数字的为执行的sql。 gbase> show processlist;

+----+-------+----------------------+------------+---------+------+-------+---------------------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+-------+----------------------+------------+---------+------+-------+---------------------------------+ | 23 | root |localhost | test | Query | 3 | init | insert into tt select * from tt | | 24 | root | 192.168.103.32:30294 | test | Sleep | 95 | | NULL | | 25 | gbase | 192.168.103.32:30297 | NULL | Sleep | 95 | | NULL | | 26 | gbase | 192.168.103.32:30298 | NULL | Sleep | 2245 | | NULL | | 27 | gbase | 192.168.103.32:30302 | gclusterdb | Sleep | 2245 | | NULL | | 28 | gbase | 192.168.103.32:30305 | NULL | Sleep | 2245 | | NULL | | 30 | root |localhost | test | Query | 0 | NULL | show processlist |

| 31 | root | 192.168.103.32:30357 | NULL | Sleep | 2 | | NULL | +----+-------+----------------------+------------+---------+------+-------+---------------------------------+

8 rows in set (Elapsed: 00:00:00.00)

6. 问:中文字符是占3个字节吗?

答:utf8下是一个中文字符占3个字节,gbk下是一个中文字符占2个字节

7. 问:oracle中date可包含时间,8a中date可以吗?还是必须datetime才可以?

答:8a的date中只保存日期,insert时如果有时间语法可以过去,但实际不存储时间,要存储时间必须使用datetime类型。

日期和时间的组合类型支持的范围是?0001-01-01 00:00:00.000000?到?9999-12-31 23:59:59.999999?,精确到微秒;time类型也是精确到微妙;timestamp只精确到秒。

8. 问:Timestamp范围太小了,合同之类的期限超过2038年很正常,是否能扩大?

答:目前只支持这个范围,超过范围建议使用datetime类型

9. 问:用什么能获得系统当前时间?

答:now()函数

10. 问:公司建议的字符集是gbk还是utf-8?

答:建议使用utf-8

11. 问:修改列建议放开字段varchar的长度限制。

答:经过研发确定,字段类型不能使用alter命令修改。只能新增一列,然后用update语句更新。

12. 问:修改列的顺序,只能first吗?

答:列的顺序可以修改first和after两种,这两种可以满足列的所有顺序更改。语法:

alter table [database_name.]table_name

MODIFY [COLUMN] col_namecolumn_definition FIRST | AFTER

13. 问:truncate table 会记录日志吗?它对比drop table的性能如何?truncate实现原理?

答:不会记录日志。Truncate table是清空表的数据,数据清空后,表依然存在,drop table是删除表,是把对象也删除了,在GBase8a集群中,理论上,drop table比truncate table多做了一些工作。

14. 问:nocopies表是否能被加载?

答:经验证,nocopies表8.5.1.2版本支持加载

15. 问:datetime:“YYYY-MM-DD HH:MI:SS ”格式显示批量加载时,能否处理空格?rtrim、ltrim

答:加载工具本身不具备数据清洗功能,空格等都不会做处理。数据清洗可以放在入库前或入库后,建议入库前做清理,这样不会影响数据库性能。数据库每时每刻都在承载着查询,在查询量小点时需要抓紧时间做加载来保证查询和入库的性能,如果同时再承载数据的库内清洗,性能肯定会受影响,所以建议在库外做清洗,保证数据库性能。

16. 问:230种文件,上千多个文件清洗,临时存储想用存储过程清洗,咱这边不建议用,有什么好的处理方

案吗?

答:具体的处理方案依赖于文件类型和清洗的要求,存储过程是在数据库内部进行数据操作的对象,在针对数据的处理上有明显优势,但如果是针对文本内容的约束性检查和处理,专用的清洗工具或者定制的清洗程序的处理效果会更好。

17. 问:多表关联时,where条件写法顺序有什么要求吗?

答:经研发确认8.5.1.2版本后的多表关联,既有join又有where条件时,优化器会根据字段类型和条数进行评估,故跟写法顺序无关。

18. 问:单表有多个where条件时,写法从右往左还是从左往右?规则是什么?

答:经研发确认优化器会根据字段类型和条数进行评估,故跟写法顺序无关。

19. 问:初始建立了一个表并且指定了压缩模式,在后期能不能更改该表的压缩模式

答:不能,除非删除该表,重新建立。一个表的压缩模式指定后不能后续再进行更改

20. 问:audit_log与oracle的审计日志有什么区别,是否很耗性能?

答:比较耗性能。在目标和作用上,autit_log与oracle的审计日志没有区别,但由于是不同的数据库产品,在内部实现上和记录的内容上会有所不同。由于审计日志会对所有审计对象的所有审计动作实时记录日志,所以会额外地大量增加数据库的工作量,会在一定程序上消耗性能,审计对象越多、审计动作越多,则性能消耗越大。

21. 问:是否有最耗时的sql排名

答:监控网站上可查看最耗时的sql排名,但是比较耗性能。

22. 问:将autocommit设置为false,执行一个sql文件,文件末尾有commit,如果中间有语句执行失败,那

之前的是sql是执行成功还是失败

答:错误SQL语句之前的sql没有执行成功。 gccli -uroot -p111111 -D test -vvv

insert into t values(1,'1'); select * from t;

select count(*) from t;

insert into t values(1,1,'aa'); -- error select count(*) from t; commit;

select count(*) from t; 如果按下面命令执行

gccli -uroot -p111111 -D test -vvv-f

-- 加上-f操作,会忽略错误继续执行后面的语句,故错误SQL之后的正确SQL会被commit,建议不要加-f操作。

23. 问:加载文件是否支持16进制分隔符?

答:format=3时支持16进制不可见的分隔符。16进制分隔符书写格式为: delimiter='\\x01'

24. 问:源文件中分隔符之间什么都没有代表空,控制文件中如何写?

答:null_value=''或者不写null_value参数,''加载后都为空。

25. 问:是否能在启用加载服务时直接设置并行度,用于所有加载任务。

答:不能,集群必须在控制文件中设置参数。

26. 问:table_fields是否可以不用写全所有字段

答:必须要写全所有字段,否则会一条也导不进去。

27. 问:gcdump导出的数据是全量的还是某个节点分片的?

答:不能导出数据,只能导出表结构。现有版本已不支持-d参数(导出数据/不导出数据参数)。


GBASE培训QA.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南方周末自由主义

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: