返回首页

gbase数据、南大通用产品文档:GBase8c系统日志

更新日期:2024年09月11日

GBase 8c 数据库运行时,集群和节点安装部署时产生的日志统称为系统日志。如果在
数据库运行时发生故障,
可以通过这些系统日志及时定位故障发生的原因,
根据日志内容制
定恢复GBase 8c 的方法。
日志文件存储路径
数据库节点的运行日志放在“/home/gbase/gbase8c/log/pg_log”中各自对应的目录下。
OM GBase 8c 安装卸载时产生的日志放在“/home/gbase/gbase8c/log/om”目录下。
日志文件命名格式
数据库节点运行日志的命名规则:
postgresql-创建时间.log
默认情况下,每日0 点或者日志文件大于16MB 或者数据库实例(数据库节点)重新
启动后,会生成新的日志文件。
CM 的运行日志的命名规则:

cm_agent 的日志:
cm_agent-创建时间.log/cm_agent-创建时间-current.log/system_call-创建时
间.log/system_call-创建时间-current.log

cm_server 的日志:
cm_server-创建时间.log/cm_server-创建时间-current.log/key_event-创建时
间.log/key_event-创建时间-current.log

om_monitor 的日志:
om_monitor-创建时间.log/om_monitor-创建时间-current.log
其中,
不带current 标识符的文件是历史日志文件,
带current 标识符的文件是当前日志
文件。最初调用进程时,进程会先创建一个带current 标识符的日志文件,当该日志文
件的大小超过16MB 时,会将当前日志文件重命名为历史日志文件,并以当前时间生
成新的当前日志文件。

GBase 8c 管理员指南
南大通用数据技术股份有限公司
122
日志内容说明
数据库节点每一行日志内容的默认格式:
日期+时间+时区+用户名称+数据库名称+会话ID+日志级别+日志内容
cm_agent、cm_server、om_monitor 每一行日志内容的默认格式:
时间+时区+会话ID+日志内容
SYSTEM_CALL 系统调用日志,
记录CM_AGENT 在运行过程中调用工具命令的情况。
key_event 每一行日志内容的默认格式:
时间+线程号+线程名: 关键事件类型+仲裁对象实例ID+仲裁细节

由于每个数据库供应商支持的 SQL 数据类型之间存在差异,JDBC API 在
类 java.sql.Types 中定义了一组通用 SQL 数据类型。
使用这些 JDBC API 数据类型来引用
Java™ 程序中的通用 SQL 数据类型,这些程序使用 JDBC API 连接到 GBase 8s 数据库。
下表显示了每个 JDBC API 数据类型映射的 GBase 8s 数据类型。

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

JDBC API 数据类型
GBase 8s 数据类型
BIGINT
INT8 、BIGINT 、BIGSERIAL
BINARY
BYTE
BIT 1
BOOLEAN
REF
不支持
CHAR
CHAR(n)
DATE
DATE
DECIMAL
DECIMAL
DOUBLE
FLOAT
FLOAT
FLOAT2
INTEGER
INTEGER
LONGVARBINARY
BYTE 或 BLOB
LONGVARCHAR
TEXT 或 CLOB
NUMERIC
DECIMAL
NUMERIC
MONEY
REAL
SMALLFLOAT
SMALLINT
SMALLINT
TIME
DATETIME HOUR TO SECOND2
TIMESTAMP
DATETIME YEAR TO FRACTION(5)3
TINYINT
SMALLINT
VARBINARY
BYTE
VARCHAR
VARCHAR(m,r)
BOOLEAN
BOOLEAN
SMALLINT
SMALLINT
1 在 Java 1.4 中,java.sql.Types.BOOLEAN 映射到 BOOLEAN。
2 这个映射是 JDBC 兼容的。
通过将 IFX_SET_FLOAT_AS_SMFLOAT 环境变量设置为 1 ,
可以将 JDBC FLOAT 数据类型映射到 GBase 8sSMALLFLOAT 数据类型以便向后兼容。
3 GBase 8s DATETIME 类型非常严格,不可互换。有关更多信息,请参阅 字段长度和
DATETIME 数据。
在扩展类型和 Java 和 JDBC 类型之间映射数据类型

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

