Altibase管理培训 管理篇

83
ALTIBASE 管管管管 管管管
  • Upload

    -
  • Category

    Documents

  • view

    1.119
  • download

    8

Transcript of Altibase管理培训 管理篇

Page 1: Altibase管理培训 管理篇

ALTIBASE 管理培训管理篇

Page 2: Altibase管理培训 管理篇

CONTENTS1. Altibase Architecture2. 事务管理3. Altibase Utilities4. 数据字典5. 对象及权限管理6. 监控

Page 3: Altibase管理培训 管理篇

ALTIBASE ArchitectureALTIBASE Architecture1. ALTIBASE 特点2. ALTIBASE 运行3. ALTIBASE 结构4. 表空间5. 日志系统6. 目录结构

Page 4: Altibase管理培训 管理篇

关系型数据模型 数据的物理独立性和逻辑独立性 数据读取的方便性和多样性 数据库设计的柔韧性 消除冗余数据,消除数据间的不一致性

多线程结构 多版本并发控制 (MVCC) 接口

支持 SQL 92 标准 , ODBC, JDBC, C/C++ Precompiler

事务管理 Logging Buffer Pool

ALTIBASE 特点

Page 5: Altibase管理培训 管理篇

双写缓冲 模糊乒乓检查点 存储过程 死锁检测 表压缩 数据库复制 客户端 /服务器架构

ALTIBASE 特点

Page 6: Altibase管理培训 管理篇

磁盘 접근 없이 内存에 직접 접근하여 데이터 읽기 연산 수행 데이터 갱신은 内存에서 직접하고 갱신 내용을 Disk 의 Logfile 에 수록 때때로 변경된 内存 내의 데이터페이지를 Disk 의 Datafile 에 반영

执行读数据操作时,直接访问内存,不访问磁盘 执行更新数据操作时,直接在内存中进行,将数据更新写入磁盘日志 在特定时间(检查点)将发生改变的数据页写入磁盘数据文件

启动时数据库就常驻于内存中并且在内存中对数据库进行操作的数据库管理系统启动时数据库就常驻于内存中并且在内存中对数据库进行操作的数据库管理系统

Main Memory

Memory Memory Backup FilesBackup Files

Logfile nLogfile 1

DBS LOGS

Log anchor

Altibase

Database

StartupStartupCheckpointingCheckpointing LoggingLogging

BufferBuffer

Disk Tables Space

Memory Memory TableSpaceTableSpace

ALTIBASE 运行

Page 7: Altibase管理培训 管理篇

ALTIBASE 4 Server Thread Structure

......

......

ALTIBASE 结构 – 线程结构

Page 8: Altibase管理培训 管理篇

ALTIBASE 4 逻辑结构

버퍼

Hybrid MM DBMS

디스크

데이터

메모리데이터

buffer

Hybrid MM DBMS

磁盘数据

内存数据

ALTIBASE 4

Query Processor

Storage Manager

ALTIBASE 4

Query Processor

Storage ManagerInterface Layer

Application Layer

Transaction Layer

Index Layer

Record Layer

Page Layer

Recovery Layer

Resource Layer

Storage Manager

Concurrency Control

Recovery Manager

Query Processor

Query Optimizer

Query Executor

Storage Manager

Concurrency Control

Recovery Manager

Storage Manager

Concurrency Control

Recovery Manager

Query Processor

Query Optimizer

Query Executor

Query Processor

Query Optimizer

Query Executor

Graph

Manager Predicate

ManagerPlanTree

Manager

PlanNodeMath.

ManagerRecord &

TempTable

ALTIBASE 结构 – 逻辑结构

Page 9: Altibase管理培训 管理篇

ALTIBASE 4 物理结构

Physical Memory

Buffer

Disk Tables Space(data, temp, undo)

LogFilesLog Anchor

Memory Tables SpaceMemory Tables Space

Memory Data Memory Data Backup FileBackup File

ALTIBASE 结构 – 物理结构

Page 10: Altibase管理培训 管理篇

ALTIBASE 4 数据文件 Structure

DATABASE File SystemDATABASE File System

TABLESPACE A TABLESPACE B TABLESPACE C

DATAFILE 1

1 DATAFILE 2

2 DATAFILE 3

DATAFILE 4

4 DATAFILE 5

5 DATAFILE 6

DATAFILE 7

7 DATAFILE 8

8 DATAFILE 9

ALTIBASE 结构 – 数据文件结构

Page 11: Altibase管理培训 管理篇

表空间结构

Tablespace

Table Index

Extent

Used Page

Free Page

Segment

表空间

Page 12: Altibase管理培训 管理篇

表空间分类 内存表空间 (SYS_TBS_MEMORY)

- 数据字典 , 内存表 数据表空间

