GBase8s数据库操作指南
⼀、数据库⽇常管理指南
简介:
GBase 8s数据库⽇常管理包括数据库模式的切换,以及服务器的监控。监控主要分为两个⽅⾯,⼀⽅⾯是系统级别的监控,主要包括对系统cpu的监控,以及内存的占⽤情况;另⼀⽅⾯是数据库级别的监控,包括对磁盘空间⼤⼩的监控,对逻辑⽇志物理⽇志的监控,对数据表中数据量的监控,以及表中索引层数,顺序扫描次数等等。我们可以通过命令或者sql语句的⽅式,完成对数据库的监控,也可以通过OAT 图形化管理界⾯实现对GBase 8s数据库的监控。
语法:
启动数据库服务:
oninit -vy
关闭数据库服务:
onmode -ky
梦见打死蛇监控系统cpu和内存使⽤情况:
top
查看数据库版本和运⾏模式:
onstat -
监控数据库磁盘空间⼤⼩
onstat -d
监控逻辑⽇志,物理⽇志信息
onstat -l
监控GBase 8s占⽤系统内存⼤⼩:
onstat -g seg
监控实例整体运⾏情况
onstat -p
查看实例运⾏⽇志最后20⾏信息
onstat -m
查看数据库进程状态
onstat -g glo
查看数据库会话状态
onstat -g ses
从离线模式向静态模式转换:
oninit -s
从离线模式向管理员模式转换:
oninit -j
从管理员模式,静态模式向在线模式转换:
onmode -m
从在线模式向管理员模式转换:
行政处罚程序onmode -j
从在线模式向静态模式转换:
onmode -s; onmode -u
⼆、SQL指南
语法简介:
创建数据库对象的语法都是使⽤ CREATE + 数据库对象类型 + 数据库对象名 的⽅式开 头,然后再定义其中具体的细节。这类语法属于DDL(Data Definition Language)数据库定义语⾔。
在GBase 8s中,有四种⽇志类型的数据库,分别是⽆⽇志模式,缓冲式⽇志模式,⽆缓冲式⽇志模式和ANSI模式。
⽆⽇志模式,数据库性能好,但是不⽀持逻辑恢复操作;
缓冲式⽇志模式,既⽀持数据库逻辑恢复的功能,同时⼜能避免频繁的I/O操作,是⽣产系统中常见的⽇志类型;
⽆缓冲式⽇志模式,会有频繁的I/O操作,优点是⼀旦数据库宕机,损失较⼩。
ANSI模式,是⼀种特殊的⽆缓冲式⽇志模式,要符合额外的ANSI规则。
创建库语法
create database据库名in dbspace名
[with buffered log |with log |with log mode ansi ];
创建表语法
create[temp|row]table表名(
列名数据类型列级约束,
......,
[表级约束]
)[in表的存放路径];
修改表语法
alter table表名add列名数据类型|modify列名数据类型|drop column列名;
删除表语法
drop table[if exists]表名;
查询数据语法
select[all|distinct]列表达式,......
from表名,......
[where条件表达式]
[group by列名|选择列序号,......[having条件表达式]]
[order by列名|选择列序号[asc|desc],......];
插⼊数据语法
insert into表名[(列1,列2,列3,......)]values(值1,值2,值3,......);
更新数据语法
update表名set列1=值1,......[where条件表达式];
删除数据语法
delete from表名[where条件表达式];
简单⽰例:
创建缓冲式⽇志模式数据库testdb,test表,以及insertdata存储过程 :
切换到gbasedbt⽤户,并⽣效当前实例对应的环境变量⽂件:
su - gbasedbt
env|grep GBASEDBTSERVER
sq编辑器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'; -- 查看数据库中所有表名
三、数据装载与卸载指南
语法简介:
GBase 8s中根据装载卸载粒度的不同,有不同的装载卸载⼯具。
load/unload:装卸载粒度表级,输出结果为明⽂.
unload to ⽂件名[DELIMITER 'delimiter']select语句;
load from ⽂件名[DELIMITER 'delimiter'] insert into 表名|同义词名|视图[(字段...)];
onunload/onload:装卸载粒度为数据库级或表级,输出结果为⼆进制⽂件。onunload [-l][-t <tape device>]<database>[:[<owner>.]<table>]
onload [-l][-t <tape device>][-d <DBspace>]<database>[:[<owner>.]<table>]
dbload:装载粒度为表级,功能⽐load⽅式强⼤,使⽤起来也相对复杂。dbload [-d dbname][-c cfilname][-l logfile][-e errnum][-n nnum]
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;
李弘基mv亭亭玉立和婷婷玉立的不同通过load将test.db中的数据装载到test表中
load from/tmp/test.db insert into test;
(2)通过dbload⼯具将test.db中的数据装载到test表中
先建⽴命令⽂件:例如/l 在⽂件中 写⼊以下命令
vi /l (添加如下两⾏内容)
FILE /tmp/test.db delimiter "|" 2;
insert into test;
(/l 是数据⽂件,2代表两个字段)
然后⽤dbload命令导⼊数据:
dbload -d testdb -c /l -l error.log
(3)使⽤dbexport/dbimport迁移数据库
使⽤dbexport将testdb数据库导出 -ss⽣成服务器特定的语法清教
dbexport testdb -ss
删除testdb数据库
dbaccess - -
火炬之光2灰烬法师加点>drop database testdb;
使⽤dbimport重新导⼊testdb数据库,数据库创建在datadbs1数据库空间中。导⼊过 程使⽤缓冲⽇志模式
dbimport testdb -d datadbs1 -l buffered
四、备份与恢复操作指南
语法简介:
GBase 8s数据库中,备份与恢复分为三个级别,分别是0级备份,1级备份,以及2级备份。
0级备份指的是备份数据库中所有的数据。
1级备份是在0级备份基础上,备份被修改过的数据页。
2级备份是在1级备份基础上,备份被修改过的数据页。
主要的备份命令有两个,分别是ontape和onbar 。
其中,onbar命令功能强⼤,可以恢复到具体时间点,可以选择具体存储空间,可以并⾏执⾏备份操作,但是相对配置⽐较复杂。ontape命令简单易⽤,虽然没有onbar功能强⼤,但是使⽤ontape命令在备份的同时,可以更改数据库⽇志模式,这也是⽐较实⽤的功能。
*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 //恢复数据库
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 //转换到在线模式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论