GBase 8s数据库常用操作指南

本文详细介绍了GBase8s数据库的日常管理,包括模式切换、服务器监控、SQL操作及数据装载卸载。监控涵盖系统CPU、内存以及数据库磁盘空间等,通过特定命令进行。SQL语句用于创建、修改和查询数据库对象。数据装载卸载提供了多种工具,如unload/load、dbload等。备份与恢复涉及0级、1级、2级备份,ontape和onbar命令用于执行备份和恢复任务。熟悉这些操作能帮助管理员高效管理GBase8s数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

GBase 8s数据库日常管理包括数据库模式的切换,以及服务器的监控。监控主要分为两个方面,一方面是系统级别的监控,主要包括对系统cpu的监控,以及内存的占用情况;另一方面是数据库级别的监控,包括对磁盘空间大小的监控,对逻辑日志物理日志的监控,对数据表中数据量的监控,以及表中索引层数,顺序扫描次数等等。我们可以通过命令或者sql语句的方式,完成对数据库的监控。

 语法

1.启动数据库服务:

      oninit -vy

2.关闭数据库服务:

      onmode -ky

3.监控系统cpu和内存使用情况:

      top

4.查看数据库版本和运行模式:

      onstat -

5.监控数据库磁盘空间大小

      onstat -d

6.监控逻辑日志,物理日志信息

     onstat -l

7.监控GBase 8s占用系统内存大小:

     onstat -g seg

8.监控实例整体运行情况

      onstat -p

9.查看实例运行日志最后20行信息

      onstat -m

10.查看数据库进程状态

      onstat -g glo

11.查看数据库会话状态

      onstat -g ses

12.从离线模式向静态模式转换:

      oninit -s

13.从离线模式向管理员模式转换:

      oninit -j

14.从管理员模式,静态模式向在线模式转换:

      onmode -m

15.从在线模式向管理员模式转换:

      onmode -j

16.从在线模式向静态模式转换:

      onmode -s;onmode -u

17.根据错误号查询错误信息:

      finderr 951

2

SQL指南

 语法简介:

创建数据库对象的语法都是使用 CREATE +“数据库对象类型”+“数据库对象名”的方式开头,然后再定义其中具体的细节。这类语法属于DDL(Data Definition Language)数据库定义语言。

在GBase 8s中,有四种日志类型的数据库,分别是无日志模式,缓冲式日志模式,无缓冲式日志模式和ANSI模式。

无日志模式,数据库性能好,但是不支持逻辑恢复操作;

缓冲式日志模式,既支持数据库逻辑恢复的功能,同时又能避免频繁的I/O操作,是生产系统中常见的日志类型;

无缓冲式日志模式,会有频繁的I/O操作,优点是一旦数据库宕机,损失较小。

ANSI模式,是一种特殊的无缓冲式日志模式,要符合额外的ANSI规则。

1.创建库语法  

create database “数据库名” in dbspace名 

[ with buffered log | with log | with log mode ansi]

2.创建表语法

create [ tmp | row ] table 表名列名””数据类型 列级约束, ... ... ,

[ 表级约束 ] ) [ in 表的存放路径 ]

3.修改表语法

alter table表名add“列名”“数据类型”| modify“列名”“数据类型”|drop column“列名”

4.删除表语法

drop table 表名

5.查询数据语法

select  [ all | distinct ]  “列表达式”,   ......   from  ”表名“, ......

[ where  ”条件表达式“ ]

[ group by “列名”, ...... [ having  ”条件表达式“ ] ]

[ order by ”列名“ [ asc | desc ], ...... ] ;

6.插入数据语法

insert into “表名”[ ( 列1, 列2, 列3, ...... ) ] values ( 值1, 值2 , 值3 , ...... )

7.更新数据语法

update “表名”set 列1=值1, ...... [ where “条件表达式” ]

8.删除数据语法

delete from “表名”[ where “条件表达式” ]

 简单示例:

创建缓冲式日志模式数据库testdb,test表,以及insertdata存储过程 :

切换到8s的linux操作用户,并生效当前实例对应的环境变量文件:

su - gbasedbt

. .bash_profile

进入sql编辑器dbaccess,执行SQL语句:

dbaccess - -

create database testdb in datadbs1 with buffered log;

-- 创建库testdb

create table test (id int , name char(20) );

-- 创建test表

> create procedure insertdata()

> define i int;

> for i in (1 to 100)

> insert into test values(i,'GBase 8s');

> end for;

> end procedure;

-- 创建insertdata()存储过程,向test表中插入100条数据

>execute procedure insertdata();

-- 执行insertdata()存储过程

>select  a.cf_original, DBINFO('dbname') dbname,user from  