- 系统表空间 (SYS_TBS_DATA)- 用户表空间

Undo 表空间 (SYS_TBS_UNDO)- 为了多版本并发控制,存储变更前的映像

临时表空间- 系统临时表空间 (SYS_TBS_TEMP)- 用户临时表空间

扩展名 .dbf

表空间

Page 13: Altibase管理培训 管理篇

段 (Segment)分配表或索引的单位逻辑上,一个表或索引是一个段

段的种类Table Segment

一个表的所有数据属于一个 table segmentIndex Segment

一个索引的所有数据属于一个 index segmentUndo Segment

属于一个 undo tablespaceTSS Segment

用于内部 TSS(Transction Status Slot) 管理,属于 undo tablespace

表空间

Page 14: Altibase管理培训 管理篇

Extent 存储数据对象所需的资源,分配页的单位 1 个 extent 由 8 个 page 组成( 256KB )

Page 存储表和索引的最小单位( 32KB ) I/O 的最小单位

Physical header(type, extent RID, page ID, free size, free offset)

Logical header(free slot list)

record record

表空间

Page 15: Altibase管理培训 管理篇

保证数据库的连续性

日志文件 (logfile) 为了处理事务异常,记录 system recovery 用 log record 文件名 : logfile** (** 为 logfile 的序列号 )

日志控制文件 (loganchor) 存储服务器运营所需的数据

表空间信息 , 文件位置 , Checkpoint 关联信息 为了正常启库,文件内容必须有效 loganchor 文件共有 3 个

表空间

Page 16: Altibase管理培训 管理篇

ALTIBASE 4 Directory Structure

$ALTIBASE_HOME$ALTIBASE_HOME

促出监控存储过程文件

bin

conf

lib

include

msg

dbs

logs

sample

audit

trc

install

admin

arch_logs 存储归档日志文件

存储核对数据库不一致信息的工具和相关例子

存储 ALTIBASE 执行文件

存储 ALTIBASE 参数以及 license

存储 ALTIBASE 数据文件 ( 默认值 )

存储应用程序所需的头文件

存储 makefile 所需的 macro 参数文件存储应用程序所需的库文件

存储 logfile 和 loganchor存储包括报错文件等信息

存储应用程序 sample

存储 ALTIBASE 运行状态日志

目录结构

Page 17: Altibase管理培训 管理篇

事务管理事务管理1. 事务的概念2. 事务持久性 3. 事务持久性的管理政策4. 锁管理5. 多版本并发控制

Page 18: Altibase管理培训 管理篇

事务的定义 事务 (Transaction) 是作为单个逻辑工作单元执行的一系列

SQL 操作

事务的特点 原子性 (Atomicity) 一致性 (Consistency) 隔离性 (Isolation) 持久性 (Durability)

命令语 (Statement) 事务中执行的各个 SQL 语句

事务的概念

Page 19: Altibase管理培训 管理篇

提交 事务的提交 (Commit) 为把事务内执行的所有 SQL 的结果永久反

映到数据库中并结束事务的演算

回滚 事务执行过程中发生异常无法往下进行时回滚目前为止执行的所有

SQL ,即回到事务执行前的数据库状态

保存点 一个长时间事务分几段管理时,可以在开始部分明示保存点

(Savepoint).

事务的概念

Page 20: Altibase管理培训 管理篇

事务的持续性 数据库中一旦提交 (commit) 成功,不管数据库的变更内容是否已经完全反映 (flush) 到磁盘上相应的数据文件,系统故障后都能保证已经提交的内容。

数据库管理系统通过日志 (log) 管理事务的持久性。 日志的记录发生磁盘 I/O ,并其磁盘 I/O 瓶颈影响事务的处理性能。

事务的持久性和事务的处理性能之间是安全性和性能互相冲突的关系。

事务的持久性

Page 21: Altibase管理培训 管理篇

Durability Level Altibase 事务的 durability level 分为 0~5 , Altibase 版本

4 支持 2-5 level。

Durability Level 设置 altibase.properties 文件中的 [TRANSACTION_DURABILITY_

LEVEL] 参数设置 durability level。 数据库启动时通过此参数设定的值来设置持久性,而且数据库运

行中不能改变。

事务的持久性管理政策

Page 22: Altibase管理培训 管理篇

MVCC ALTIBASE 使用多版本并发控制方法 (MVCC, Multi-Version

Concurrency Control) MVCC 意味着当一条 DML 对一条记录执行操作的时候,在保留原来记录的同时,要提供另一个副本用于执行 DML 操作。这项技术保证了在有一个事务不会因为另一个更新事务的操作而访问到不一致的资料,提供了对于数据库的事务隔离性的保障。

多版本控制 (MVCC)

