INFORMIX语法.docx

上传人:b****5 文档编号:5233921 上传时间:2022-12-14 格式:DOCX 页数:19 大小:48.30KB
下载 相关 举报
INFORMIX语法.docx_第1页
第1页 / 共19页
INFORMIX语法.docx_第2页
第2页 / 共19页
INFORMIX语法.docx_第3页
第3页 / 共19页
INFORMIX语法.docx_第4页
第4页 / 共19页
INFORMIX语法.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

INFORMIX语法.docx

《INFORMIX语法.docx》由会员分享,可在线阅读,更多相关《INFORMIX语法.docx(19页珍藏版)》请在冰豆网上搜索。

INFORMIX语法.docx

INFORMIX语法

目录

1.InformixDynamicServer9.21介绍1

1.1informix数据库服务器的物理组成结构1

1.2术语2

1.2.1CHUNK2

1.2.2PAGE2

1.2.3EXTENTS2

1.2.4TBLSPACE3

1.2.5DBSPACE3

1.2.6ROOTDBSPACE3

1.2.7LOGICALLOG逻辑日志3

1.2.8DATABASE3

2.INFORMIX(forUNIX)安装3

2.1安装前的准备工作:

4

2.2安装时的工作4

2.3安装后的工作4

2.3.1建立物理日志存储空间4

2.3.2建立逻辑日志存储空间5

2.3.3建立用户数据库存储空间5

2.3.4建立索引存储空间5

2.3.5物理日志从根(roodbs)转移到phydbs5

2.3.6逻辑日志从根转移到logdbs5

2.3.7建立用户数据库6

3.INFORMIX维护相关6

3.1启动6

3.2关闭7

3.3INFORMIX监控7

3.3.1系统监控接口(SMI):

7

3.3.2ONSTAT8

3.3.3ONCHECK9

4.INFORMIXSQL简介10

4.1概念10

4.2分类10

4.3主要内容12

4.4主要内容详解13

4.4.1CREATEDATABASE13

4.4.2DATABASE13

4.4.3CLOSEDATABASE13

4.4.4DROPDATABASE13

4.4.5CREATETABLE14

4.4.6ALTERTABLE14

4.4.7RENAMETABLE14

4.4.8DROPTABLE15

4.4.9RENAMECOLUMN15

4.4.10CREATEVIEW15

4.4.11DROPVIEW16

4.4.12CREATEINDEX16

4.4.13ALTERINDEX16

4.4.14CREATESYNONYM17

4.4.15DROPSYNONYM17

4.4.16UPDATESTATISTICS17

1.InformixDynamicServer9.21介绍

DynamicServer是对象数据库管理系统的数据库服务器(ORDBMS)。

它把面向对象和关系结合起来,而它所有能描绘的数据都是通过表的行和列的方式表现的。

除了正常的数据类型如(characterstrings,integers,decimals,anddates),还提供了面向对象的功能而增加新的数据类型,同时还支持扩展的用户定义程序(UDR)的功能,扩展了用户对数据管理的能力。

它具有如下特性:

●Client/server结构

●动态伸缩体系

支持单处理器、多处理器

●高处理性能

动态共享内存管理;RAW磁盘管理;多线程;并发性

●容错性、高可用性

通过备份

●动态系统管理

●安全性

●Y2K兼容性

●审计功能

●分布式数据库查询

●扩展应用功能

UDT;UDR;LARGEOBJ;DATABLADEMODULES

1.1informix数据库服务器的物理组成结构

基本组成结构如图

从图中可以看到在物理上共享内存、磁盘块、进程构成了一个数据库服务器,这只是简单的抽象。

1.2术语

1.2.1CHUNK

定义:

分配给服务器的地址上连续的磁盘空间的一部分(SEG),数据库服务器把一个或多个CHUNK分配给它能支持的逻辑存储空间(DBSPACE,BLOBSPACE,SBSPACE,我们这里只用到了DBSPACE)

