返回首页

gbase数据、南大通用产品文档:GBase8s表管理审计

更新日期:2024年09月11日

双击“审计查看”-“表管理审计”节点,会列出“创建表”

“删除表”
、 “修改表”

“索
引维护”4个节点,审计管理员可以对这4 类表管理操作进行审计。

图:表管理审计

因“创建表”

“删除表”
、 “修改表”

“索引维护”审计方式类似,下面以“创建表”进
行审计为例,介绍如何查看和维护“表管理类”审计日志。

本部分中的示例说明将 XML 文档转换为可接受插入至 GBase 8s 数据库列内的格式。
XMLtoString() 示例
下列示例将三个 XML 文档转换为字符串,然后,使用这些字符串作为 SQL INSERT 语
句中的参数值:
PreparedStatement p = conn.prepareStatement("insert into tab
values(?,?,?)");
p.setString(1, UtilXML.XMLtoString("/home/file1.xml"));

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 98 -
p.setString(2, UtilXML.XMLtoString("http://server/file2.xml");
p.setString(3, UtilXML.XMLtoString("file3.xml");
下列示例将一个 XML 文件插入至 LVARCHAR 列。在此示例中,tab1 是以 SQL 语句创
建的表:
create table tab1 (col1 lvarchar);
代码为:
try
{
String cmd = "insert into tab1 values (?)";
PreparedStatement pstmt = conn.prepareStatement(cmd);
pstmt.setString(1, UtilXML.XMLtoString("/tmp/x.xml"));
pstmt.execute();
pstmt.close();
}
catch (SQLException e)
{
// Error handling
}
XMLtoInputStream() 示例
下列示例将一个 XML 文件插入至 text 列。在此示例中,以 SQL 语句来创建表 tab2:
create table tab2 (col1 text);
代码为:
try
{
String cmd = "insert into tab2 values (?)";
PreparedStatement pstmt = conn.prepareStatement(cmd);
pstmt.setAsciiStream(1, UtilXML.XMLtoInputStream("/tmp/x.xml"),
(int)(new File("/tmp/x.xml").length()));
pstmt.execute();
pstmt.close();
}
catch (SQLException e)
{
// Error handling
}

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 99 -

语法
./orato8a parameter_1 parameter_2 …… parameter_n
说明

parameter_1:orato8a 的参数,一个orato8a 后可以使用多个参数,参数可以使用全称
格式,也可以使用简称格式;

全称格式:--parameter_1=参数值,“=”两边不能有空格;

简称格式:-parameter_1 参数值,简写格式时,参数和参数值之间不能有空格;

执行orato8a 的用户,必须是可以访问oracle 数据库的用户。
示例

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
525
orato8a 工具如何从oracle 中抽取数据,在本示例中,首先登录oracle,然后写一条
查询SQL,该SQL 在库中查询表lineorder 中的10 条数据;退出oracle,使用orat
o8a 工具抽取查询SQL 的结果数据,以验证orato8a 抽取数据的功能,具体如下:
$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Thu Sep 26 16:37:41 2013
Copyright (c) 1982, 2009, Oracle.
All rights reserved.
SQL> conn ct1/ct1@//192.168.103.79/orcl
Connected.
SQL> CREATE TABLE lineorder_test (
2
lo_orderkey
number(18),
3
lo_linenumber
number(18)
4
);
Table created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(1,1);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(1,2);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(1,3);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(2,1);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(2,2);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(2,3);
1 row created.

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
526
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(2,4);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(3,1);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(3,2);
1 row created.
SQL> INSERT INTO lineorder_test (lo_orderkey,lo_linenumber) VALUES(3,3);
1 row created.
SQL> COMMIT;
COMMIT complete.
SQL> SELECT LO_ORDERKEY, LO_LINENUMBER FROM lineorder_test;
LO_ORDERKEY LO_LINENUMBER
----------- -------------
1
1
1
2
1
3
2
1
2
2
2
3
2
4
3
1
3
2
3
3
10 rows selected.
然后退出oracle,使用orato8a 抽取上面查询的数据。
$ ./orato8a --user='ct1/ct1ct1@orcl' --query="select LO_ORDERKEY, LO_LINENUMBER
FROM lineorder_test" --file='/opt/orato8a_output/lineorder.txt ' --field=";" --format=3
export columns: 2
export rows: 10
export time: 0 sec
process ok!

GBase 8a MPP Cluster 产品手册
4 管理员指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
527
$ cat /opt/orato8a_output/lineorder.txt
1;1
1;2
1;3
2;1
2;2
2;3
2;4
3;1
3;2
3;3
导出的数据文件中的内容与在oracle 系统中查询的结果一致。