Page 23: Altibase管理培训 管理篇

GAMESTAR 34

TX1Transaction X

ModifyRead

Exclusive Mode

TX2TX3 TX4 TX5 TX

6

SVCC(Single Version Concurrency Control)

变更操作时,需获得行级锁,所以读 /写操作之间发生冲突,导致复杂事务环境下的性能下降。

MVCC(Multi Version Concurrency Control)

变更操作时,生成新版本记录再获得所,所以读 /写操作之间不发生冲突,并保证复杂事务环境下的高性能。

GAMESTAR 34

Transaction 1

Transaction 2

ModifyRead

Exclusive ModeFOREVER 34

多版本控制 (MVCC)

Page 24: Altibase管理培训 管理篇

内存表 : Out-place , 磁盘表 : In-place - 内存表:新的记录 (version) 以新的 RID 存储的 Out-place 结构 保证高性能,但数据页的实际利用率可能下降,而且特定记录的 versioning 大于设定的参数值, 就会自动转换为 In-place Update - 磁盘表:变更的字段在 Undo 表空间中以 Undo log 记录,并且新的记录直接覆盖原记录的 In-place 结构

GAMESTAR

FOREVER

Old

New

Out-place (RID 变化 )Data PageData Page

FOREVERNew

In-Place(RID 不变 )Data PageData Page

GAMESTAR

Undo AreaUndo Area

Old

Garbage Collection 对于同一个记录产生的多个版本,事务一旦被提交,则只留下最新的有效版本,其他的版本被垃圾回收线程 删除,并这些无效版本所占的内存空间被释放而且可再利用。

多版本控制 (MVCC)

Page 25: Altibase管理培训 管理篇

ALTIBASE UtilitiesALTIBASE Utilities1. ISQL2. ILOADER3. AEXPORT4. SHMUTIL

Page 26: Altibase管理培训 管理篇

通过 iSQL 工具连接 ALTIBASE 数据库并执行 SQL 和其他命令语获取或修改数据库相关信息。 开始 /结束数据库 连接 /断开数据库 查询数据库对象信息 使用 SQL 管理数据库 为用户提供便利

ISQL

Page 27: Altibase管理培训 管理篇

iSQL 环境变量 ISQL_CONNECTION TCP/IP UNIX DOMAIN IPC ISQL_BUFFER_SIZE 建议与 CM_BUF_SIZE 一样 ALTIBASE_DATE_FORMAT ISQL_EDIT

iSQL 的构成 glogin.sql

是一个全局脚本,影响 iSQL 连接属性。 生成于 $ALTIBASE_HOME/conf

ISQL

Page 28: Altibase管理培训 管理篇

使用方法 isql [-S server_name] [-U user_id] [-P password]

[-PORT port_no] [-NLS nls_use][-F infile_name] [-O outfile_name] [-H] [-V] [-SILENT][-SYSDBA]

命令选项中缺省 -S, -U, -P ,则打印相关提示信息。 .

使用 sysdba 选项连接数据库时,根据数据库的 property 设置的 port 连接,所以 – sysdba 和– s, -port 不能同时使用。

ISQL

Page 29: Altibase管理培训 管理篇

SHUTDOWN(normal, immedate, abort)ALTIBASE 结束

STARTUP(pre-process, process, control, meta, service)

ALTIBASE 开始ALTIBASE 开始 /结束

EXIT;QUIT;

结束

iSQL>prompt

$ isql [option]开始

iSQL 开始 /结束

命 令 语种 类分 类

SELECT * FROM V$SEQ;查看 sequence

DESC samp;查看表结构

SELECT * FROM TAB;查看表目录

SELECT * FROM V$TAB;查看性能试图

查询数据库对象信息

DISCONNECT;断开连接

CONNECT user1/pass1 [AS sysdba];连接其他用户数据库连接 /断开

ISQL – 命令语

Page 30: Altibase管理培训 管理篇

命 令 语种 类分 类

2ED /2 ED

ED filename[.sql]

ED

编辑 SQL

LOAD abc.sql;SQL 的 load

SAVE abc.sql;把 iSQL buffer 中的SQL 以文件存储

@@ file_name;(脚本中)

@ file_name;

START file_name;

sql script 的执行

SPOOL OFF;

SPOOL filename;形成文件

文件管理

ISQL – 命令语

Page 31: Altibase管理培训 管理篇

命 令 语种 类分 类

SET TERM ON; SET TERM OFF;

脚本文件执行结果与否

SET FOREIGNKEYS ON; SET FOREIGNKEYS OFF;

foreign key 信息

SET TIMING ON;SET TIMING OFF;

SQL 执行时间

SET COLSIZE N;;select 结果的字段大小