●相当于ORACLE的DATAFILE,SYBASE的DEVICE

●每个CHUNK的大小不能超过2G

●通过绝对路径和地址偏移量可以标识一个CHUNK

●可以是RAW设备或一般的文件系统文件

●以K字节为单位分配大小的

1.2.2PAGE

定义:

在CHUNK生成并分配给数据库服务器后,逻辑上又被进一步分成更小的单位:

页,是数据库服务器用来读写数据库的物理单元,它根据操作系统的不同大小也不尽相同,一般来说UNIX是2K,WINDOWSNT4K。

1.2.3EXTENTS

定义:

在地址上连续的一些PAGE所组成,用来存储某个表、索引、分段

它的概念跟ORACLE、SYBASE类似

1.2.4TBLSPACE

定义:

一些EXTENTS逻辑上的集合,包含分配给某个特定表、索引、分段的所有的EXTENTS。

1.2.5DBSPACE

定义:

包含一个或多个CHUNK逻辑存储单元,用以存放关键数据(rootDBSPACE,PHYSICALLOG,LOGICALLOG),我们建立的数据库也是用到了DBSPACES这个逻辑存储空间。

1.2.6ROOTDBSPACE

定义:

是数据库服务器产生的初始化DBSPACE,它包含了保留的页面个内部表,用来描述和跟踪所有的物理和逻辑存储单元。

●是用CREATEDATABADE产生数据库时默认分配的DBSPACE

●是临时表的默认分配空间 

1.2.7LOGICALLOG逻辑日志

定义:

 记录数据库每个操作的日志,主要是为了在数据库崩溃后最大限度的恢复毁坏的数 据。

Informix OnLine最少有六个逻辑日志,记录依次循环存放。

要定期对其进行备份,备份后的日志仍可使用。

在当全部日志写满而仍未进行备份时,OnLine将停止运转,直到有可用的逻辑日志。

将数据库设为No Log 模式、或逻辑日志备份设备是/dev/null时除外

1.2.8DATABASE

定义:

一个数据库是包含表、索引的逻辑逻辑存储空间。

每个数据库都都包括一个系统目录(CATALOG),用来跟踪数据库的基本信息,包括表、索引、SPL程序、完整性的限制(INTEGRITYCONSTRAINS)。

2.INFORMIX(forUNIX)安装

说明:

该步骤书是在SCOOpenServer(TM)Release5操作系统上参照安装“InformixDynamicServer2000Version9.21.UC2”步骤的基础上整理出来的,在今后的安装过程中遇到其它版本时,安装的步骤可能会有所不同,请及时联系。

2.1安装前的准备工作:

1)确认产品版本号是否符合操作系统的版本

确认的内容(版本号、操作位数)

2)按照硬件厂商提供的信息,确定磁盘分布图,从而确定各个CHUNK文件的分布和大小以及用途

需要说明:

在制定磁盘分布图之前要确认informix产品安装后逻辑、物理日志是否要从根DBSPACE中分离出来,以及各个DBSPACE(这里我们只用到了dbspace存储空间)的分布和大小;同时需要确认的是:

是否这些存储空间需要镜像,是否该硬件设备已经提供了镜像的机制。

存储空间大小规定(暂定):

物理日志---100M逻辑日志---600MTEMPDBS---500MINDEXDBS---?

USRDBS---?

2.2安装时的工作

1)建立informix用户及用户组

2)通过介质(光盘、磁带等)安装informix产品

3)通过磁盘分布图划分和初始化各个硬盘分区

4)按照要求调整内核参数,使得informix能够初始化、正常启动

2.3安装后的工作

说明:

在数据库被正确安装并能够正常启动后,这时后所要做的工作有:

建立物理、逻辑日志、用户数据、索引的存储空间;建立数据库;建立逻辑日志;物理日志从根存储空间中移走