下表列出了 GBase 8s 中扩展的数据类型和对应 Java™ 和 JDBC 的类型之间的映射。
JDBC 类型
Java 对象类型
GBase 8s 类型
java.sql.Types.LONGVARCH
AR
java.sql.String
java.io.inputStream
LVARCHAR
IfxTypes.IFX_TYPE_LVARCHA
R
java.sql.Types.JAVA_OBJE
CT
java.sql.SQLData
Opaque 类型
IfxTypes.IFX_TYPE_UDTFIXE
D
IfxTypes.IFX_TYPE_UDTVAR
java.sql.Types.LONGVARBI
NARY
java.sql.Types.BLOB
java.sql.Blob
java.io.inputStreambyte[]
BLOB
IfxTypes.IFX_TYPE_BLOB
java.sql.Types.LONGVARCH
AR
java.sql.Types.CLOB
java.sql.Clob
java.io.inputStream
java.lang.String
CLOB
IfxTypes.IFX_TYPE_CLOB
java.sql.Types.LONGVARBI
NARY
java.sql.Types.BLOB
java.io.inputStream
java.sql.Blob byte[]
BYTE
IfxTypes.IFX_TYPE_BYTE
java.sql.Types.LONGVARCH
AR
java.sql.Types.CLOB
java.io.InputStream
java.sql.Clob
java.sql.String
TEXT
IfxTypes.IFX_TYPE_TEXT
java.sql.Types.JAVA_OBJE
CT
java.sql.Types.STRUCT
java.sql.SQLData
java.sql.Struct
命名行
IfxTypes.IFX_TYPE_ROW
java.sql.Types.STRUCT
java.sql.Struct
未命名行
IfxTypes.IFX_TYPE_ROW
java.sql.Types.ARRAY
java.sql.Types.OTHER
java.sql.Array
java.util.LinkedList
java.util.HashSet
java.util.TreeSet
set, multiset
IfxTypes.IFX_TYPE_SET
IfxTypes.IFX_TYPE_MULTISE
T
java.sql.Types.ARRAY
java.sql.Types.OTHER
java.sql.Array
java.util.ArrayList ja
va.util.LinkedList
LIST
IfxTypes.IFX_TYPE_LIST
Java boolean 对象可以映射到 GBase 8s smallint 数据类型或 GBase 8s boolean 数据类型。
GBase 8s JDBC Driver 尝试根据列类型映射它。
但是,
在例如 PreparedStatement 主机变量的
情况中,GBase 8s JDBC Driver 不会存取列类型,因此,映射在一定程度上是受限制的。有
关数据类型映射的详细信息,请参阅PreparedStatement.setXXX() 扩展的数据类型映射。

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

C 不透明类型和 Java 之间的数据类型映射
要使用 Java™ 创建不透明类型,
您可以使用 UDT 和 UDR Manager 工具。
有关更多信息,
请参阅 与不透明数据类型一起使用。
所有的不透明类型都存储在 C 结构的数据库服务器表中,
该结构由不透明类型中定义的各
种 DataBlade API 类型组成。(有关更多信息,请参阅《GBase 8s DataBlade API 程序员指
南》。)
下表列出了 DataBlade API 类型与相应的 Java 类型的映射。
DataBlade API 类型
Java 类型
MI_LO_HANDLE
BLOB 或 CLOB
gl_wchar_t
String
mi_boolean
boolean
mi_char
String
mi_char1
String
mi_date
Date
mi_datetime
TimeStamp
mi_decimal
BigDecimal
mi_double_precision
double
mi_int1
byte
mi_int8
long
mi_integer
int
mi_interval
不支持
mi_money
BigDecimal
mi_numeric
BigDecimal
mi_real
float
mi_smallint
short
mi_string
String
mi_unsigned_char1
String
mi_unsigned_int8
long
mi_unsigned_integer
int
mi_unsigned_smallint short

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

DataBlade API 类型
Java 类型
mi_wchar
String
C 结构可能包含填充字节。
GBase 8s JDBC Driver 会自动跳过这些填充字节,
以确保下一个
数据成员正确对齐。因此,您的 Java™ 对象不必关心自身的对齐。

PL/SQL允许您定义自己的异常。与预定义异常不同,必须声明用户定义的异常,然后
才能使用RAISE语句或RAISE_APPLICATION_ERROR显式抛出异常。其中
RAISE_APPLICATION_ERROR允许您将错误消息与用户定义的异常关联起来。