华为云用户手册

  • 定义索引 创建索引为可选操作。索引主要用于增强数据库性能。该操作建立指定表中指定列的索引,如需创建“唯一索引”,勾选该复选框。 在“访问方式”中选择要使用的索引方法名称。默认方法是B-tree。 索引的“填充因子”指索引方法填充索引页面的百分比。“访问方式”为B-trees时,初次建立索引以及在右侧扩展索引(填写新的最大键值)时,叶子页面填充到该百分比如果后续完全填满,页面将拆分,这样会导致索引效率逐步衰减。B-trees使用默认填充因子90,也可以选择10~100范围内的整数。如果为静态表,填充因子100,这样可以尽量减小索引的物理尺寸。对于更新量较大的表,推荐填充因子设置为较小值,这样可以尽量减少页面拆分的需求。其他索引方法使用的填充因子不同,但是比较类似。默认的填充因子随方法不同而不同。 可以直接提到索引的用户定义的表达式,也可以使用“可用列”创建索引在“可用列”列表中选择列,单击“添加”。如需多列索引,为其他列重复执行该步骤。 输入新增索引的所有信息后,单击“添加”按钮。 可单击“删除”删除清单中的索引定义完所有列后,单击“下一步”。 下表列出了“索引”中普通表所支持的字段/选项。 表5 支持的字段/选项 字段/选项 行存表 列存表 ORC表 唯一索引 √ x x btree √ √ x gin √ √ x gist √ √ x hash √ √ x psort √ √ x spgist √ √ x 填充因子 √ x x 用户自定义表达式 √ x x 部分索引 √ x x
  • 定义列 列定义了行中的信息单元,每一行为一个表项,每一列为应用于所有行的信息的分类。数据库添加表时,可以定义组成该数据库的列,列决定了表可以包含的数据类型。提供表的通用信息后,单击“列”页签定义列清单,每一列包含名称、数据类型和其他可选属性。 在“列名”区域填写列名称。“列名”指新表中待创建的列的名称,列名在表中唯一。 勾选“区分大小写”复选框可保留“列名”字段中输入的文本的大小写。例如,如果输入的表名称为“Name”,则表名将创建为“Name”。 选择“阵列维度”。“阵列维度”指列的阵列尺寸。 例如:如果某列的数组维度定义为integer [],该列数据会添加为单维数组。 上表的marks列创建为单维数据,subject列创建为二维数据。 从“数据类型”中选择列的数据类型。例如,为整数值选择“bigint”。 对于复杂的数据类型: 从“模式数据类型”中选择模式。 从“数据类型”中选择对应的数据类型。该列表显示所选模式的表和视图。 用户无法选择自定义数据类型。 在“精度/大小”字段选择所输入数据的类型。仅当数据类型可以用精度/尺寸来定义时,该选项可选。 在“范围”字段选择输入的数据类型的范围。 根据需要在“列约束”区域选择如下约束: “非空”:指该列不能包含空值。 “唯一”:指列可能仅包含唯一值。 “默认”:指定该列未定义值的情况下使用的默认值。 “检查”:指生成boolean结果的表达式,该结果中,新增行或更新行的操作需成功执行。 如果要在“创建普通表”对话框的“列”页签添加列注释信息,则在“设置列描述(最多5000个字符)”文本框中进行输入,之后单击“添加”。此外,也支持通过单独的新增列窗口添加注释信息。完成之后,可以在普通表的属性窗口中查看该信息。 输入新增列的所有信息后,单击“添加”按钮也可以从清单中删除列或修改列顺序,定义完所有列后,单击“下一步”。 支持对列进行添加、删除、编辑、调整顺序等操作。 下表列出了“列”中普通表支持的字段。 表2 支持的字段 字段 行存表 列存表 ORC表 阵列维度 √ x x 模式数据类型 √ x x 非空 √ √ √ 默认 √ √ √ 唯一 √ x x 检查 √ x x
  • 编辑连接 在“对象浏览器”窗格中,右键单击连接名称,然后选择“编辑连接”。弹出“编辑连接”对话框。 若要编辑活跃连接,需要先关闭该连接,然后重新打开设置了新属性的连接。工具会显示连接重置警告。 编辑连接参数。有关参数详情,请参见表1。 数据库类型和名称字段不支持修改。 单击“确定”保存更新后的连接信息。 可单击“清除”清除“编辑连接”对话框中的所有字段。 如果未修改任何连接参数就单击“确定”,会显示对话框,提示用户未保存更改。在修改连接参数后,会显示对话框消息。 如果未启用SSL,工具会显示“连接安全告警”对话框。单击“继续”以继续使用不安全的连接,或单击“取消”返回到“编辑连接”对话框并启用SSL。 如果勾选“不再显示”字段,当前登录的Data Studio实例在后续连接时,不再显示“连接安全告警”对话框。 工具会显示“确认删除连接”对话框,询问用户是否确认删除已编辑连接的数据库。 单击“是”继续更新连接信息,并重新连接到已更新参数的连接。 状态栏显示已完成操作的状态。
  • 刷新连接数据 在“对象浏览器”窗格中,右键单击连接名称并选择“刷新”,或按”F5“刷新数据库,刷新整个连接。在刷新的过程中,整个连接将更新为服务器上的最新内容。 状态栏显示已完成操作的状态。 完成刷新数据库所需时间完全取决于数据库中存在的对象数量。因此,建议在大规模数据库中尽量在空闲时间段执行此操作。 如果刷新整个数据库或连接,search_path中模式下的所有子对象和用户已展开的模式会重新加载。 如果重新连接数据库,仅会加载search_path中保存的模式对象。先前展开的对象不会加载。 不能同时刷新数据库及其下的多个对象。
  • 使用模板 在Data Studio中,用户可使用“模板”选项在SQL终端或PL/SQL查看器中插入常用SQL语句。Data Studio中已保存了一些常用SQL语句以便用户使用。您可以修改这些现有模板,或删除或创建模板。有关如何添加、删除和创建模板,请参见表1。 可用的默认模板如下: 名称 说明 df delete from is insert into o order by s* select from sc select row count sf select from sl select 执行以下步骤使用“模板”选项: 在SQL终端或PL/SQL查看器中输入模板名称。 按下“Ctrl+Alt+空格”。 页面显示已有的模板信息列表。列表可按照如下模式显示。 精确匹配 列表显示 是 显示与输入文本大小写相匹配的所有条目。 示例:在SQL终端或PL/SQL查看器中输入“SF”,会显示所有以“SF”开头的条目。 否 显示与输入文本相匹配的所有条目,不考虑文本大小写。 示例:在SQL终端或PL/SQL查看器中输入“SF”,会显示所有以“SF”、“Sf”、“sF”或“sf”开头的条目。 文本选择/光标定位 列表显示 选择文本并使用快捷键 显示与所选内容左侧字符到其左侧首个空格或换行符为止的内容匹配的条目。 未选择文本但使用快捷键 显示与光标位置到其左侧首个空格或换行符为止的内容匹配的条目。 在SQL终端或PL/SQL查看器中,如果不输入文本,直接按下快捷键“Ctrl+Alt+空格”,会显示“模板”中的所有条目。 在SQL终端或PL/SQL查看器中,如果输入的文本只有一个匹配项,则该项会直接替换输入的内容,而不显示模板列表。
  • 缩进/取消缩进行 缩进/取消缩进选项用于根据“首选项”页签中定义的缩进大小来移动行。 按照以下步骤在“PL/SQL Viewer”或“SQL终端”中缩进行: 选中目标行。 按下Tab键或单击。 根据“首选项”页签中定义的缩进大小来移动选中的行。可参见表1来修改缩进大小。 按照以下步骤在“PL/SQL Viewer”或“SQL终端”中取消缩进行: 选中目标行。 使用快捷键“Shift+Tab”或单击。 根据“首选项”页签中定义的缩进大小来移动选中的行。可参见表1来修改缩进大小。 如果选中了多行,则只对存在缩进的行取消缩进。例如,假设用户选择了多行,其中有一行从位置1开始。在这种场景下,使用“Shift+Tab”键将取消除该行以外所有行的缩进。
  • 自动提交 您可在“首选项”窗口启用或禁用“自动提交”功能,具体参见表1。 若启用“自动提交”功能,“提交”和“回滚”会被禁用,事务将会被自动提交。 若禁用“自动提交”功能,“提交”和“回滚”会被启用,可手动提交或回滚事务。 对于OLAP,服务器会为所有SQL语句,如select,explain select,及set parameter,打开事务。 对于OLTP,服务器仅为DML语句,如INSERT, UPDATE, 及DELETE,打开事务。
  • 图形化查看执行计划和开销 Visual Explain计划从扩展JSON格式中获取信息,以图形化方式显示SQL查询。该功能有助于优化查询以增强查询和服务器性能及分析数据库所用的查询路径,并找出最拥挤,开销最高和运行最慢的节点。 图形化执行计划展示了SQL语句所引用的表是如何被扫描的(普通顺序扫描和索引扫描)。 SQL语句的执行开销取决于其运行时长(可使用任意开销单位度量,但是通常以磁盘中每页的抓取数计算。) Costliest:“Self Cost”最高的计划节点。 Heaviest: 输出行数最大的计划节点被认为是最拥挤的计划节点。 Slowest:所需执行时间最长的计划节点。 按照以下步骤以图表形式查看所需SQL查询的计划和成本: 在“SQL终端”页签输入查询或使用现有查询,然后单击工具栏中的 。 显示“可视化计划分析”窗口。 如果在获取执行计划和开销的过程中丢失连接,请参见查看执行计划和开销获取关于重新连接选项的具体信息。 1 - “一般信息”:显示查询详情。 2 - “可视化解释计划”:以图形化方式显示所有节点,如开销最高、最拥挤的和最慢的计划节点。单击每个计划节点可查看节点详情。 3 - “属性 - 一般”:以毫秒为单位提供查询的执行时间。 4 - “属性 - 所有节点”:提供所有节点信息。 字段名 说明 Node Name 显示节点名称。 Analysis 显示各节点的分析信息。 RowsOutput 显示计划节点输出的行数。 RowsOutput Deviation (%) 显示预估的输出行数和计划节点实际的输出行数之间的偏差百分比。 Execution Time (ms) 显示查询在计划节点上的执行时间。 Contribution (%) 显示查询在计划节点上的执行时间占整个查询执行时间的百分比。 Self Cost 显示在计划节点上执行查询的“Total Cost”,即为所有子节点的总开销。 Total Cost 显示在计划节点上执行查询所消耗的总成本。 5 - “属性 - 执行计划”:显示所有节点上的执行信息。 列名 说明 节点名称 节点名称 实体名称 对象名称 开销 计划节点执行时间 行 计划节点输出行数 循环 每个节点执行的循环数 宽度 计划节点输出行的平均宽度估算值(以字节为单位) 实际行数 计划节点输出行数的估算值 实际时间 计划节点的实际执行时间 6 - “计划节点 - 一般”:显示各节点信息。 行名 描述 Output 显示计划节点返回的字段信息。 Analysis 显示开销最大、最慢和最拥挤的计划节点分析信息。 RowsOutput Deviation (%) 显示预估的输出行数和计划节点的实际输出行之间的偏差百分比。 Row Width (bytes) 显示预估的计划节点输出行的平均宽度(单位:字节)。 Plan Output Rows 显示计划节点输出的行数。 Actual Output Rows 显示预估的计划节点输出行数。 Actual Startup Time 计划节点生成第一条记录所耗费的执行时间。 Actual Total Time 显示计划节点的实际执行时间。 Actual Loops 显示该节点执行的迭代数。 Startup Cost 显示计划节点输出第一条记录所耗费的时间。 Total Cost 显示查询在计划节点上的执行时间。 Is Column Store 表示表的存储方式(列或行存储)。 Shared Hit Blocks 显示缓存命中的共享块数量。 Shared Read Blocks 显示从缓存读取的共享块数量。 Shared Dirtied Blocks 显示缓存中弄脏的共享块数量。 Shared Written Blocks 显示缓存写入的共享块数量。 Local Hit Blocks 显示缓存命中的局部块数量。 Local Read Blocks 显示从缓存读取的局部块数量。 Local Dirtied Blocks 显示缓存中弄脏的局部块数量。 Local Written Blocks 显示缓存写入的局部块数量。 Temp Read Blocks 显示从缓存读取的临时块数量。 Temp Written Blocks 显示缓存写入的临时块数量。 I/O Read Time (ms) 显示该节点执行任意I/O读操作的耗时。 I/O Write Time (ms) 显示该节点执行任意I/O写操作的耗时。 Node Type 显示计划节点的类型。 Parent Relationship 显示与父节点的关系。 Inner Node Name 子节点名称 Node/s 无需输入,将从属性中移除。 根据计划节点类型可以显示其他信息。举例如下: 计划节点 其他 Partitioned CS tore Scan 表名、表别名和模式名 Vector Sort 排序键 Vector Hash Aggregate 分组键 Vector Has Join Join类型和Hash条件 Vector Streaming 分布键和Spawn On 7 - “计划节点 - DN详情”:为每个节点提供详细的DN信息。只有在从DN收集数据时,“DN详情”才可用。 有关复制和搜索工具栏选项的说明,请参阅查看数据。 父主题: SQL终端管理
  • 导出所有查询结果 在执行导出操作过程中,以下操作无法启动: 在“SQL终端”页签,执行SQL查询。 执行 PL/SQL语句。 调试 PL/SQL语句。 导出所有查询结果。 选择“结果”页签。 单击 ,显示“导出结果集数据”窗口。 请参见导出表数据完成导出操作。 可在状态栏查看结果的导出状态。 Data Studio显示“数据导出成功”对话框。 单击“确定”。“消息”页签显示已完成操作的状态。 如果在导出结果时磁盘已满,则Data Studio会在“消息”选项卡中报错。请清理磁盘,重新建立连接并导出结果数据。 “消息”页签显示“执行时间”、“导出的总行数”和CSV文件的保存路径。
  • 导出当前页的查询结果 如要导出查询结果,建议导出所有查询结果,而非当前页的查询结果。“导出当前页到CSV”功能已弃用。 执行以下步骤导出当前页查询结果。 选择“结果”页签。 单击图标,导出当前页的查询结果。 显示“Data Studio安全免责声明”对话框。 选择“确定”。 选择保存当前页的路径。 可在状态栏查询导出页的状态。 单击“保存”。显示“数据导出成功”对话框。 单击“确定”。Data Studio在“消息”选项卡显示操作状态。 如果在导出结果时磁盘已满,则Data Studio会在“消息”选项卡中报错。清理磁盘,重新建立连接并导出结果数据。
  • SQL历史记录 历史执行SQL脚本未加密。 “历史执行SQL”列表不显示包含如下关键字的敏感查询: Alter Role Alter User Create Role Create User Identified by Password 部分查询语法示例列举如下: ALTER USER name [ WITH ] option [ ... ]] CREATE USER name [ [ WITH ] option [ ... ] ] CREATE ROLE name [ [ WITH ] option [ ... ] ] ALTER ROLE name [ [ WITH ] option [ ... ] ]
  • 管理SQL终端连接 在Data Studio中,用户查看执行计划和成本、可视化计划解释以及在结果集中进行操作时,可重用SQL终端中的现有连接或新建连接。默认情况下,SQL终端会重用现有连接。当有多个查询在现有连接中排队等待执行时,请使用新连接,因为查询会按顺序执行且可能存在延迟。在处理临时表时请重用现有连接。有关编辑临时表的详情,请参阅编辑临时表。 要更改该设置,请执行以下步骤: 单击启用或禁用SQL终端中的连接重用功能。 有关重用连接和新建连接时的查询执行行为,请参阅FAQs。 用户仅能在已有连接中编辑临时表。 父主题: SQL终端管理
  • 添加约束 右键单击表下的“约束”,选择“添加约束”。 弹出“添加新约束”对话框,提示在新约束中输入信息。 约束类型有CHECK、PRIMARY KEY、UNIQUE三个选项,详细说明请参考定义表约束。 输入“约束名”和“选定的列”,单击“添加”。完成操作后,该约束添加到表中。 Data Studio在状态栏显示操作状态信息。 如果“约束名”字段中已经提供了约束名称,则状态栏将显示该约束名称,否则将不显示该约束名。
  • 显示执行进度条 查询在“SQL终端”窗口执行时,窗口会呈现进度条动态显示运行时间。 查询执行完成后,时间条消失。 时间条旁显示完成查询所用总时间。 如果您想取消查询,可在时间条旁单击“取消”。 如下图所示: “取消”按钮已从工具栏中删除。 在PL/SQL编辑器中编译/调试对象时也会显示执行进度条。 进度条中显示的时间格式如下:w时x分y秒z毫秒 在SQL终端中执行批处理时,进度条会显示查询消耗的总时间。
  • 编辑临时表 用户可在Data Studio中编辑临时表。如果用户在建表时创建了连接,则断开该连接时,临时表会被自动删除。 在SQL终端编辑临时表时,请确保启用了连接重用功能。有关如何启用该功能,请参阅管理SQL终端连接。 执行以下步骤编辑临时表: 在临时表上执行查询。 “结果”页签会显示SQL查询的结果以及执行的查询语句。 “结果”页签中编辑临时表。可单击“添加”、“删除”、“保存修改”、“取消修改”编辑临时表。 父主题: 表管理
  • 导出视图DDL 可通过右键单击“导出DDL”导出该视图的定义。 在“对象浏览器”窗格中,右键单击所选视图,选择“导出DDL”。 用户需自定义导出路径。如果需要将数据压缩,勾选“.zip”选项。 “Data Studio安全免责声明”必须勾选“我同意”才可以单击“确定”。用户可关闭安全免责声明,关闭后导出DDL时将不会再出现,详情请参见表1。 单击“确定”,右下角的状态栏会显示操作进度。 “导出完成”对话框和状态栏显示已完成操作的状态。 要终止导出操作,双击状态栏,打开“进度视图”页签,单击。 如果视图名称包含Windows不支持的字符,则导出的文件名称将与视图名称不同。 数据库编码 文件编码 支持导出DDL UTF-8 UTF-8 是 GBK 是 LATIN1 是 GBK GBK 是 UTF-8 是 LATIN1 否 LATIN1 LATIN1 是 GBK 否 UTF-8 是
  • 查看执行计划和开销 执行计划显示如何对指代SQL语句的表格进行扫描,分为次序扫描和索引扫描。 SQL语句执行成本为预估的查询时间(查询的语句成本单位是随机的,通常情况下检查对象为磁盘页)。 查看SQL查询的计划和成本,可通过以下方式: 在“SQL终端”中输入查询或使用已有查询,单击工具栏的来查看解释计划。 若要查看使用了Analyze的解释计划,单击查询按钮,选择“包含ANALYZE结果”。然后再次单击查询。 “执行计划”默认在底部的新页签以树形图样式显示。显示支持树形样式和文本样式。 树形执行计划和Visual Explain中显示的数据可能会有所不同,因为二者执行的参数不同。 下表展示了使用和未使用Analyze解释计划时所选择的参数和显示的列: 表1 解释计划选项 解释计划类型 参数 列 未选择“包含ANALYZE结果”(默认值) Verbose、Costs Node type、startup cost、total cost、rows、width、additional Info 选择“包含ANALYZE结果” Analyze、Verbose、Costs、Buffers、Timing Node type、startup cost、total cost、rows、width、Actual startup time、Actual total time、Actual Rows、Actual loops、Additional Info Additional Info列包括谓词信息(过滤谓词和hash条件)、分布键、输出信息以及节点类型信息。 树形样式将节点划分为16个类型。在树形样式中,每个节点都将以相应类型的图标开头。下表列举了节点类别及相应图标。 表2 节点类别和图标 节点类别 图标 Aggregate Group Aggregate Function Hash Hash Join Nested Loop Nested Loop Join Modify Table Partition Iterator Row Adapter Seq Scan on Set Operator Sort Stream Union Unknown 将鼠标悬停在突出显示的单元格上,可以识别负载最重、开销最大、速度最慢的节点。只有树形样式支持单元格突出显示。 若选择了多个查询,则仅针对最后一个查询显示使用/未使用Analyze的解释计划。 每次执行一个执行计划,该计划都会在新页签中打开。 如果丢失连接但对象浏览器中依然保持数据库的连接,会弹出“连接错误”对话框,显示以下内容: “是”:重建连接,获取查询计划及开销。 “否”:断开对象浏览器中的数据库连接。 “执行计划”窗口中的工具栏菜单选项如下: 工具栏菜单 图标 描述 树形样式 此图标用于以树形样式查看解释计划。 文本样式 此图标用于以文本样式查看解释计划。 复制 此图标用于将所选内容从结果窗口复制到剪贴板,支持快捷键Ctrl+C。 保存 此图标用于以文本样式保存解释计划。 有关刷新、SQL预览和搜索栏的具体信息,请参见执行SQL查询。 刷新之后会重新执行Explain/Analyze查询并刷新当前页签显示的计划内容。 结果显示在“消息”页签中。 父主题: SQL终端管理
  • 定义分区 下表列出了各分区类型表支持的字段/选项: 表3 支持的字段/选项 字段/选项名 行分区 列分区 ORC分区 分区类型 按范围 按范围 按值 分区名 √ √ x 分区值 √ √ x 在“一般”页签中,如果“表存储方式”选择为“ROW”或“COLUMN”,则“分区类型”区域会显示“By Range”。如果“表存储方式”选择为“ORC”,则“分区类型”区域会显示“By Values”。 从“可用列”区域选择用于定义分区的列,单击“右向箭头”按钮,该列会移动到“分区列”区域。 如果“表存储方式”选择为“ROW”或“COLUMN”,则仅能选择一列用于分区。 如果“表存储方式”选择为“ORC”,则最多可选择四列用于分区。 最多可选择4列用于定义分区。 在“分区名称”中输入分区的名称。 单击“分区值”旁的“单击输入分区值”按钮,在“值”列中输入要对表进行分区的值,单击“确定”。 输入分区的所有信息后,单击“添加”。 支持对分区进行添加、删除、编辑、调整顺序等操作。 根据表中的要求更改分区顺序。要更改顺序,请选择所需的分区,然后单击“向上”或“向下”。 定义所有分区后,单击“下一步”。
  • 在“SQL终端”页签中加载多条SQL查询 单击“加载至SQL终端并关闭”按钮,可在“SQL终端”页签中加载所选查询,并关闭“历史执行SQL”对话框。 执行如下步骤在“SQL终端”页签中加载多条所选SQL查询: 选择多条所需查询。 单击。 这些查询会添加到“SQL终端”页签中光标所在位置。 如果作业出错时仍继续执行,则终端中的每条语句将作为定时任务依次运行。系统会在控制台上更新执行状态,在进度条中显示作业。当作业执行、进度条更新和控制台更新之间的时间差变得非常细微,则用户无法打开进度条去停止作业执行。此时,必须关闭SQL终端才能停止执行。
  • 创建用户/角色 多个用户可以使用同一数据库,为了方便管理,需要将用户进行分组。一个数据库角色代表一个或一组数据库用户。 在数据库中,用户和角色的概念类似。实际应用中,建议使用角色来进行权限管理而不是直接访问数据库。 用户:数据库用户的集合。这些用户与操作系统用户不同,可以为其他用户分配权限以访问数据库对象。 角色:根据用途的不同,可以将角色分为用户或用户组。角色是集群级别的定义,适用于集群中的所有数据库。
  • 锁定SQL查询 如果不希望Data Studio从“历史执行SQL”列表中自动删除某些查询,可锁定这些查询。最多可锁定50条查询。锁定的查询会显示在列表顶部。在“SQL历史记录数”中设置的值不会影响锁定的查询。有关SQL历史记录数的更多信息,请参见表1。 “历史执行SQL”窗口关闭后重新打开时,锁定的查询会出现在列表顶部。 执行如下步骤锁定SQL查询: 选择所需SQL查询,单击。 “锁定状态”列显示查询的锁定状态。
  • 不同日志级别类型 Data Studio.log文件中所显示的不同类型的日志级别如下: TRACE:相比DEBUG级别,TRACE级别提供更为详细的信息。 DEBUG:DEBUG级别指粒状信息事件,对调试应用程序最为有用。 INFO:INFO级别指着重显示应用进程的消息。 WARN:WARN级别指潜在的有害情况。 ERROR:ERROR级别指错误事件。 FATAL:FATAL级别指事件造成应用终止。 ALL:ALL级别指启用所有日志级别。 OFF:OFF级别指禁用所有日志级别和ALL级别相反。 如果用户输入无效的日志级别值,日志级别会设置为WARN。 如果用户未指定日志级别,日志级别会设置为WARN。
  • 日志消息描述 日志消息描述如下图所示: Data Studio.log文件大小达到最大值10000 KB时,系统会自动创建一个文件并另存为Data Studio.log.1。Data Studio.log中的日志将存储在Data Studio.log.1文件中。当Data Studio.log文件再次达到最大值,系统继续自动创建一个文件并另存为Data Studio.log.2。最新日志持续写入Data Studio.log文件。以此类推,此过程将一直持续,直到Data Studio.log.5文件达到最大值,该循环重新开始。Data Studio将删除最早的日志文件,即Data Studio.log.1。例如,Data Studio.log.5重命名为Data Studio.log.4,Data Studio.log.4重命名为Data Studio.log.3,以此类推。 如需启用服务器日志文件的性能日志记录功能,需启用配置参数log_min_messages,且设置为data/postgresql.conf配置文件中的debug1,即log_min_messages = debug1。
  • 调试函数/过程 断点用于暂停其所在行中的PL/SQL程序的执行,可用断点控制执行并调试过程。设置并启用断点后,PL/SQL程序会在该断点所在的行停止执行,此时用户可以进行其他调试操作。 设置或添加断点 Data Studio支持为某行设置或创建断点。 打开需要添加断点的函数/过程,双击行号字段左侧的断点标尺,设置断点,断点标志启用表示操作成功。如果函数在调试过程中不会间断或停止执行,则为其设置的断点未生效。 使用“断点”窗格 在“断点”窗格中可查看和管理已有断点。可从最小化窗口窗格中单击断点按钮打开“断点”窗格。 在“断点”窗格中,勾选断点复选框,单击“启用”、“禁用”或“移除”按钮,进行断点启用、禁用或者删除操作。也可双击行号字段左侧的断点标尺设置断点;双击断点图标,将断点删除。 在“PL/SQL Viewer”窗格,双击所需断点信息行,定位该断点。 “断点”窗格会列出每一个断点所在行的行号以及调试对象的名称。 禁用断点后,程序不会在该断点处暂停执行,但该断点仍会保留(以备将来启用)。 删除的断点无法恢复。 按下“Alt+Y”可复制“断点”窗格内容。 修改源代码 调试过程中,如果用户修改了从服务器获取的源代码,并继续进行调试,Data Studio会提示错误:建议刷新该对象,再次执行调试操作。 如果用户修改了从服务器获取的源代码,且在未设置断点的情况下执行或调试了该代码,Data Studio会显示服务器中源代码的执行结果。建议在进行调试或者执行前,进行刷新操作。 使用断点调试函数/过程 在要调试的行创建断点后,单击“调试”按钮或在“对象浏览器”中右键单击函数,选择“调试”。在弹出的“调试函数/过程”对话框中,输入参数信息。 如果没有输入参数,则“调试函数/过程”对话框不会弹出。 对于varchar和date数据类型,参数值需加半角单引号(');对于numeric数据类型,参数值可以不加半角单引号。要将参数值设为NULL,需输入NULL或null。 调试或执行函数或过程期间,相同参数的值会在下次操作中被直接使用。首次执行时,参数值为空,可根据需要输入参数值。单击“确定”,参数值将被缓存。下次查询时,执行/调试期间会显示上次缓存的相同参数的值。某一连接被删除后,缓存的所有参数值都会被清除。 调试过程中“调用堆栈”窗格会填充信息。 “变量”窗格显示当前的变量值。将鼠标悬停在函数/过程中的变量上,也会显示当前的变量值。“变量”窗格默认显示系统变量。必要时,用户可以屏蔽系统变量。按钮默认开启,即默认启用系统变量。 设置/展示变量 说明 设置NULL值 在“变量”窗格中双击一个变量值。 弹出对话框。 设置值为空。 设置字符串值 设置字符串值如下: 要设置为abc,则输入abc。 要设置为Master's Degree,则输入Master''s Degree。 要将变量设置为文本(NULL),在“变量”窗格中设置NULL。 设置Boolean值 Boolean值t或f上加单引号。将t设成一个boolean变量,则在Variable窗格中输入't'。 显示变量值 如果变量值是NULL文本,则显示为NULL。 如果变量值是NULL,则显示为空。 如果变量值为字符串,比如abc,则显示为abc。 调试函数/过程期间,在编辑器中右键单击变量,可将变量添加至“监视器”窗格。如果变量处于被监控状态,“监视器”窗格中的值会随“变量”窗格中值的变化而变。 在Data Studio中调试PL/SQl函数期间,将光标放在变量上方,则会显示该变量的信息。 终止调试 在工具栏中单击“终止调试”按钮或在“调试”菜单中选择“终端调试”。调试完成后,函数会继续正常执行,不会在任何断点暂停。 调试完成后,“结果”页签中显示函数执行结果,“调用堆栈”和“变量”窗格将被清除。 Data Studio支持在调试完成后,提交/回滚查询结果。右键单击执行函数的终端窗格,勾选“使用回滚进行调试”启用回滚功能。 如果启用了“使用回滚进行调试”选项,则调试后获取的函数执行结果不会保存在数据库中。 如果禁用了“使用回滚进行调试”选项,则调试后获取的函数执行结果被提交到数据库中。
  • 导出函数/过程DDL 可通过右键单击“导出DDL”导出该函数/过程定义。 在“对象浏览器”窗格中,右键单击所选函数/过程,选择“导出DDL”。 用户需自定义导出路径。如果需要将数据压缩,勾选“.zip”选项。 “Data Studio安全免责声明”必须勾选“我同意”才可以单击“确定”。用户可关闭安全免责声明,关闭后导出DDL时将不会再出现,详情请参见表1。 单击“确定”,右下角的状态栏会显示操作进度。 如果文件名包含Windows中文件名不支持的字符,则文件名的名称会与模式名称不同。 要执行该操作,需要MS Visual C Runtime文件(msvcrt100.dll)。详情请参阅故障处理。 “导出完成”对话框和状态栏显示已完成操作的状态。 表1 支持导出DDL的编码格式 数据库编码 文件编码 支持导出DDL UTF-8 UTF-8 是 GBK 是 LATIN1 是 GBK GBK 是 UTF-8 是 LATIN1 否 LATIN1 LATIN1 是 GBK 否 UTF-8 是
  • 控制执行 单步调试PL/SQL函数 调试执行函数时,可使用工具栏中的单步调试命令。通过进行单步控制,可逐行调试程序。如果进行单步操作时遇到断点,则该单步操作会停止,程序也会暂停执行。 “单步”是指一次执行一条语句。单步执行一条语句后,可以在其他调试窗口中查看执行结果。 一次最多可以弹出100个“PL/SQL Viewer”页签。如果打开的页签超过100个,则调用函数页签关闭。例如,如果已打开100个页签,且调试对象调用了新调试对象,则Data Studio会关闭调用函数并打开新的调试对象。 单步进入 在“调试”菜单中选择单步进入,可以逐条语句执行代码。 当单步跳入一个函数,Data Studio执行当前语句,然后进入调试模式,调试位置由左侧标尺区域中的箭头表示。如果执行语句调用另一个函数,Data Studio将单步跳入该函数。一旦函数中的所有语句执行完成,Data Studio将跳回其调用函数的下一语句。 单步进入(F7),进入下一语句如果按“继续”,PL/SQL代码执行将继续。 单步跳过 单步跳过与单步进入相同,除非调用了另一个函数,否则不会跳入该函数。该函数将运行,进入当前函数中的下一个语句。F8是单步跳过的快捷键。如果该调用函数内设置了断点,单步跳过将进入该函数,并命中该断点。 单步退出 子程序单步退出,继续该函数的执行,在该过程返回其调用函数后,暂停执行,确定该函数的剩余部分无需调试后,可单步退出该段函数。然而,如果该函数其余部分设置了断点,在返回调用函数前,该断点将被命中。 单步跳过和单步退出过程都会执行函数。单步退出操作的快捷键是“Shift+F7”。 继续执行 调试进程在某一位置停止时,可在“调试”菜单中选择“继续”(F9)继续PL/SQL函数执行。 查看调用堆栈 “调用堆栈”窗格展示调用过程时的过程链。可从最小化窗口窗格中打开“调用堆栈”窗格。最近的过程在顶部,最早的在底部,每个程序名的末尾是该过程的当前行号。 双击“调用堆栈”窗格中的函数名,通过“调用堆栈”窗格在多个函数中导航。
  • 创建函数/过程 在“对象浏览器”窗格中,右键单击待创建PL/SQL过程的指定模式下的“函数/过程”,按照要求选择“创建函数”、“创建SQL函数”、“创建过程”或“创建C函数”。 例如右键单击“函数/过程”,弹出如下菜单: Data Studio在新页签中显示所选模板。 完成添加函数/过程后,可选择“编译”按钮或在页签空白处右键单击选在“编辑”选项编译该函数/过程。 编译运行成功后会在“对象浏览器”中显示新函数/过程。 过程名称旁的星号(*),表示该过程不被编译或添加到“对象浏览器”。 刷新(按下“F5”)后,“对象浏览器”中会显示新添加的调试对象。 C函数不支持调试操作。 弹出消息显示已完成操作的状态。状态栏将不显示此操作的状态。
  • 编辑函数/过程 在“对象浏览器”中双击所需过程/函数或SQL函数,或右键单击函数/过程或SQL函数并选择“查看源”。 “PL/SQL Viewer”页签显示所选函数/过程或SQL函数。 用户必须刷新“对象浏览器”才能查看最新DDL。 拥有相同模式、名称和输入参数的函数/过程或SQL函数一次只能打开一个。 编辑或更新后,可以编译并执行该PL/SQL程序或SQL函数。 在编译前若执行函数/过程或SQL函数,会显示一条“改变源代码”的提示。 单击“是”,编译并执行PL/SQL函数/过程。“消息”对话框显示已完成操作的状态。 编译函数/过程或SQL函数后,刷新“对象浏览器”(按下“F5”)查看更新后信息。
  • 支持序列DDL Data Studio支持用户进行显示序列DDL和导出序列DDL操作,包括“显示DDL”,“导出DDL”,“导出DDL和数据”。 在“对象浏览器”窗格中,右键单击序列名,显示菜单选项。 选择“显示DDL”选项查看DDL语句。 选择“导出DDL”选项导出DDL语句。 选择“导出DDL和数据”选项导出DDL和select语句。 如下图所示: 只有序列所有者或系统管理员,或具有序列的select权限的用户,才能进行上述操作。
  • 数据校验流程 DataCheck流程如下: 下载DataCheck的工具包到Linux或Windows服务器并解压。 执行加密命令对源端/目标端数据库登录密码进行加密。 配置dbinfo.properties文件,包含源数据库和目标数据库的相关连接信息以及函数开关信息。 编辑check_input.xlsx文件,输入schema、源数据库表名和dws表名以及校验级别等参数。 执行DataCheck启动命令进行数据校验,校验结果保存在check_input_result.xlsx中。 图1 DataCheck流程图
共99354条