前提:

如果使用磁盘的某个分区(可能是RAW设备)作为某个CHUNK文件的设备,而不是采用一般的物理文件(COOKEDFILE),最好使用链接的方式在某个目录中(如/infdbs)建立链接

2.3.1建立物理日志存储空间

onspaces-c-dphydbs-pxxxxx-o0-s100000

其中:

phydbs为名称,xxxxx代表路径

这时系统会出现如下提示“**WARNING**Alevel0archiveofRootDBSpacewillneedtobedone.”的信息。

这时执行ontape-s-L0执行0级别备份

2.3.2建立逻辑日志存储空间

onspaces-c-dlogdbs-pxxxxx-o0-s600000

其中logdbs为名称xxxxx代表路径

这时系统会出现如下提示“**WARNING**Alevel0archiveofRootDBSpacewillneedtobedone.”的信息。

这时执行ontape-s-L0执行0级别备份

2.3.3建立用户数据库存储空间

onspaces-c-dusrdbs-pxxxxx-o0-s2000000

其中:

usrdbs为名称,xxxxx代表路径

这时系统会出现如下提示“**WARNING**Alevel0archiveofRootDBSpacewillneedtobedone.”的信息。

这时执行ontape-s-L0执行0级别备份

说明:

因为目前INFORMIX所能管辖每个CHUNK的大小最大为2G,而用户数据库空间可能要超过2G,因此当给用户数据空间增加空间时请重复使用以下命令onspaces-ausrdbs-pxxxxxx-o0-s2000000

在增加完所有的空间以后执行0级别的备份

2.3.4建立索引存储空间

建立的过程跟建立用户数据存储空间类似。

2.3.5物理日志从根(roodbs)转移到phydbs

有两种方法可以达到此目的:

修改配置文件、onparams命令,这里采用后者

首先执行onmode-s使数据库变成quiescent模式

然后执行onparams-p-s30000-dphybs–y

执行onmode-m使数据库变成正常模式

2.3.6逻辑日志从根转移到logdbs

执行onmode-s使数据库变成quiescent模式

执行onparams-a-dlogdbs-s50000

重复上面的命令10次

执行ontape-s-L0执行0级别备份

执行onstat-l确认当前正在使用日志的位置

执行(可能要重复执行几次)onmode-l使当前正在使用的日志位置从原先的某个位置移动到刚才新建立的第一个逻辑日志文件上。

执行onmode-c使的最后一次checkpoit在刚才移动到的逻辑日志上

从onconfig文件中获得逻辑日志文件数(LOGFILES),通过onstat-l以获得这些日志文件(在roodbs上)逻辑号(logicid),然后执行如下命令onparams-d-lxxxx代表日志文件逻辑号,删除所有数据库在初始化时创建的逻辑日志文件(要重复执行几次)

执行ontape-s-L0执行0级别备份

执行onmode-m使系统恢复正常

2.3.7建立用户数据库

建立数据库的方法有多种,这里通过dbaccess用户界面生成,步骤如下

启动dbaccess选择 Database然后选择Create

在提示行输入数据库的名称

然后选择该数据库所在的dbspace

选择LOG选择NOBUFFERED方式(因为营业系统中间件要通过XA跟INFORMIX相连)然后在提示下选择Y

3.INFORMIX维护相关

3.1启动

以informix用户登陆然后执行如下命令

oninit

注意:

informix启动有如下选项

Usage:

oninit{-[ipsy]}

-iInitializediskspaceandsharedmemory,leaveinon-linemode.

-pDonotreclaimtemporarytables.

-sInitializesharedmemory,leaveinquiescentmode.

-yRespondyestoallprompts

这里要强调的是:

千万不要使用–i选项,因为它是要进行重新初始化硬盘(ROOTDBSPACE)及内存,所有的原先数据将全部丢失。

3.2关闭

要正常关闭时,以informix登陆然后执行如下命令

