• [技术干货] GaussDB(DWS)实践系列-GaussDB(DWS)如何查询对象(表)的创建时间?
    一、  背景描述          在项目交付中,经常有人会问“如何在数据库中查询表的创建时间?” ,那么究竟如何在GaussDB(DWS)中查找对象的创建时间呢?本文提供3种方法作为参考,包括dba_objecs视图查看方法、审计日志查看方法和CN日志查看方法。二、  操作演练方法1:视图查询方法DBA_OBJECTS视图存储了数据库中所有数据库对象的相关信息, GaussDB(DWS)支持通过DBA_OBJECTS视图进行查询,字段和详细说明如下:表1 DBA_OBJECTS视图字段名称类型描述ownername对象的所有者object_namename对象的名称object_idoid对象的OIDobject_typename对象的类型namespaceoid对象所在的命名空间createdtimestamp with time zone对象的创建时间last_ddl_timetimestamp with time zone对象最后修改时间,修改行为包括ALTER操作和GRANT、REVOKE操作。注意:需要有系统管理员权限才可以访问。其中对象的类型object_type字段会包括TABLE、INDEX、VIEW、RULE, PROCEDURE、TYPE、OPERATOR等,查询时可根据该字段进行筛选:1.      创建测试表创建测试表,用于后续查询测试。--定义一个表,使用HASH分布。CREATE TABLE employee_info(    id INTEGER NOT NULL,    name VARCHAR(16) NOT NULL,    tel VARCHAR(11),    addr varchar(10))DISTRIBUTE BY HASH(id); --查看当前系统时间。select current_timestamp;测试表创建完成后查看当前系统时间作为参考。2.      查询创建时间通过DBA_OBJECTS视图查看表对象创建时间。select * from dba_objects where object_type='TABLE' and object_name='employee_info';查询结果如下:3.      更新测试表更新测试表employee_info,测试dba_objects视图是否可以保存对象的最后修改时间,修改行为包括ALTER操作和GRANT、REVOKE操作:--向表中增加一个varchar列group_info。ALTER TABLE employee_info ADD group_info varchar(30);--查看当前系统时间。select current_timestamp;相关信息记录如下:4.      查看最后更新时间通过DBA_OBJECTS视图查看对象的最后更新时间。select * from dba_objects where object_type='TABLE' and object_name='employee_info';查询结果如下:方法2:审计日志查看方法审计日志统计信息更全,打开审计总开关audit_enabled=on,并设置审计项audit_system_object。audit_system_object参数说明:该参数决定是否对GaussDB A数据库对象的CREATE、DROP、ALTER操作进行审计。GaussDB A数据库对象包括DATABASE、USER、schema、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。取值范围:整型,0~524287Ø  0代表关闭数据库对象的CREATE、DROP、ALTER操作审计功能。Ø  非0代表只审计某类或者某些数据库对象的CREATE、DROP、ALTER操作。默认值:12295 换算成19位二进制为000 0011 0000 0000 0111取值说明:该参数的值由19个二进制位的组合求出,这19个二进制位分别代表GaussDB (DWS)的19类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER操作。这19个二进制位代表的具体审计内容请参见表2。 表2 audit_system_object取值含义说明二进制位含义取值说明第0位是否审计DATABASE对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第1位是否审计SCHEMA对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第2位是否审计USER对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第3位是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作。0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE操作;1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE操作。第4位是否审计INDEX对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第5位是否审计VIEW对象的CREATE、DROP操作。0表示不审计该对象的CREATE、DROP操作;1表示审计该对象的CREATE、DROP操作。第6位是否审计TRIGGER对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第7位是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第8位是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第9位是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作第10位是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作第11位是否审计SERVER FOR HADOOP对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作第12位是否审计DATA SOURCE对象的CRAETE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第13位是否审计NODE GROUP对象的CREATE、DROP操作。0表示不审计该对象的CREATE、DROP操作;1表示审计该对象的CREATE、DROP操作。第14位是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。0表示不审计该对象的CREATE、DROP、ALTER操作;1表示审计该对象的CREATE、DROP、ALTER操作。第15位是否审计TYPE对象的CREATE、DROP、ALTER操作。0表示不审计TYPE对象的CREATE、DROP、ALTER操作;1表示审计TYPE对象的CREATE、DROP、ALTER操作。第16位是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作;1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。第17位是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作;1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。第18位是否审计SYNONYM对象的CREATE、DROP、ALTER操作。0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作;1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。 12295 换算成19位二进制为000 0011 0000 0000 0111,修改第3位的值为1,表示审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE操作,修改后的值为12303(对应的19位二进制为000 0011 0000 0000 1111)参数设置如下:gs_guc reload -Z coordinator -Z datanode -N all -I all -c "audit_enabled=on"gs_guc reload -Z coordinator -Z datanode -N all -I all -c "audit_system_object=12303"参数设置命令截图:设置成功:按照方法1中的流程创建并更新测试表,记录系统当前时间作为参照:查看审计日志:select * from pgxc_query_audit('2021-05-27 16:10:00','2021-05-27 16:20:00') where operation_type='ddl' and object_name='employee_info';截图如下:方法3:CN日志查看方法配置 postgresql.conf 配置文件,通过记录表的 DDL 信息,从而确定表的创建时间。log_statement参数介绍:log_statement参数说明:控制记录SQL语句。该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。即使log_statement设置为all,包含简单语法错误的语句也不会被记录,因为仅在完成基本的语法分析并确定了语句类型之后才记录日志。取值范围:枚举类型•none表示不记录语句。•ddl表示记录所有的数据定义语句,比如CREATE、ALTER和DROP语句。•mod表示记录所有DDL语句,还包括数据修改语句INSERT、UPDATE、DELETE、TRUNCATE和COPY FROM 。•all表示记录所有语句,PREPARE、EXECUTE和EXPLAIN ANALYZE语句也同样被记录。默认值:nonelog_statement参数设置方法:--登录CN所在的数据节点,执行source /opt/huawei/Bigdata/mppdb/.mppdbgs_profilegs_guc reload -Z coordinator -Z datanode -N all -I all -c "log_statement=ddl"参数设置命令截图:查看对应时间点的CN日志,可以记录表的创建时间,详细如下。转载来自:https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=134687
  • [其他] 【8.0.3】创建DWS集群报错,资源租户VPC,后台查错误步骤为CreateResourceTenantVpc Failed,
    1. 管控面版本 :    HCS 8.0.3 , 430版本。2. 问题现象:    创建集群失败,后台查询错误步骤为创建资源租户VPC的TASK失败,如下图所示。定位中发现日志报创建subnet失败,提交的创建请求中,dns值为0.0.0.0。3. 原因:    DWS安装过程中,工步存在BUG,拿到的租户区dns为0.0.0.0,可在CDK的dns.address参数中查到。4. 解决方法:    去DMK的公共配置中查询g_tenant_dns参数,替换dwscontroller的CDK参数dns.address,升级后重启容器,再发放即可。
  • [其他] 【8.0.3】【Insight】【日志收集】serviceOM数仓界面收集DWS日志,报错500 Internal ERROR
    1. 管控面版本 :     HCS 8.0.3 , 430版本。2. 问题现象:    使用serviceOM数据仓库服务页面收集实例日志,右上角报错500,接口返回如下。3. 原因:    DWS安装过程中,工步存在BUG,Insight数据库中的namespace表里,ak,sk相关信息没有录入,需要手动录入。4. 解决方法:    根据dwscontroller的参数的logCollect.obsBucket,logCollect.userAK,logCollect.userSK的值分别更新insight数据库的logcollect_obs_bucket,logcollect_user_ak,logcollect_user_sk值即可。
  • [运维管理] GaussDB A 用户权限问题
    GaussDB A 集群上有两个用户ods和ifrs17。正常这两个用户是互不关联的,在业务测试中发现ods用户可以查询ifrs17用户schema下的所有表。但是有看过这两个用户的角色是没有相应权限的。执行\du 发现如下打印,看了产品文档没有这方面的介绍,想知道如下这个图中各个含义。
  • [实践系列] GaussDB(DWS)实践系列-ClickHouse->GaussDB(DWS)迁移
    在项目交付中经常会遇到各种异构数据库间的迁移替换,该场景重度依赖迁移工具完成同步。目前华为云上没有现成的数据迁移工具能够支持Clickhouse到GaussDB(DWS)的迁移,本文提供一种思路,通过Spark代码完成ClickHouse中表数据读取,并写入到GaussDB(DWS)中完成迁移。样例参考代码如下:#! /bin/bash/env python3from pyspark.sql import SparkSessionfrom datetime import datetime, timedeltaimport sysdef ch2dws():    startTime = datetime.now()    print("===== {}任务开始时间{}:".format("order2dws", startTime.strftime("%Y-%m-%d %H:%M:%S.%f")))    spark = SparkSession.builder.master("yarn").appName("ch2dws").getOrCreate()    sql = """    select     kid    , ym    , ymareaid    , amount    , order_total    from xxxxx.xxxxxx oia     where orderday='2021-06-03'    limit 3000    """    print(sql)    df = spark.read.format("jdbc").options(        url="jdbc:clickhouse://xxxxx:8123/xxxxxxxx",        driver="ru.yandex.clickhouse.ClickHouseDriver",        dbtable="(%s) tp" % sql,        user="xxxxxxxxx", password="xxxxxxxx").load()    #  append    df.write.mode(saveMode="overwrite") \        .format("jdbc") \        .option("driver", "org.postgresql.Driver") \        .option("url", "jdbc:postgresql://xxxxxxxxx:8000/xxxxxxxxxx") \        .option("useSSL", "false") \        .option("user", "xxxxxxxxxx") \        .option("password", "xxxxxxxxx") \        .option("batchsize", 10000) \        .option("dbtable", "xxxxxxxxxx") \        .option("isolationLevel", "NONE") \        .option("truncate", False) \        .save()    spark.stop()    endTime = datetime.now()    print("任务结束时间:{},总耗时{}".format(endTime, timedelta(seconds=(endTime - startTime).total_seconds())))if __name__ == '__main__':    # date_input = [it for it in sys.argv[1:]]    ch2dws()
  • [实践系列] GaussDB(DWS)实践系列-日常硬件巡检指导
    GaussDB(DWS)实践系列-日常硬件巡检指导一、 操作场景日常运维过程中,运维人员可以通过硬件(服务器、电源、硬盘)指示灯状态进行巡检,以判断硬件是否存在故障。其中指示灯绿色常亮代表正常状态,其余情况可登录iBMC系统检查是否有告警,并联系硬件工程师定位处理。二、 iBMC系统概述iBMC智能管理系统是针对服务器的系统监测和管理软件。iBMC智能管理系统支持进行服务器监测、故障定位、系统管理和数据配置等功能,运维人员可以通过的WebUI界面登录进行服务器的硬件巡检。告警&事件功能介绍:通过“告警&事件”界面,可以查看设备当前未处理的告警,并查看和搜索服务器产生的各种系统事件。三、 告警信息查看操作1、登录iBMC界面在浏览器地址栏输入 BMC IP 地址,例如输入200.1.5.177跳转到登录界面。输入账号密码单击“登录”,默认登录密码为Administrator/Admin9000(运维人员基本都有)。2、成功登录后,显示“首页”界面3、首页界面会显示告警统计信息根据告警级别分为紧急、严重和轻微3类,上图中可以看到该服务器存在一个轻微告警,点击该图标,查看具体告警信息。或者首页点击 “维护诊断” à告警&事件查看。点击“详情”,可以看到具体处理建议如下4、告警参数说明四、 注意事项通过WebUI进行界面操作,最多只能有4个用户同时登录。默认情况下,系统超时时间为5分钟,即在5分钟内,如果您未在WebUI界面执行任何操作,系统将自动登出,此时需输入用户名和密码重新登录WebUI界面。连续5次输入错误的密码后,系统将对此用户进行锁定。等待5分钟后,方可重新登录,亦可通过管理员用户在命令行下解锁。五、 拓展查看其他iBMC相关帮助文档,点击首页图标。进入到帮助文档界面。
  • [迁移系列] GaussDB(DWS)实践系列-MySQL->GaussDB(DWS)常用语法对照表
    GaussDB(DWS)实践系列-MySQL->GaussDB(DWS)常用语法对照表在项目交付中,经常遇到不同数据库间的数据迁移,本文针对MySQL->GaussDB(DWS)的常用语法兼容性进行了梳理,汇总整理语法对照表,可以参考使用。序号分类MySQL语法GaussDB(DWS)适配语法说明1日期类型datetime/datetime(0)timestamp without time zonedatetime是没有时区的时间戳,而timestamp是带时区的时间戳,因此,在转换成DWS中的数据类型时,datetime需要转为timestamp without time zone,timestamp转为timestamp with time zone;改写样例:Create Table order_info (order_date datetime);替换为Create Table order_info (order_date TIMESTAMP WITHOUT TIME ZONE);2timestamptimestamp with time zone3数值类型tinyintsmallintDWS与ADB中均存在tinyint这种数据类型,但是,在ADB中其范围是 -128~127,而DWS中为0~255,两者的数据范围是不一致的。4int(11)/bigint(20)/tinyint(4)int/bigint/tinyintDWS中去掉长度约束5AUTO_INCREMENTAUTO_INCREMENT自增列修改为serial类型,bigint对应bigserial,int对应serial,SMALLINT 对应SMALLSERIALAUTO_INCREMENT对应BIGSERIAL/SERIAL/SMALLSERIAL改写样例:Create Table market_info('windowId' bigint(20) NOT NULL AUTO_INCREMENT);替换为Create Table market_info(windowId bigserial NOT NULL);6doubledouble precisiondouble类型对应float类型;改写样例:Create Table order_info ( live_id varchar(50), tag_price double );替换为Create Table order_info ( live_id varchar(50), tag_price double precision ) ;7float(10, 6)float(16) 8字符类型string类型text类型改写样例:Create Table di_corp_replay_prd_indic_d ( live_id varchar(50)  , tag_price string);替换为Create Table di_corp_replay_prd_indic_d ( live_id varchar(50)  , tag_price text ,) ;9longtexttextDWS使用text代替longtext,Mysql longtext 0-4Gb,DWS text最大为1G-8023B(即1073733621B)10列注释列注释是在创建表语法的每一列之后,例如create table order_info('id' bigint comment '主键');列注释语句需要单独使用comment语句添加,例如create table order_info(id bigint);comment on column order_info.id is '主键';改写样例:create table order_info('id' bigint comment '主键');替换为create table order_info(id bigint);comment on column order_info.id is '主键';11表注释建表语句中可以加入表注释,例如Create Table 'order_detail' ( 'corpid' varchar(50))  COMMENT='商家订单异常明细';表注释需要单独写在表结构之外,例如Create Table order_detail ( corpid varchar(50)) DISTRIBUTE BY HASH(corpid);comment on table order_detail is '商家订单异常明细';改写样例:Create Table 'order_detail' ( 'corpid' varchar(50))  COMMENT='商家订单异常明细';替换为Create Table order_detail ( corpid varchar(50)) DISTRIBUTE BY HASH(corpid);comment on table order_detail is '商家订单异常明细';12分页select * from test limit 1,3;select * from test limit 3 offset 1;分页语法用 limit+offset 改写替换13日期函数date_format()to_char()改写样例:select date_format(now(), '%Y/%m/%d %H:%i:%s');替换为select to_char(now(),'YYYY-MM-DD HH24:MI:SS');14datediff()EXTRACT()改写样例:select datediff(date '2003-05-03',date '2003-05-02');替换为SELECT EXTRACT(EPOCH FROM (date '2003-05-03'- date '2003-05-02'))/60/60/24;15date_sub()替换为sysdate - interval改写样例:select date_sub(now(),interval 1 hour);替换为select sysdate - interval '1 hour';16date_add()替换为sysdate + interval改写样例:Select date_add(now(),interval 1 hour);替换为select sysdate + interval '1 hour';17TIMESTAMPDIFF()EXTRACT()改写样例:select TIMESTAMPDIFF(second,'2017-07-06 20:00:30','2017-07-06 20:01:00') ;替换为SELECT EXTRACT(EPOCH FROM (timestamp '2017-07-06 20:01:00'- timestamp '2017-07-06 20:00:30'));18UNIX_TIMESTAMP()EXTRACT()改写样例:select UNIX_TIMESTAMP(substr(adddate(NOW() , INTERVAL -1 MONTH),1,10)) * 1000;替换为SELECT EXTRACT(EPOCH FROM substr(now() - INTERVAL '1 MONTH',1,10))*1000;19MINUTE()date_part()改写样例:SELECT MINUTE("2017-06-20 09:34:00");替换为SELECT date_part('minute', timestamp '2017-06-20 09:34:00');20now()sysdate改写样例:select now();替换为select sysdate;21str_to_date()to_date()改写样例:select str_to_date('20201127193000','%Y%m%d%H%i%s');Oracle兼容模式替换为:select to_date('2020-11-27 19:30:00','YYYY-MM-DD HH24:MI:SS');TD兼容模式替换为:select to_timestamp('2020-11-27 19:30:00','YYYY-MM-DD HH24:MI:SS');22current_timestamp()sysdate改写样例:select current_timestamp();替换为select sysdate;23adddate()替换为sysdate - interval改写样例:select adddate(NOW() , INTERVAL -1 MONTH);替换为select sysdate - interval '1 month';24截取时分秒date_format()substr()改写样例:select date_format(date_add(now(), interval - 5 minute),'%H:%i:%S');替换为select substr(sysdate - interval '5 minute',11,14);25超长表名MySQL允许表名超过64位DWS表名长度不允许超过64位,超过部分被截断;DWS表名长度不允许超过64位,超过部分被截断;26BROADCAST表BROADCAST表复制表改写样例:Create Table di_corp_replay_prd_indic_d ( live_id varchar(50)  , tag_price double ,)DISTRIBUTE BY BROADCAST ;替换为Create Table di_corp_replay_prd_indic_d ( live_id varchar(50)  , tag_price double ,)distribute by REPLICATION;27语法替换if(1=2,'true','false');替换为case when改写样例:select if(1=2,'true','false');替换为select case when 1=2 then 'true' else 'false' end;28UUID()sys_guid()改写样例:select UUID();替换为select sys_guid();29ifnull()nvl()改写样例:select ifnull(null,'true');select ifnull(1,'true');替换为select nvl(null,'true');select nvl('1','true');30Group_concat()string_agg()改写样例:select id,group_concat(name) from aa group by id;替换为select id,string_agg(name,',') from aa group by id;31distinct id,namedistinct(id,name)改写样例:select distinct id,name from aa;替换为select distinct(id,name) from aa;32clustered  key不支持,去掉改写样例:Create Table copy_di_distributor_buyer_contribution_ranking_v2 ( shop_id varchar , distributor_id varchar , buyer_id varchar , date_type bigint , dw_insert_time varchar , clustered key clustered_key(shop_id ASC,distributor_id ASC,date_type ASC,order_amount_rank ASC), primary key (shop_id,distributor_id,date_type,buyer_id)) DISTRIBUTE BY HASH(shop_id,distributor_id,date_type);替换为Create Table copy_di_distributor_buyer_contribution_ranking_v2 ( shop_id varchar , distributor_id varchar , buyer_id varchar , date_type bigint , dw_insert_time varchar , primary key (shop_id,distributor_id,date_type,buyer_id)) DISTRIBUTE BY HASH(shop_id,distributor_id,date_type);33REPLACE 实时覆盖merge into改写样例:REPLACE INTO edw_akapp_order_info SELECT * FROM outer_edw_akapp_order_info;替换为merge into edw_akapp_order_info a using outer_edw_akapp_order_info bon a.p_order_id = b.p_order_id and a.cartproductid = b.cartproductid;34单引号转义 '\'改写样例:and live_name in("【超值】英格莱恩/Ingram's美妆0404", "【美配29】科颜氏 Kiehl's美妆1229", "【必播】爱呵护I'vebaby纸尿裤&拉拉裤0730", "【森马集团】THE CHILDREN'S PLACE童装0718")替换为and live_name in ('【超值】英格莱恩/Ingram\'s美妆0404','【美配29】科颜氏 Kiehl\'s美妆1229','【必播】爱呵护I\'vebaby纸尿裤&拉拉裤0730','【森马集团】THE CHILDREN\'S PLACE童装0718')35字段命名字段名支持以数字开头dws字段名不能以数字开头,需加双引号改写样例:CREATE TABLE IF NOT EXISTS order_info(school TEXT,grade TEXT,class TEXT,20_50w BIGINT,datetime float) DISTRIBUTE BY HASH(school);替换为CREATE TABLE IF NOT EXISTS order_info(school TEXT,grade TEXT,class TEXT,"20_50w" BIGINT,datetime float) DISTRIBUTE BY HASH(school);36语法规范‘! =’中间可以有空格‘! =’中间不能有空格改写样例:and order_source ! = 'all'替换为and order_source != 'all'
  • [开发应用] 【GaussDB产品】Exception捕获异常时,无法捕获到语法错(Syntax error)
    错误SQL:BEGIN...SELECT  field01 as f1, field02 ass f2 FROM table_name;EXCEPTION   WHEN OTHER THEN   DBMS_OUTPUT.PUT_LINE('错误描述:'|| SQLERRM)END;/或者EXCEPTION   WHEN SYNTAX_ERROR THEN         DBMS_OUTPUT.PUT_LINE('错误描述:'|| SQLERRM)   WHEN OTHER THEN        DBMS_OUTPUT.PUT_LINE('错误描述:'|| SQLERRM)如上SQL,并不会进入到EXCEPTION代码块中,请问怎么解决注意 : SQL的错误在于起别名 AS 关键字 写成了ASS
  • [生态空间] 【Gaussdb A 8005、DWS8.1】【topsql功能】topsql查看可不可以赋权给普通用户
    如标题:topsql查看可不可以赋权给普通用户,并且如果可以的话,需要怎么赋权?
  • [问题求助] 【数据平台】【数据仓库】为什么园区方案使用gaussdb100作为数据仓库
    1、新版本的cube方案中为什么使用gaussdb100 OLTP的库作为数据仓库?怎么不继续使用早期私有云方案的gaussdb 200 (好像现在叫gaussdb A)?2、Flink 为什么采用了边缘Flink的形式,不用FusionInsight HD 安装flink?3、Datatool 是阉割了部分功能的DAYU吧。还望专家 给解答一下。
  • [生态空间] GaussDB 8.0.0 数据库突然不能进行常规操作 DDL DML
    【功能模块】  GaussDB 使用【操作步骤&问题现象】1、登录数据库后执行 create table 语句 2、一直不能返回执行成功3、集群资源都是闲置状态 ,此集群是测试机,只有我自己在用。【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] 【大厂内参】第8期:8大场景系列玩转数仓运维,做个不秃头的DBA
    【摘要】 为了让DBA们通宵加班找故障将成为过去式,减少运维工作量,我们针对华为云GaussDB(DWS)的运维整理了八大系列内容,帮您解决数仓和应用技术转型中遇到的实际问题,让DBA玩转数仓运维“不秃头”。  每一个奋斗在前线的DBA似乎运气都不太好,他们都经历过的诡异事件大概率是:逢年过节必出故障。眼看着要放假了,又接到故障通知,只好通宵加班找问题。没问题的时候可能大家都不会想到你,一出问题就先拿运维试问,于是每逢佳节便出现拜数据仓库的戏谑图片。  为了让DBA们加班找故障成为过去式,减少运维工作量,我们选取容灾、负载管理、数据上云等典型运维场景,围绕华为云GaussDB(DWS)多源数据融合分析、计算/存储资源规划、业务连续性的数仓高可用等核心技术,流式数据入库、集群管理、时区调整、扩容等运维技巧,帮助您解决实际业务运维场景中遇到的问题,让DBA玩转数仓运维“不秃头”。负载管理:让“笨”的数仓“聪明”起来  从四个核心技术为你解密,GaussDB(DWS)负载管理功能如何做好计算/存储资源的划分,让你的数仓“聪明”起来。  GaussDB(DWS)负载管理核心技术解密一:全景图及解决的场景  GaussDB(DWS)负载管理核心技术解密二:白话历史资源监视  GaussDB(DWS)负载管理核心技术解密三:工作负载管理测试分析  GaussDB(DWS)负载管理核心技术解密四:工作负载计划解密保障业务连续性,GaussDB(DWS)高可用有妙招  GaussDB(DWS)所有内部组件CN、DN、GTM、CM等采用多活或主备设计,通过集群管理进行故障检测和切换。在硬件层面,除了最基本的宕机、断网的直接故障外,GaussDB(DWS)还针对夯死、慢节点、亚健康等僵而不死的复杂场景,做了大量的建模和针对性优化,能够实现故障的准确探测和自愈。并且还提供了双集群容灾能力,通过跨AZ、跨Region的物理复制,实现异构集群容灾。  GaussDB(DWS)高可用之数据复制  GaussDB(DWS)高可用之备机重建  GaussDB(DWS)高可用之CN&GTM组件高可用介绍  GaussDB(DWS)高可用之主备从HA技术  GaussDB(DWS)高可用之单点故障业务不中断  华为云GaussDB(DWS)数据仓库以2048大规模节点通过信通院评测认证全方位案例解读数仓数据融合  GaussDB(DWS)采用一套SQL引擎,支持Oracle、MySQL、HDFS等多源数据融合分析,并通过算子下推、加速集群等技术对分析性能进行了大幅优化,在数据免搬迁的前提下,实现了跨源数据免搬迁、高效分析。  GaussDB(DWS)数据融合:提升企业掌握数据之力数据上云是趋势,DBA掌握云端运维是关键  数仓未来是云,越来越多企业面临数仓和应用技术转型,云端运维成数仓运维需要掌握的核心。DWS提供了简单易用的Web管理控制台,帮助您快速创建数据仓库集群,轻松执行数据仓库管理任务。  GaussDB(DWS)云端运维系列手敲代码实践展示GaussDB(DWS)流式数据入库的三种方式  随着金融风控,以及IoT场景对数据实时处理分析的诉求,DWS实时数仓时序数据单机入库性能达10w/s,流数据达60w/s,并能够线性扩展,并且GaussDB(DWS)流式数据可通过Python、C和Java三种接口,让入库全程无忧。  GaussDB(DWS)流式数据入库实践[数仓性能调优从掌握最基本命令开始,十八般武艺轻松搞定数仓性能调优]  数仓性能调优是数仓应用开发和迁移过程中的关键步骤,在整个项目实施过程中占据很大的份量。它没有明确的衡量标准和对错之分,考验的是资深一线技术人员的隐式技能。开发者可通过该系列文章了解数仓的基本原理,然后结合调优思路,对各个调优技巧进行深入的学习。  数仓性能调优必读:从系统级到SQL级,带你进阶为性能调优高手一手掌握GaussDB(DWS)集群运维  GaussDB(DWS)现网运行的PB级数据量以上的大集群已经有10+个,最大商用单集群规模达到240节点。在产品能力上,GaussDB(DWS)可扩展至2048节点,并且该规模在12月已通过信通院的权威评测。另外,还实现了逻辑集群特性,一套物理集群可针对不同业务划分多个逻辑集群,数据相互隔离,支持跨逻辑集群的计算资源调动。通过逻辑集群,可以进一步扩展集群的规模。该系列从基本概念到核心功能,带你了解集群管理、通信等方面的应用之道。  GaussDB(DWS)集群管理系列  GaussDB(DWS)集群通信系列  GaussDB(DWS)逻辑集群系列这份GaussDB(DWS)基础运维知识,你要收藏  从理论到升级案例,带你掌握GaussDB(DWS)升级、扩容面临的疑难问题。  GaussDB(DWS)升级问题定位指南  GaussDB(DWS)扩容问题定位指南  GaussDB(DWS)时区相关知识  数字化浪潮汹涌而来,在5G、云、AI加持下,数仓不断升级演进,激发千行百业的创新和数字化转型。企业DBA更应该从传统的“数据保管人和数仓守护者”角色进行转变。在数仓的易操作、便捷维护等基础上,DBA需要更多地理解业务,用数据回答来自业务方面的诉求,而不仅仅是维护数仓的健康稳定运行,这真的是DBA们的机遇所在。本合集为《大厂内参》008期,欢迎大家持续关注。大厂内参根据开发者普遍关注的热门技术领域,汇编实践精华内容。从业务场景选型,应用案例分析,到前瞻趋势预测。以专题的形式,深度解读华为云核心技术,分享一线工程师的实战经验。【第一期】敏捷&Devops:80+篇实践干货分享,深度解读敏捷&DevOps如何革新软件开发【第二期】数据库:从数据库科普到核心技术解读、上云案例分享,全方位剖析云数据库【第三期】云服务器:选型解读+案例分享:云服务器“软硬技术”全公开【第四期】人工智能:海量实战经验教你零门槛进场AI开发,无成本负担玩转AI应用【第五期】云原生:读懂云原生2.0,看它如何重塑业务开发架构【第六期】云安全:Get防范云安全的必杀技,学会构建云上完整安全体系【第七期】物联网:“端边云”IoT全栈技术大揭秘,开发实战指南带你轻松上手IoT
  • [生态空间] GaussDB A 8.0.0.1版本 数据通道复制产生的数据 是指什么?
    【操作步骤&问题现象】在集群中,DN有多个。每个DN存储了一部分数据。如果DN无高可用方案,则故障时会导致该实例上的数据无法访问。因此GaussDB A对DN提供了高可用方案:主、备、从备。DN主、备、从备间的工作原理如下:主、备DN同步数据期间,如果主DN突然故障不可用,备DN会升为主DN。在原主DN恢复前,新升为主的DN会将数据日志同步到从备DN。原主DN恢复后将成为备DN,并且会使用“从备DN”上的数据日志恢复异常期间的数据。也就是说从备DN永远只作为从备使用,不会因为主DN或备DN故障而升级为主DN或备DN,从备只存放备DN故障时同步到从备的Xlog数据和数据通道复制产生的数据。数据通道复制产生的数据 是指什么?
  • [生态空间] 版本gaussdb 8.0.0.1 当主实例或备实例故障时
    版本gaussdb 8.0.0.1 当主实例或备实例故障时从备实例开始工作,问题为什么从备实例目录数据增长速度这么快?是因为会同步历史数据吗?如果不是怎么保证的双副本在线?那些动作会影响从备数据增长? 如果是请简单说明这么设计的理由?
  • [生态空间] GaussDB 200 6.5.1 使用截取函数left展示截取字符
    在GaussDB 200 6.5.1 集群中使用left(str text, n int)进行字符的截取,通过查询可获得截取到的字符,但是诉求是要用查询到的结果去统计sql中hphm对应值的汉字部分。如“京”、“晋”等。想知道这个要怎么关联?SQL语句如下:查询结果如下:
总条数:2749 到第 页
上滑加载中