SET HEADING ON;SET HEADING OFF;

是否有 select 结果 header

SET PAGESIZE 10;select 结果的 Row 模式

SET LINESIZE 100;显示 select 结果的行大小

结果显示

ISQL – 命令语

Page 32: Altibase管理培训 管理篇

命 令 语种 类分 类

HELP;HELP INDEX;HELP EXIT;

帮助

/* comment */-- comment

注释

!Shell 命令执行

2/

/反复执行

HISTORY;H;

history

方便性

ISQL – 命令语

Page 33: Altibase管理培训 管理篇

iLoader 是一个用于数据的上传和下载的 Altibase 辅助软件。

数据以表为单位下载到文件,每个表需要相应的表格格式文件 (FORM FILE)。

iLoader 主要用于数据库的迁移以及以表为单位的备份,不存储数据库的对象信息,所以备份时注意这点。

iLoader 包含于产品包,其执行文件在 $ALTIBASE_HOME/bin 下。

ILOADER – 介绍

Page 34: Altibase管理培训 管理篇

表格格式文件 表格格式文件是一种规定怎样上传 /下载表和列的说明书,

不包括表的约束条件。可以加 where 条件指定上传部分行和列。

数据导出 数据由表导出到文件

数据导入 数据从文件传送入表

ILOADER – 功能

Page 35: Altibase管理培训 管理篇

iloader { in | out | formout | structout | help } [-T table_name] [-d datafile] [-f formatfile] [-F firstrow] [-L lastrow] [-t field_term] [-r row_term] [-U|-u login_id] [-P|-p password] [-S|-s servername] [-mode mode_type] [-commit commit_unit] [-bad badfile] [-log logfile] [-e enclosing] [-array count] [-replication true/false] [-noexp]

ILOADER – 使用方法

Page 36: Altibase管理培训 管理篇

表格格式文件的生成iLoader> formout -T employee -f employee.fmtiLoader> exitshell> lsemployee.fmt

数据下载iLoader> out -f employee.fmt -d employee.datDATE FORMAT : YYYY/MM/DD HH:MI:SS .. Total 20 record download DOWNLOAD: 56936iLoader> exitshell> lsemployee.dat employee.fmt

数据上传iLoader> in -f employee.fmt -d employee.dat -mode replaceDATE FORMAT : YYYY/MM/DD HH:MI:SS UPLOAD: 13880 Load Count : 20

ILOADER – 执行例子

Page 37: Altibase管理培训 管理篇

iloader [-H] [-S server_name] [-U user_id] [-P password][-PORT port_no] [-SILENT] [-NST]

-H 帮助 .-S server_name server_name 或 IP 地址-U user_id 数据库用户名-P password 密码-PORT port_no 远程数据库端口号-SILENT silent 模式,是否显示 Copyright 等信息-NST nst 模式,是否现实 elapsed time等

ILOADER – 连接远程数据库

Page 38: Altibase管理培训 管理篇

SEQUENCE 用户可通过修改表格格式文件来将序列应用在表 /列上,从而保障序列号的唯一性。 为了修改表格格式文件,需将下列语句加在表格文件头 。 SEQUENCE sequence_name column_name [ NEXTVAL | CURRVAL ] Nextval 是虚列的缺省值,纵列数最大为 8。

例子 - 创建表和序列 iSQL> CREATE TABLE seqTable( num INTEGER, name VARCHAR(30)); iSQL> CREATE SEQUENCE seq1 START WITH 30 INCREMENT BY 2 MINVALUE 0

NOMAXVALUE; 表格格式文件生成以及追加序列 iLoader> formout -T seqTable –f seqTable.fmt shell> vi seqTable.fmt SEQUENCE seq1 NUM <- 修改部分 table seqTable{ NUM integer; NAME varchar (30);} 数据上传 iLoader> in -f seqTable.fmt -d seqTable.dat -mode replace

ILOADER – 应用

Page 39: Altibase管理培训 管理篇

DATE FORMAT 数据类型为日期类型时,用户可将 DATEFORM 语句加在 FORM 文件结尾, 以特定格式上传或下载。

默认值为 DATEFORM YYYY/MM/DD HH:MI:SS 用户可以采用引号(‘和’)来自定义新的日期格式, 不分大小写 。 可以通过设定参数 ILO_DATEFORM来设定 DATEFORM , 如 Born, Korn, 或 Bash Shell 的情况 export ILO_DATEFORM='YYYY-MM-DD‘ 可以指定每个字段的日期类型,如:

table t1{I1 integer;I2 date “YYYY-MM-DD”; <- 修改部分I3 date;I4 date “YYYY/MM/DD HH:MI:SS SSSSSS”; <- 修改部分}DATEFORM YYYY/MM/DD HH:MI:SS