>sysmaster:sysconfig a where cf_name = 'testdb';

-- 查看实例名,数据库名,用户名

> select  name  from sysmaster:sysdatabases;   

-- 查看实例中所有数据库名

> select  dbsname,tabname from sysmaster:systabnames where  

dbsname='testdb';                            

-- 查看数据库中所有表名

3

数据装载与卸载指南

 语法简介:

GBase 8s根据装载卸载粒度的不同,有不同的装载卸载工具。

1.load/unload:装卸载粒度表级,SQL命令,输出结果为明文.

 unload to‘filename’  [DELIMITER ‘delimiter’] select Statement;

 load from‘filename’ [DELIMITER ‘delimiter’] insert into

 Table Name | Synonym Name| View Name [(column)];

2.onunload/onload 工具:装卸载粒度为数据库级或表级,输出结果为二进制文件。

 onunload [-l] [-t <tape device>] <database>[:[<owner>.]<table>]

 onload [-l] [-t <tape device>]  [-d <DBspace>] <database>[:[<owner>.]<table>]

3.dbload 工具:装载粒度为表级,功能比load方式强大,使用起来也相对复杂。

  dbload [-d dbname] [-c cfilname] [-l logfile] [-e errnum] [-n nnum]

4.dbexport/dbimport 工具:装卸载粒度为数据库级,输出结果为明文。

  dbexport <database> [-ss] [{ -o <directory> | -t <tapedevice> }]

  dbimport <database> [-d <dbspace>]  [-l [{ buffered }] [-ansi]] [-ci] [-nv] [-D][{ -i <dir> | -t <tapedev> }]

简单实例

(1)通过unload将test表数据卸载到test.db文件,用竖线做列的分隔符

       >unload to /tmp/test.db select * from test;

       通过load将test.db中的数据装载到test表中

        >load from /tmp/test.db insert into test;

(2)通过dbload工具将test.db中的数据装载到test表中

        先建立命令文件:例如/tmp/test.ctl  在文件中 写入以下命令

        vi /tmp/test.ctl         (添加如下两行内容)

        FILE /tmp/test.db delimiter "|" 2;

        insert into test;  

        (/tmp/test.ctl 是数据文件,2代表有两个字段)

         然后用dbload命令导入数据:

         dbload -d testdb -c /tmp/test.ctl -l error.log

(3)使用dbexport/dbimport迁移数据库

        使用dbexport将testdb数据库导出 -ss生成服务器特定的语法

        dbexport testdb -ss

       删除testdb数据库

        dbaccess - -

         >drop database testdb;

         使用dbimport重新导入testdb数据库,数据库创建在datadbs1数据库空间中。导入过程使用缓冲日志模式

          dbimport testdb -d datadbs1 -l buffered

4

备份与恢复操作指南

 语法简介

GBase 8s数据库中,备份与恢复分为三个级别,分别是0级备份,1级备份,以及2级备份。0级备份指的是备份数据库中所有的数据;1级备份是在0级备份基础上,备份被修改过的数据页;2级备份是在1级备份基础上,备份被修改过的数据页。主要的备份命令有两个,分别是ontape和onbar 。其中,onbar命令功能强大,可以恢复到具体时间点,可以选择具体存储空间,可以并行执行备份操作,但是相对配置比较复杂。ontape命令简单易用,虽然没有onbar功能强大,但是使用ontape命令在备份的同时,可以更改数据库日志模式,这也是比较实用的功能。

1.ontape语法:

ontape  -a [-d]    

//备份逻辑日志

ontape -s [[-L archive_level]] [-A database_list] [-B database_list]

          [-N database_list] [-U database_list] [-t tape_device_path ]  

 //备份数据库

ontape -p          

//恢复数据库

2.onbar 语法:

onbar -b -l [-c | -C | -s] [-O]  

 //备份逻辑日志

onbar -b  [-L <level>] [-w | -f <filename> | <spaces>] [-O]  

//备份数据库

onbar -r -l [ -t "<time>" | -n <log>]

//恢复逻辑日志

onbar -r  [-t "<time>" | -n <log>] [-f <filename> | <spaces>] 

//恢复数据库

简单示例

(1)使用ontape命令执行零级数据库备份

        ontape -s -L 0

        通过onstat -m命令查看日志中备份信息。

        通过onstat -g arc命令查看数据库近期备份情况。

(2)使用ontape命令恢复数据库

        关闭实例:

        onmode -ky

        执行ontape命令

        ontape -r                //从离线模式到静态模式

        onmode -m           //转换到在线模式 

熟练以上操作,快速掌握GBase 8s产品,玩转日常运维!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值