ITPub博客

首页 > 数据库 > > 逻辑集群-删除逻辑集群

逻辑集群-删除逻辑集群

作者:GaussDB_数据库 时间:2020-01-13 13:15:45 0 删除 编辑

操作场景

当逻辑集群不再使用时,系统管理员可通过FusionInsight Manager将逻辑集群进行删除。

约束限制

  • 执行该操作前,必须确认大集群状态为Normal,重分布状态为NO。
  • 操作前,请确认被删除的逻辑集群内的所有业务都已停止。
  • 只有存在两个或者两个以上的逻辑集群时,才可以执行该操作。
  • 待删除的逻辑集群所包含的节点中含有CMServer、GTM、ETCD组件时,该逻辑集群无法删除。
  • 待删除的逻辑集群所包含的节点中只含有CN和DN组件,剔除CN成功后方可删除该逻辑集群。
  • 安装集群或者安装MPPDB服务时,如果自定义了环信息和环数量,不支持逻辑集群删除。

操作步骤

  1. 登录FusionInsight Manager。
  2. 选择“租户资源 > 逻辑集群”。
  3. 在集群下拉列表中选择待操作的集群,在逻辑集群列表中,在需要删除的逻辑集群所在行右侧“操作”列中,选择“更多 > 删除”。

  4. 在弹出窗口中输入当前登录的用户密码确认身份,然后单击“确定”。
  5. 在“删除逻辑集群”的对话框中单击“确定”。

    等待逻辑集群删除成功,单击“完成”。

     说明:

    如果逻辑集群删除失败,请参见附加信息处理。

附加信息

  1. 查询除postgres以外的库名。
  2. 在集群用户权限路径下建 **.sql文件。
  3. 拷贝如下脚本,并把对应粗体字换成需要删除的逻辑集群名称。

    DECLARE
    sql_stmt VARCHAR2(500);
    my_cursor REFCURSOR;
    username text;
    schemaname text;
    tablename text;
    relkind CHAR;
    BEGIN
    sql_stmt := 'SELECT pg_catalog.quote_ident(rolname) FROM pg_authid JOIN pgxc_group ON pg_authid.rolnodegroup=pgxc_group.oid WHERE pgxc_group.group_kind=''v'' AND pgxc_group.group_name=''logic_cluster'' ';
    OPEN my_cursor FOR EXECUTE sql_stmt;
    FETCH FROM my_cursor INTO username;
    WHILE my_cursor % FOUND LOOP
    EXECUTE IMMEDIATE 'DROP OWNED BY '||username||' CASCADE';
    FETCH FROM my_cursor INTO username;
    END LOOP;
    CLOSE my_cursor;
    sql_stmt := 'SELECT pg_catalog.quote_ident(n.nspname) AS schemaname, pg_catalog.quote_ident(c.relname) AS tablename, c.relkind AS relkind FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace JOIN pgxc_class x ON x.pcrelid = c.oid WHERE x.pgroup=''logic_cluster'' ';
    OPEN my_cursor FOR EXECUTE sql_stmt;
    FETCH FROM my_cursor INTO schemaname, tablename, relkind;
    WHILE my_cursor % FOUND LOOP
    IF relkind = 'f' THEN
    EXECUTE IMMEDIATE 'DROP FOREIGN TABLE IF EXISTS '||schemaname||'.'||tablename||' CASCADE';
    ELSE
    EXECUTE IMMEDIATE 'DROP TABLE IF EXISTS '||schemaname||'.'||tablename||' CASCADE';
    END IF;
    FETCH FROM my_cursor INTO schemaname, tablename, relkind;
    END LOOP;
    CLOSE my_cursor;
    END;

  4. 登录对应的库执行此文件。
  5. 执行成功后参见操作步骤删除逻辑集群。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3119616/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19243