onmode-ky

onmode也有很多选项,这里只介绍几种

onmode-s使数据库切换到单用户模式

onmode-m使数据库恢复到多用户在线模式,也就是我们所说的正常模式

onmode-l把日志强行切换到下个逻辑日志组

onmode-c对数据库进行检查点CHECKPOINT操作监控ONLINE系统后动

3.3INFORMIX监控

监控的工具工具主要有以下三类:

●系统监控接口(SMI)

●onstat

●oncheck

3.3.1 系统监控接口(SMI):

我们主要通过SQL命令操作online的内部数据库sysmaster中的内部表/结构,来获取有关的维护信息。

Sysmaster是在online初次初始化时,系统自动创建的。

它实际主要存储了一些数据结构,而不是真正的表。

使用SMI有如下限制:

●不能对SMI中的表加锁或使用隔离级别。

●不允许使用insert,delete,update等语句(只读)

●不能使用dbschema,dbexport等命令

●使用select rowid语句将会产生不可预料的结果

主要的SMI表有:

sysdatabases:

online中的数据库信息

systabnames:

某数据库中所有表的信息

syslogs:

逻辑日志信息

sysdbspaces:

数据库信息

syschunks,syslocks等

例1:

显示处于脱机(offline)状态的chunk的序号和所在数据库空间

Select chknum,dbsnum from syschunks where is_offline=1 or misline=1

例2:

显示满chunk的信息

Select chknum,dbsnum from syschunks where nfree=0;

3.3.2 ONSTAT

●列出当前时刻的信息(实际也是读取SMI表)

●不需要磁盘I/O

●不需要锁等系统资源,因此不会影响系统性能

用法:

 tbstat [-abcdklmpstuzBDFPRX] [-r seconds] [-o file] [infile]

-a   print all info (options:

 bcdklmpstu)

-b   print buffers(缓冲区)

-c   print configuration file(配置文件)

-d   print dbspaces and chunks(dbspace和chunk)

-k   print locks(锁)

-l   print logging(日志)

-m   print message log(消息日志)

-p   print profile(profile文件)

-s   print latches(门闸)

-t   print tblspaces(表空间)

-u   print users(用户)

-z   zero profile counts

-B   print all buffers

-D   print dbspaces and detailed chunk stats

-F   print page flushers(页刷新进程)

-P   print profile, including BIGreads

-R   print LRU queues(LRU队列)

-X   print entire list of sharers and waiters for buffers

-r   repeat options every n seconds (default:

 5)

-o   put shared memory into specified file (default:

 tbstat.out)

几个常用的tbstat选项:

onstat -m :

显示消息日志的最后20行.

消息日志的内容包括:

●检查点信息

●读写错误信息

●ONLINE模式转换信息

●长事务

●日志文件满(LOG FILE FULL )

若想显示完整信息,可直接查看日志文件.

 onstat -d:

磁盘空间的使用情况,包括DBSPACE和CHUNK的信息

其中的FREE项,显示了该CHUNK的空闲空间大小(Kbytes).

 onstat -l :

日志文件情况

●物理、逻辑日志的使用情况

●使用、剩余空间

3.3.3ONCHECK

用来显示磁盘的配置和使用的情况,如:

一个表使用了多少页;保留页面的内容;一个表、索引现在扩展了多少个EXTENT

Usage:

oncheck{-cCheckOption|-pPrintOption}[-y|-n][-q][{database[:

[owner.]table[,fragdbs|#index]]|TBLspacenumber

Oncheck命令的选项有3个种类:

CHECK、REPAIR、DISPLAY。

显示或打印选项(前缀加p)和-c选项是相同的,只不过-p选项显示额外的信息。

-c选项检查一致性并当发现错误时会显示错误信息。

例:

显示空间扩展段EXTENT的使用情况

onchekc-ce

ValidatingextentsforSpace'rootdbs'

ChunkPathnameSizeUsedFree

1/dbs/rootchunk15000041252108748

4.INFORMIXSQL简介

4.1概念

SQL(StructureQueryLanguage)是一种能创建、管理和使用数据库的类似英语的语言。

数据操作是SQL的一个特殊子集,包括:

●数据定义(DDL)

●数据操作(DML)

●游标操作

●动态管理

●数据访问(DCL)

●数据完整性

●查询优化

●存储过程(SPL)

4.2分类

在Informix中的SQL(称为RDSQL)可分为以下几类:

●数据定义语句:

用于创建数据库并定义其结构。

●数据操作语句:

用于数据库中选择、插入、更新或删除数据

●动态管理语句:

用于动态管理运行过程中的资源。

●数据访问语句:

用于确定如何访问数据(DCL语句)

●数据完整性语句:

用于维护数据完整性。

●查询优化信息语句:

用于获取有关查询执行的信息。

●存储过程语句:

用于执行和调试存储过程.

以下图表分类列举了文档中涉及的所有SQL语句和常用数据库数据类型与C的对照表。

1)数据定义语句

2)数据操作语句

3)

 数据访问语句

4)数据完整性语句

5)辅助语句

4.3主要内容

主要SQL语句列表

SQL语句列表1

SQL语句列表2

CREATEDATABASE

创建数据库

GRANT

授权命令

DATABASE 

选择数据库

REVOKE

收权命令

CLOSEDATABASE

关闭当前数据库

LOCKTABLE

记录级加锁和表级或文件加锁

DROPDATABASE

删除指定数据库

UNLOCKTABLE

取消记录加锁表级或文件加锁

CREATETABLE

创建表

SETLOCKMODE

改变锁定状态

ALTERTABLE  

修改表结构

STARTDATABSE

启动事务处理

RENAMETABLE

修改表名

BEGINWORK

开始事务

DROPTABLE

删除表

COMMITWORK

提交(正常结束)事务

RENAMECOLUMN

修改字段名

ROLLBACKWORK

回滚(非正常结束)事务

CREATEVIEW

创建视图

SELECT

查询语句

DROPVIEW

删除视图

INSERT

插入数据

CREATEINDEX

创建索引

DELETE

删除语句

ALTERINDEX

修改索引性质

UPDATE

更新数据语句

DROPINDEX

删除索引

CHECKTABLE

检查索引语句

CREATESYNONYM

创建同义名

REPAIRTABLE

修复索引

DROPSYNONYM

删除同义名

LOAD

将文本数据栽入表中

UPDATESTATISTICS

更新数据库的统计数字

UNLOAD

将表中数据卸为文本

 

 

INFO

系统信息查询

4.4主要内容详解

4.4.1CREATEDATABASE

CREATEDATABASEdatabase_name[WITHLOGIN“pathname”]

创建数据库。

database_name:

数据库名称。

“pathname”:

事务处理日志文件。

4.4.2DATABASE

DATABASEdatabse_name[EXCLUSIVE]

选择数据库。

database_name:

数据库名称。

EXCLUSIVE:

独占状态。

存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。

例:

dtabasecustomerdb;

4.4.3CLOSEDATABASE

关闭当前数据库。

database_name:

数据库名称。

此语句之后,只有下列语句合法:

CREATEDATABASE;DATABASE;DROPDATABSE;ROLLFORWARDDATABASE;

删除数据库前必须使用此语句。

例:

closedatabase;

4.4.4DROPDATABASE

DROPDATABASEdatabase_name

删除指定数据库。

database_name:

数据库名称。

用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACKWORK也不可将数据库恢复。

例:

dropdatabsecustomerdb;

4.4.5CREATETABLE

CREATE[TEMP]TABLEtable-name(column_namedatatype[NOTNULL],…)[IN“pathname”]

创建表或临时表。

table-name:

表名称。

column_name:

字段名称。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1