ILOADER – 应用

Page 40: Altibase管理培训 管理篇

条件 在表格格式文件最后加上 where 条件,指定上传部分数据。 为了高性能,可加上 HINT。 DOWNLOAD CONDITION 之后,“ ”里添加条件。 DOWNLOAD CONDITION " ……… “ 为了确认是否正常运行,执行时可加上 ‘ -displayquery’

语句 DOWNLOAD CONDITION "Where_conditions_clause " [HINT "hint_string"] Where_conditions_clause : SELECT 的 WHERE 条件语法相同。 hint_string : SELECT 的 HINT 语法相同。

例子shell> vi table1.fmt table table1{T1 integer;T2 date;}DATEFORMYYYY/MM/DD HH:MI:SSDOWNLOAD CONDITION “where t1 > 2” <- 修改部分

ILOADER – 应用

Page 41: Altibase管理培训 管理篇

ALTIBASE 数据库之间同步 (migration) 的工具。

把数据库的逻辑结构以 SQL 脚本存储,并把所有的数据以文件形式下载到磁盘,用于 ALTIBASE 之间的数据同步,也用于离线备份。

从数据库取出数据库用户,用户权限,表空间,表,约束条件,索引,视图,存储过程,复制对象。

不同 ALTIBASE 版本,不同操作系统之间同步数据时,可有效使用。

AEXPORT

Page 42: Altibase管理培训 管理篇

AEXPORT 执行后,自动生成以下脚本。 SQL 脚本文件:

SYS_CRT_USER.sql : 生成用户 SYS_PRIV_USER.sql : 用户权限 SYS_CRT_TBS.sql : 生成表空间 SYS_CRT_REP.sql : 复制对象 ALL_CRT_VIEW.sql : 生成视图 ALL_CRT_PROC.sql : 生成存储过程 { 用户名 }_CRT_TBL.sql : 生成表 { 用户名 }_CRT_INDEX.sql : 生成索引,包括主键 { 用户名 }_CRT_FK.sql : 生成外键 (Foreign Key)

执行脚本文件: run_il_in.sh : 数据上传脚本 run_il_out.sh : 数据下载脚本 run_is.sh : 数据库对象生成执行脚本 run_is_fk.sh : 生成外键执行脚本 run_is_index.sh : 生成索引执行脚本

AEXPORT 生成的文件都是文本文件,用户可根据需要修改,提供方便性。

AEXPORT – 功能

Page 43: Altibase管理培训 管理篇

语句aexport { -h | [ -S | -U | -P | -port ] }

参数-h : 帮助-S : server_name 或 IP 地址-U : 数据库用户名-P : 密码-port : 数据库端口号

AEXPORT – 使用方法

Page 44: Altibase管理培训 管理篇

数据同步步骤

从源数据库取出数据库逻辑结构# aexport –s 127.0.0.1 –u sys –p manager

从源数据库取出数据# sh run_il_out.sh

目标数据库上创建数据逻辑结构# sh run_is.sh

数据导入到目标数据库# sh run_il_in.sh

目标数据库上生成索引和外键# sh run_is_index.sh # sh run_is_fk.sh

AEXPORT – 执行步骤

Page 45: Altibase管理培训 管理篇

AEXPORT 根据以下文件设定执行参数 $ALTIBASE_HOME/conf/aexport.properties

参数 OPERATION = OUT EXECUTE = OFF INDEX = ON USER_PASSWORD = altibase DROP = ON ILOADER_OUT = run_il_out.sh ILOADER_IN = run_il_in.sh ISQL = run_is.sh ISQL_INDEX = run_is_index.sh ILOADER_FIELD_TERM = ^ ILOADER_ROW_TERM = %n

AEXPORT – 参数

Page 46: Altibase管理培训 管理篇

不是 SYS 用户,而是以一般用户 AEXPORT 时, 只生成此用户的数据库结构。 不是 SYS 用户,而是以一般用户 AEXPORT 时,不生成 Replication 对象。 执行 ‘ run_is.sh’ 时,删除所有用户以及对象,所以谨慎使用 生成存储过程时,如果没有提前生成需要参照的存储过程则会失败。 AEXPORT无法访问存储过程之间的逻辑关系,所以无法保证存储过程生成顺序。所以需要手动生成失败的存储过程

AEXPORT 只能限制性地访问 sequence 的 meta 信息, 所以当在一般用户下创建 sequence 的时候,只能创建‘ increment by’ 定义的

属性,其他属性就是默认值。

AEXPORT – 注意事项

Page 47: Altibase管理培训 管理篇

查询,备份,删除 ALTIBASE使用的共享内存的工具。

