db2数据库create database on语句是什么意思

db2数据库create database on语句是什么意思,第1张

C:\Documents and Settings\tstbd>db2 ? create database

CREATE DATABASE database-name

[AT DBPARTITIONNUM | [AUTOMATIC STORAGE {NO | YES}]

[ON drive[{,drive}...][DBPATH ON drive]]

[ALIAS database-alias] [USING CODESET codeset TERRITORY territory]

[COLLATE USING {SYSTEM | IDENTITY | IDENTITY_16BIT | COMPATIBILITY | NLSCHAR | U

[PAGESIZE integer [K]]

[NUMSEGS numsegs] [DFT_EXTENT_SZ dft_extentsize] [RESTRICTIVE]

[CATALOG TABLESPACE tblspace-defn] [USER TABLESPACE tblspace-defn]

[TEMPORARY TABLESPACE tblspace-defn] [WITH "comment-string"] ]

[AUTOCONFIGURE [USING config-keyword value [{,config-keyword value}...]]

[APPLY {DB ONLY | DB AND DBM | NONE}]]

on 代表数据创建在哪个目录下面。

参数详解

1. DATABASE database-name

数据库指定名称,在本地和系统库中,都必须唯一的,不能包含空格。

2. AT DBPARTITIONNUM

指定数据库将要被创建在发出命令的分区。当创建一个新库,不要指定这个参数。可以用它重建一个因为损坏而删除的数

据库分区。当用这个参数创建库,数据库将处于restore pending状态。不切断应用可能导致不一致,用时谨慎。

3. AUTOMATIC STORAGE NO | YES

指定自动存储打开或关闭。默认是打开的。

4. ON path or drive

这个子句和AUTOMATIC STORAGE的值有关,它指定了DB表空间的容器位置。详细的目录结构如下

/Path or Drive ----------> 数据库目录

|

|------ InstanceName ----------> 实例名

|

|------ NODEnnnn ----------> 节点名

|

|------ DataBaseName ----------> 数据库名

|

|------Tnnnnnnn ----------> 表空间容器

对于AUTOMATIC STORAGE NO:只有一个path可以包含在ON后,它指定了DB的位置。如果没有指定这个参数,DB创建到默认路径中,该默认路径为dbm cfg的dftdbpath指定。

对于AUTOMATIC STORAGE YES:可以列出多个路径,有逗号分隔,这些路径作为存储路径和保存自动存储表空间的容器。对于多分区DB,相同的存储路径被用在所有分区中。

创建数据库后将创建三个缺省表空间:

T0000000子目录中包含带有系统目录表的目录表空间。

T0000001子目录中包含缺省临时表空间。

T0000002子目录中包含缺省用户数据表空间。

每个子目录或容器中都会创建一个名为 SQLTAG.NAM 的文件。这个文件可以标记正在使用中的子目录,因此在以后创建其他表空间时,不会尝试使用这些子目录。

此外,名为 SQL*.DAT 的文件中还存储有关子目录或容器包含的每个表的信息。星号(*)将被唯一的一组数字取代,用来识别每个表。对于每个 SQL*.DAT 文件,可能有一个或多个下列文件,这取决于表类型、表的重组状态或者表是否存在索引、LOB 或 LONG 字段:

SQL*.BKM(如果它是一个 MDC 表,那么它包含块分配信息)

SQL*.LF(包含 LONG VARCHAR 或 LONG VARGRAPHIC 数据)

SQL*.LB(包含 BLOB、CLOB 或 DBCLOB 数据)

SQL*.XDA(包含 XML 数据)

SQL*.LBA(包含有关 SQL*.LB 文件的分配和可用空间信息)

SQL*.INX(包含索引表数据)

SQL*.IN1(包含索引表数据)

SQL*.DTR(包含用于重组 SQL*.DAT 文件的临时数据)

SQL*.LFR(包含用于重组 SQL*.LF 文件的临时数据)

SQL*.RLB(包含用于重组 SQL*.LB 文件的临时数据)

SQL*.RBA(包含用于重组 SQL*.LBA 文件的临时数据)

5、DBPATH ON指定了数据库基础文件(控制文件,日志文件等)的创建位置。如果没有指定,则数据库在ON后面第一

个路径指定。如果没有指定路径,则在默认位置创建,该默认路径为dbm cfg的dftdbpath指定。数据库路径里面创建了

分层目录结构。这个结构保存了数据库 *** 作需要的文件,目录结构具体如下

/Path or Drive ----------> 数据库目录

|

|------ InstanceName ----------> 实例名

|

|------ NODEnnnn ----------> 节点名

|

|------ SQLxxxxx ----------> 数据库编号

| |

| |------SQLOGDIR ----------> 数据库日志目录

|

|------sqldbdir ---------->本地数据库编目

其中SQLOGDIR目录用来存放数据库日志文件,建库后可以更改日志文件位置

SQLxxxxx目录下包含如下文件

SQLBP.1 和 SQLBP.2 文件中都包含缓冲池信息。这两个文件中具有相同的副本,从而提供备份。

SQLSPCS.1 和 SQLSPCS.2 文件中都包含表空间信息。这两个文件中具有相同的副本,从而提供备份。

SQLSGF.1 和 SQLSGF.2 文件中都包含与数据库的自动存储器相关的存储路径信息。这两个文件中具有相同的副本,从而提供备份。

SQLDBCON 文件中包含数据库配置信息。切勿编辑此文件。要更改配置参数,请使用控制中心或者使用 UPDATE DATABASE CONFIGURATION 和 RESET DATABASE CONFIGURATION 命令。

db2rhist.asc 历史记录文件及其备份 db2rhist.bak 中包含关于备份、复原、表装入、表重组、表空间改变和其他数据库更改的历史记录信息。

DB2TSCHNG.HIS文件中包含日志文件级别的表空间更改的历史记录。对于每个日志文件,DB2TSCHG.HIS中包含有助于确定日志文件影响哪些表空间的信息。表空间恢复使用此文件中的信息来确定在进行表空间恢复期间要处理哪些日志文件。可以在文本编辑器中检查这两个历史记录文件中的内容。

日志控制文件 SQLOGCTL.LFH 和 SQLOGMIR.LFH 中包含有关活动日志的信息。

恢复处理过程使用这些文件中的信息来确定要在日志中后退多远来开始恢复。SQLOGDIR子目录中包含实际的日志文件。

注:您应确保不要将日志子目录映射到用于存储数据的磁盘。这样,在磁盘发生问题时,只会影响到数据或日志,而不会同时影响这两者。由于日志文件与数据库容器不会争用同一磁盘磁头的移动,因此这可提供很多性能方面的好处。要更改日志子目录的位置,请更改 newlogpath数据库配置参数。

SQLINSLK文件用于确保一个数据库只能由数据库管理器的一个实例使用。

在创建数据库的同时,还在db2event目录下创建了详细死锁事件监视器。详细死锁事件监视器文件存储在目录节点的数据库目录中。当事件监视器达到它要输出的最大文件数 时,它将取消激活,并且将把一条消息写入通知日志中。这样可防止事件监视器消耗过多的磁盘空间。除去不再需要的输出文件将允许在下一次数据库激活时再次激 活事件监视器。

DBPATH ON选项可以被用来把以上文件和信息,放在一个与数据库数据存储路径分开的路径中。当使用automatic storage时,建议将数据库的information和数据库的data分开。

对于MPP系统,数据库不能建在NFS文件夹中,不能是相对路径。每个给出的路径必须在每个数据库分区中存在并可访问。

database path最长215字符,storage path最长175字符。

5. ALIAS database-alias

在database directory中,数据库的别名。如果没指定,就用数据库名称。

6. USING CODESET codeset

指定数据进入数据库所使用的编码集。创建数据库后,不能修改。

7. TERRITORY territory

指定数据库进入数据库所使用的区域标示符或本地标示符。创建数据库后,不能修改。code set和territory的组合,必须是有效的。

这是外键,用来约束的,下面的表示本表属性id参照person表的id属性,并且删除级联,当删除person表中的数据时,本表中存在person表中id属性的行将被删除,保持数据库的信息一致。

Oracle和DB2是两种不同的数据库。

Oracle:

Oracle是甲骨文公司的一款关系数据库管理系统。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

DB2:

全称为IBM DB2。是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。

DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器 *** 作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6778021.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存