ALTIBASE 在内存中分配数据领域时,使用 Process Heap 领域或共享内存领域。使用共享内存领域时, 即使关闭数据库数据依然存在于共享内存领域。

所以为了查询和管理此领域提供 SHMUTIL 工具。

SHMUTIL 功能如下: 查询共享内存信息 存储共享内存 删除共享内存

SHMUTIL

Page 48: Altibase管理培训 管理篇

shmutil [OPTIONS -pwe] [-d HOME_DIR] [-f PROPERTY_FILE]

-p : 打印共享内存 DB 信息 -w: 共享内存 DB 写入硬盘 -e : 删除共享内存 DB -d : 指定 ALTIBASE 目录 -f : 指定参数文件

SHMUTIL

Page 49: Altibase管理培训 管理篇

数据字典数据字典1. 系统表2. 系统视图

Page 50: Altibase管理培训 管理篇

索引信息SYS_INDEX_COLUMNS_

对象权限信息SYS_GRANT_OBJECT_

作为约束条件的列信息SYS_CONSTRAINT_COLUMNS_

说明表名

数据库信息SYS_DATABASE_

系统权限信息SYS_GRANT_SYSTEM_

表的约束条件信息SYS_CONSTRAINTS_

表的列信息SYS_COLUMNS_

系统表 系统表是记录所有数据库对象的相关信息的系统定义表。 目录输出语句

iSQL> select * from tab;

基本系统表

系统表

Page 51: Altibase管理培训 管理篇

基本系统表

复制相关系统表

索引的所有字段信息SYS_INDEX_COLUMNS_

存储过程中控制文件的目录信息SYS_DIRECTORIES_

表空间用户信息SYS_TBS_USERS_

用户信息SYS_USERS_

表信息SYS_TABLES_

说明表名

数据库权限信息SYS_PRIVILEGES_

表的索引信息SYS_INDICES_

系统表

复制表的信息SYS_REPL_ITEMS_

说明表名

远程服务器信息SYS_REPL_HOSTS_

复制信息SYS_REPLICATIONS_

Page 52: Altibase管理培训 管理篇

存储过程和存储函数的分析信息SYS_PROC_PARSE_

说明表名

存储过程和存储函数访问的表信息SYS_PROC_RELATED_

存储过程和存储函数的变量信息SYS_PROC_PARAS_

存储过程和存储函数信息SYS_PROCEDURES_

存储过程相关系统表

视图相关系统表

视图对象信息SYS_VIEWS_

说明表名

视图访问的对象信息SYS_VIEW_RELATED_

视图对象分析信息SYS_VIEW_PARSE_

系统表

Page 53: Altibase管理培训 管理篇

触发器语句信息SYS_TRIGGER_STRINGS_

说明表名

触发器更新的字段信息SYS_TRIGGER_UPDATE_COLUMNS_

触发器访问的表信息SYS_TRIGGER_DML_TABLES_

触发器系统信息SYS_TRIGGERS_

触发器相关系统表

说明表名

对象别名信息SYS_SYNONYMS_

别名相关系统表

系统表

Page 54: Altibase管理培训 管理篇

动态性能视图 记录当前系统的信息,包括内存使用信息,进程、会话、缓冲信息等,用

于监控数据库状态。

用户可以通过 SQL 查询动态系统试图,取得数据库运行时的状态信息(如会话信息、日志信息),使得数据库维护更方便。

以视图的方式提供 ALTIBASE 数据库内部的内存结构,可实时获得数据库运行时的状态信息。

列出所有可用的动态性能视图iSQL> select * from v$tab;

系统视图

Page 55: Altibase管理培训 管理篇

动态性能视图

磁盘空间回收 (disk garbage collection) 信息V$DISKGC

数据库缓冲 hit ratio 以及相关统计信息V$BUFFPOOL_STAT

ALTIBASE 多阶段启动信息V$INSTANCE

数据库索引信息V$INDEX

刷新缓冲信息V$FLUSHINFO

磁盘表信息V$DISKTBL_INFO

数据库可使用的页信息V$DB_FREEPAGELISTS

表空间使用的数据文件信息V$DATAFILES

内存数据库空间的内部信息V$DATABASE

数据库缓冲的页信息V$BUFFPAGEINFO

归档相关信息和备份信息V$ARCHIVE

动态系统试图的字段信息V$ALLCOLUMN

说明表名

系统视图

Page 56: Altibase管理培训 管理篇

ALTIBASE 进程使用的内存统计信息V$MEMSTAT

并发控制有关的 mutex 统计信息V$MUTEX

日志控制信息V$LOG

Lock 和 statement 信息V$LOCK_STATEMENT

内存垃圾回收 (memory garbage collect) 信息V$MEMGC

数据库所有表的锁信息V$LOCK

日志集合有关统计信息V$LFG

内存表状态信息V$MEMTBL_INFO

事务之间等待的信息V$LOCK_WAIT

缓冲池的缓冲控制块 (BCB) latch 统计信息V$LATCH

说明表名

动态性能视图

系统视图

Page 57: Altibase管理培训 管理篇

序列相关信息V$SEQ

复制的传送数据库的事务表信息V$REPSENDER_TRANSTBL

SQL 执行计划内容信息V$PLANTEXT

复制的接收数据库的事务表信息V$REPRECEIVER_TRANSTBL

SYNC 中的表信息V$REPSYNC

断状态、类型、分配的范围个数V$SEGMENT

复制的传送数据库信息V$REPSENDER

复制的接收数据库信息V$REPRECEIVER

事务当前日志文件和传送到复制目标数据库的日志文件的差距信息V$REPGAP

复制管理信息V$REPEXEC

ALTIBASE 内部参数信息V$PROPERTY

存储过程内容信息V$PROCTEXT

说明表名

动态性能视图

系统视图

Page 58: Altibase管理培训 管理篇

Undo table space 的缓冲池统计信息V$UNDO_BUFF_STAT

事务信息V$TRANSACTION

事务管理信息V$TRANSACTION_MGR

服务线程信息V$SERVICE_THREAD

ALTIBASE 内部生成的对应客户端的会话信息V$SESSION

内部模块跟踪日志信息 V$TRACELOG

表空间信息V$TABLESPACES

所有性能视图的行和列信息V$TABLE

系统上执行的 SQL 内容信息V$SQLTEXT

会话的所有表达式信息V$STATEMENT

会话统计信息V$SESSIONMGR

说明表名

动态性能视图

系统视图

Page 59: Altibase管理培训 管理篇

对象及权限管理对象及权限管理1. 数据库对象2. 表 /约束条件3. 索引 /视图 /序列 /别名 /存储过程 /函数4. 触发器 /用户 /表空间5. 权限

Page 60: Altibase管理培训 管理篇

数据库对象 Schema object : 与数据库数据直接联系的逻辑结构

表 约束条件 索引 视图 序列 别名 过程,函数 触发器

Non-Schema object : 不属于特定 schema ,而属于整个数据库 目录 复制 表空间 用户

数据库对象

Page 61: Altibase管理培训 管理篇

存储空间的不同 内存表 磁盘表

管理主体的不同 系统表 (meta table , process table) 一般用户表

使用大容量内存表时的注意事项 执行 DDL 时,建议使用 iLoader 导出并再导入 对于大表进行 DML 操作时

因为表锁,可能不能访问该表 Altibase 内存使用量积蓄增加 存储 Logfile 的目录空间不够

对于复制的表不能进行 DDL

Page 62: Altibase管理培训 管理篇

约束条件 系统用一定的机制来检查数据库中的数据是否满足规定的条件,这

种条件称为约束条件。种类

NOT NULL / NULL 唯一标识 (unique key) 主键 (primary key) 外键 (foreign key) TIMESTAMP

字段约束条件和表约束条件 NULL/NOT NULL 和 TIMESTAMP只能作为字段约束条件

约束条件

Page 63: Altibase管理培训 管理篇

索引 为了加快访问记录的速度而设置的。

类型 B-tree 索引 R-tree 索引

索引的特点 唯一索引 : unique, non-unique, primary key 复合索引 : Non-composite Index, Composite Index 索引的存储 : 永久存储索引 (Persistent Index), 非永久索引

(Non-persistent Index)

索引

Page 64: Altibase管理培训 管理篇

视图 (View) 不保存实际的数据,保存的是实在表经查询后的结果,是逻辑表

(logical table)。

基本表 是数据库中实在的表,是视图的来源和基础,一个视图可以包含一

个或多个基本表。

ALTIBASE 的视图 ALTIBASE 支持只读试图,不支持可更新的视图 (updatable

view) 和实物化视图 (materialized view)。

视图

Page 65: Altibase管理培训 管理篇

序列 是一个等差数列,任何时候数据库系统都可以根据当前记录数大小加上步长来获取到下一条记录,因为缓冲使用,保持一定的性能。

序列的用途 序列自动生成唯一值,可赋值给 DML 语句的任何字段

使用方法 sequence name.nextval sequence name.currval 序列生成以后不能直接使用 sequence_name.currval ,而是首先使用

sequence_name.currval ,再使用 sequence_name.nextval 才能获得序列号。

序列

Page 66: Altibase管理培训 管理篇

别名 Altibase 提供对于表、序列、视图、存储过程、存储函数的 别名 (alias)。

优点 可隐藏生成特定对象的用户和特定对象 SQL 语句简单化 最小化用户名变更引起的代码变更

别名

Page 67: Altibase管理培训 管理篇

存储过程 是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。

用户通过指定存储过程的名字并给出参数来执行它。

区别 存储过程与存储函数区别在于是否有返回值

类型 存储过程 存储函数 Type set

存储过程和存储函数

Page 68: Altibase管理培训 管理篇

触发器 一种特殊类型的存储过程,它在插入,删除或修改特定表中的数据

时触发执行。

组成要素 Trigger event : 触发事件的 SQL语句 Trigger condition : 触发事件并执行触发器的条件 Trigger action : 触发条件为真时,执行的存储过程内容 (body)

触发器

Page 69: Altibase管理培训 管理篇

数据库用户 SYSTEM_ 和 SYS 用户

创建数据库时默认生成的用户 SYSTEM_ : 系统表的所有者 SYS : DBA, 拥有数据库的所有权限 不能随意变更或删除

用户

Page 70: Altibase管理培训 管理篇

表空间 表空间作为数据库逻辑结构的最大单位,数据库由多个表空间组成 一个表空间由多个数据文件组成 一个数据文件只属于一个表空间

类型 存储空间的不同

内存表空间 (SYS_TBS_MEMORY) 磁盘表空间

生成阶段的不同 SYSTM 表空间 USER 表空间

表空间

Page 71: Altibase管理培训 管理篇

权限管理 系统权限 (System Privilege)

DBA 管理系统权限,对数据库进行特定操作并管理所有对象

系统权限类型 DATABASE INDEXES PROCEDURES SEQUENCES SESSIONS TABLES TABLESPACES USERS VIEWS MISCELLANEOUS TRIGGER

权限

Page 72: Altibase管理培训 管理篇

用户对象权限 (Object Privilege) 由对象的创建用户管理,并赋予和回收其他用户对该对象的权限

用户对象权限类型 ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE

赋予权限 : GRANT回收权限 : REVOKE

权限

Page 73: Altibase管理培训 管理篇

数据库监控数据库监控• altiProfile

• Admin Center

Page 74: Altibase管理培训 管理篇

altiProfile 概念 可以实时获得数据库的信息 记录所有 DML 的 Query 信息

altiProfile 设定 iSQL 上设定 altiProfile 执行属性

ALTER SYSTEM SET QUERY_PROF_FLAG = [0~1023] 设定属性时,生成以下文件

$ALTIBASE_HOME/TRC/alti-TIMEMICROSEC.prof.分析

altiProfile [ profile_name ]

altiProfile

Page 75: Altibase管理培训 管理篇

Admin Center Altibase GUI 监控工具

安装方法 首先下栽 Admin Center package 拷贝 JDBC Driver 把 $ALTIBASE_HOME/lib/Altibase.jar 拷贝到 Admin

Center安装的目录 http://java.com/ 上下载 JRE 1.4.x 并安装

Admin Center

Page 76: Altibase管理培训 管理篇

初始画面 左边窗口罗列登记的数据库名称,详细信息在右边窗口显示

Object Tree

罗列各 Object 的详细信息

执行结果窗口

Admin Center

Page 77: Altibase管理培训 管理篇

连接 /变更 /结束 左边的 Object tree 上显示登记的服务器名, 点击右件选择连 /变

更 /结束或点击相关按钮。 连接后就能看到数据库上的所有的对象。

Admin Center

Page 78: Altibase管理培训 管理篇

数据库管理 CheckPoint, Online Backup, Trc-Log Level 变更 , 数据库对象相

关脚本生成目录

Admin Center

Page 79: Altibase管理培训 管理篇

表空间管理 Object tree 窗口上点击 Tablespaces ,就显示所有的表空间。 点击每个 Tablespaces ,就显示其 FileName, Size 信息。

Admin Center

Page 80: Altibase管理培训 管理篇

用户管理 Object tree 窗口上点击 Users ,就显示数据库的所有用户 可以生成 /变更 /删除用户,并赋予权限。

Admin Center

Page 81: Altibase管理培训 管理篇

监控 Server Monitor & Admin 栏上点击 Performance View。

Admin Center

Page 82: Altibase管理培训 管理篇

数据库结束通知 通知数据库结束 ( 包括非正常结束 ) 的功能,以 10秒为单位检查数据

库的状态。

Admin Center

Page 83: Altibase管理培训 管理篇

Contact Point

天津南大通用数据技术有限公司天津总部 :天津华苑产业园区海泰发展六道6号邮 编: 300384 电 话: 022-58815881传   真: 022-58815882北京业务中心:北京海淀区金源时代商务中心2号楼 A 座 17D邮 编: 100089 电 话: 010-88866866 传   真: 010-88864556Web : http://www.generaldata.com.cn

谢谢