标题: 开始学习DB2了,在线直播写笔记
jxufe
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
赌运长久


UID 29711
精华 4
积分 1430
帖子 2471
活跃指数 193
LU金币 1763 个
LU金条 0 个
阅读权限 210
注册 2005-2-24
 
发表于 2006-4-25 17:08  资料  个人空间  短消息  加为好友 
支持一下,实例建好后,马上把profile.sh帖到实例用户HOME下的.profile里,再重新登陆一下





梁馨,我爱你
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-25 17:09  资料  个人空间  短消息  加为好友 


QUOTE:
原帖由 jxufe 于 2006-4-25 17:08 发表
支持一下,实例建好后,马上把profile.sh帖到实例用户HOME下的.profile里,再重新登陆一下

多谢老大指点,我马上去看看profile.sh





继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-25 17:11  资料  个人空间  短消息  加为好友 
刚刚看了一下,居然没有profile.sh , 是不是 db2profile 啊? 另外,我看在/home/db2inst1/.profile 文件中已经有下面的语句:

if [ -f /home/db2inst1/sqllib/db2profile ]; then
    . /home/db2inst1/sqllib/db2profile
fi

profile.sh 是?

[ 本帖最后由 ericsson 于 2006-4-25 17:13 编辑 ]





继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-25 17:17  资料  个人空间  短消息  加为好友 
八、创建数据库 - 准备和基础知识学习

在创建数据库之前,应该花足够的时间来设计数据库的内容、布局、潜在增长和用途。

定义初始表空间,当创建一个数据库时,要定义三个表空间:
A、用于系统目录表的SYSCATSPACE
B、用于保存数据库处理期间创建的系统临时表的TEMPSPACE1
C、用于保存用户定义的表和索引的 USERSPACE1

注: 当第一次创建一个数据库时,不创建用户临时表空间。

若未使用CREATE DATABASE命令指定任何表空间参数,则数据库管理器使用系统管理存储器(SMS)目录容器创建这些表空间。这些目录容器将在位该数据库创建的子目录中创建。 这些表空间的扩展数据库大小被设置为缺省值。

呵呵,先把裸设备都创建好再说了:

a、Create the raw device for db2

mklv -y'dblv01' rootvg 1
mklv -y'dblv02' rootvg 1
mklv -y'dblv03' rootvg 1
mklv -y'dblv04' rootvg 1
mklv -y'dblv05' rootvg 1
mklv -y'dblv06' rootvg 1  

b、改变raw device 宿主权限:

chown db2inst1:db2grp1 dblv01
chown db2inst1:db2grp1 dblv02
chown db2inst1:db2grp1 dblv03
chown db2inst1:db2grp1 dblv04
chown db2inst1:db2grp1 dblv05
chown db2inst1:db2grp1 dblv06
chown db2inst1:db2grp1 rdblv01
chown db2inst1:db2grp1 rdblv02
chown db2inst1:db2grp1 rdblv03
chown db2inst1:db2grp1 rdblv04
chown db2inst1:db2grp1 rdblv05
chown db2inst1:db2grp1 rdblv06

在创建数据库时必须创建一个目录表空间和至少一个常规表空间,以及至少一个系统临时表空间。通过使用 CREATE DATABASE 命令或以后使用 CREATE TABLESPACE 命令,可以创建更多的所有类型的表空间(目录表空间除外)。

基础知识:

EXTENTSIZE 是在将数据写入到下一个容器之前写入到当前容器中的数据的页数(如果表空间中存在多个容器的话)。

PREFETCHSIZE 指定在执行数据预取时将从表空间读取的页数
当数据库管理器确定顺序 I/O 是适当的,并且确定预取操作可能有助于提高性能时,会使用预取操作(通常是大型表扫描)。比较好的做法是将 PREFETCHSIZE 值显式地设置成表空间的 EXTENTSIZE 值与表空间容器数的乘积的倍数。例如:如果 EXTENTSIZE 是 32,并且表空间中有 4 个容器,那么理想的 PREFETCHSIZE 应当是 128、256 等等。

扩展块大小(Extent size)

指定在跳到下一个容器之前将写到当前容器中的页数。存储数据时数据库管理器反复循环使用所有容器。该参数只有在表空间中有多个容器时才起作用。

预取大小(Prefetch size)
指定当执行数据预取时将从表空间读取的页数。预取操作在查询引用所需的数据之前读入这些数据,这样一来查询就不必等待执行 I/O 了。当数据库管理器确定顺序 I/O 是适当的,并且确定预取操作可能有助于提高性能时,它就选择预取操作。

开销(Overhead)和传送速率(Transfer rate)
这些值用于确定查询优化期间的 I/O 成本。这两个值的测量单位都是毫秒,而且它们应当分别是所有容器开销和传送速率的平均值。开销是与 I/O 控制器活动、磁盘寻道时间和旋转延迟时间相关联的时间。传送速率是将一个页读入内存所必需的时间量。它们的缺省值分别是 24.1 和 0.9。可以根据硬件规格计算这些值。

[ 本帖最后由 ericsson 于 2006-4-25 17:25 编辑 ]





继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-25 17:34  资料  个人空间  短消息  加为好友 
八、创建数据库 - 建库

也就是一个命令,不过建好之后,系统会默认创建表空间,还需要针对自己的需求规划,创建自己的表空间。

db2 => create database mydb2 using codeset GBK TERRITORY zh_CN

删除数据库:

db2 => drop database mydb2

未完待续,下班回家吃法啦

[ 本帖最后由 ericsson 于 2006-4-25 17:37 编辑 ]





继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 09:49  资料  个人空间  短消息  加为好友 
实例分配内存

早上学习一下这段东西,是否理解并吃透了先不管,先看个脸熟再说

发生下列事件时,将为数据库管理器的每个实例分配内存:

当启动数据库管理器(db2start)时: 分配数据库管理器全局共享内存,并且一直会保持此分配状态,直到数据库管理器停止运行(db2stop)为止。此区域中包含数据库管理器在管理所有数据库连接上的活动时所需的信息。当第一个应用程序与数据库连接时,将分配全局内存区和专用内存区。

当第一次激活数据库或与数据库连接时: 将分配数据库全局内存。所有可能与该数据库连接的应用程序均使用数据库全局内存。数据库全局内存的大小由 database_memory 配置参数指定。指定的内存可以大于最初所需的内存,以便以后可以动态地分配附加内存。虽然在数据库活动时不能增加或减少数据库全局内存的总容量,但是可以调整数据库全局内存中的各个内存区的大小。此类内存区包括缓冲池、锁定表、数据库堆、实用程序堆、程序包高速缓存和目录高速缓存。在已启用数据库管理器分区内并行性配置参数(intra_parallel)的环境中,或者在已启用连接集中器的环境中,还可以分配共享排序堆作为数据库全局内存的一部分。

当应用程序与数据库连接时: 在分区数据库环境中、在已启用数据库管理器分区内并行性配置参数( intra_parallel )的非分区数据库环境中或在已启用连接集中器的环境中,可将多个应用程序分配至 应用程序组 以共享内存。每个应用程序组均有其自身分配的共享内存。在应用程序组共享内存中,每个应用程序均有其自身的应用程序控制堆,但都使用应用程序组的共享堆。

以下三个数据库配置参数决定了应用程序组内存的大小:
1 appgroup_mem_sz 参数,用于指定应用程序组的共享内存的大小
2 groupheap_ratio 参数,用于指定允许共享堆占用应用程序组共享内存的百分比
3 app_ctl_heap_sz 参数,用于指定应用程序组中每个应用程序的控制堆大小。

在性能方面,对应用程序内存进行分组的好处是提高了高速缓存和内存使用的效率。
此外,应用程序全局内存的某些元素还可以动态地调整大小。

•当创建代理程序时: 图中未显示此事件。当出现连接请求或并行环境中出现新的 SQL 请求时,系统会指定一个代理程序并为其分配代理程序专用内存,其中包含仅用于该代理程序的内存分配,例如排序堆和应用程序堆。
当数据库已被一个应用程序使用时,任何随后连接的应用程序只能分配到代理程序专用内存和应用程序全局共享内存。
此外,图中还列示了下列配置参数设置,它们用于限制为每个特定用途分配的内存大小。请注意,在分区数据库环境中,将在每个数据库分区中分配此类内存。

•numdb
此参数指定不同应用程序可以使用的并发活动数据库的最大数目。由于每个数据库都有其自身的全局内存区,因此在增大此参数的值时,所分配的内存容量也可能会增加。

•maxappls 此参数指定可以同时连接至单个数据库的应用程序的最大数目。它将影响可能为该数据库分配的代理程序专用内存容量和应用程序全局内存容量。请注意,对于每个数据库,可将此参数设置为不同的值。

•用于并行处理的 maxagents 和 max_coordagents 参数
图中没有显示这些参数。它们用于限制一个实例中的所有活动数据库上可以同时存在的数据库管理器代理程序的数目。与 maxappls 一起,这些参数可以限制为代理程序专用内存和应用程序全局内存分配的内存容量。





继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 13:47  资料  个人空间  短消息  加为好友 
刚刚测试了创建表空间、bufferpool之类的。

开始学习这块内容。



 附件: 您所在的用户组无法下载或查看附件




继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 13:49  资料  个人空间  短消息  加为好友 
再来一个图,学习学习



 附件: 您所在的用户组无法下载或查看附件




继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 14:03  资料  个人空间  短消息  加为好友 
九、表空间

数据库中的所有数据都存储在许多表空间中。可以认为表空间是孩子而数据库是其父母,其中表空间(孩子)不能有多个数据库(父母)。由于表空间有不同用途,因此根据它们的用途和管理方式将它们分类。根据用途有五种不同的表空间:

目录表空间
每个数据库只有一个目录表空间,它是在发出 CREATE DATABASE 命令时创建的。目录表空间被 DB2 命名为 SYSCATSPACE,它保存了系统目录表。总是在创建数据库时创建该表空间。

常规表空间
常规表空间保存表数据和索引。它还可以保存诸如大对象(Large Object,LOB)之类的长数据,除非这些数据显式地存储在长表空间中。如果某些表空间是数据库管理的空间(Database Managed Space,DMS),则可以将表及其索引分别放到单独的常规表空间中。我们将在本文后面定义 DMS 和系统管理的空间(System Managed Space,SMS)之间的区别。每个数据库中必须至少有一个常规表空间。创建数据库时指定该表空间的缺省名为 USERSPACE1。

长表空间
长表空间用于存储长型或 LOB 表列,它们必须驻留在 DMS 表空间中。它们还可以存储结构化类型的列或索引数据。如果没有定义长表空间,那么将把 LOB 存储在常规表空间中。长表空间是可选的,缺省情况下一个都不创建。

系统临时表空间
系统临时表空间用于存储 SQL 操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。每个数据库必须至少有一个系统临时表空间。随数据库创建的系统临时表空间的缺省名为 TEMPSPACE1。

用户临时表空间
用户临时表空间存储已声明的全局临时表。创建数据库时不存在用户临时表空间。至少应当创建一个用户临时表空间以允许定义已声明的临时表。用户临时表空间是可选的,缺省情况下一个都不创建。

表空间管理
可以用两种不同的方式管理表空间:

系统管理的空间(SMS)
SMS 表空间由操作系统进行管理。容器被定义成常规操作系统文件,并且是通过操作系统调用访问的。这意味着所有的常规操作系统功能将处理以下内容:操作系统将缓冲 I/O;根据操作系统约定分配空间;如有必要就自动扩展表空间。但是,不能从 SMS 表空间删除容器,并且仅限于将新的容器添加到分区的数据库。前一节中所说明的那三个缺省表空间都是 SMS。

数据库管理的空间(DMS)
DMS 表空间是由 DB2 管理的。可以将容器定义成文件(在创建表空间时将把给定的大小全部分配给它们)或设备。分配方法和操作系统允许多少 I/O,DB2 就可以管理多少 I/O。可以通过使用 altER TABLESPACE 命令来扩展容器。还可以释放未使用的那部分 DMS 容器(从 V8 开始)。

容器
每个表空间都有一个或多个容器。重申一次,您可以认为容器是孩子,而表空间是其父母。每个容器只能属于一个表空间,但是一个表空间可以拥有许多容器。可以将容器添加到 DMS 表空间,或者从 DMS 表空间中删除容器,而且可以更改容器的大小。只能将容器添加到某个分区中分区数据库上的 SMS 表空间,在添加之前该分区还未给表空间分配容器。添加新的容器时,将启动一个自动的重新均衡操作以便将数据分布到所有容器上。重新均衡操作不会妨碍对数据库的并发访问。

表空间设置
可以在创建表空间时给它们指定许多设置,或者也可以稍后使用 altER TABLESPACE 语句时指定其设置。

页大小的含义

页大小  行大小限制  列数限制  最大容量  
4 KB 4 005 500 64 GB
8 KB 8 101 1 012 128 GB
16 KB 16 293 1 012 256 GB
32 KB 32 677 1 012 512 GB


表空间最多可包含 16384 个页,因此选择较大的页大小可以增加表空间的容量。

扩展块大小(Extent size)
指定在跳到下一个容器之前将写到当前容器中的页数。存储数据时数据库管理器反复循环使用所有容器。该参数只有在表空间中有多个容器时才起作用。

预取大小(Prefetch size)
指定当执行数据预取时将从表空间读取的页数。预取操作在查询引用所需的数据之前读入这些数据,这样一来查询就不必等待执行 I/O 了。当数据库管理器确定顺序 I/O 是适当的,并且确定预取操作可能有助于提高性能时,它就选择预取操作。

开销(Overhead)和传送速率(Transfer rate)
这些值用于确定查询优化期间的 I/O 成本。这两个值的测量单位都是毫秒,而且它们应当分别是所有容器开销和传送速率的平均值。开销是与 I/O 控制器活动、磁盘寻道时间和旋转延迟时间相关联的时间。传送速率是将一个页读入内存所必需的时间量。它们的缺省值分别是 24.1 和 0.9。可以根据硬件规格计算这些值。

[ 本帖最后由 ericsson 于 2006-4-26 16:11 编辑 ]





继续浑浑噩噩的生活
顶部
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 16:27  资料  个人空间  短消息  加为好友 
1、 察看表空间的属性和容器

db2 => list tablespaces

           Tablespaces for Current Database

Tablespace ID                        = 0
Name                                 = SYSCATSPACE
Type                                 = System managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal

Tablespace ID                        = 1
Name                                 = TEMPSPACE1
Type                                 = System managed space
Contents                             = System Temporary data
State                                = 0x0000
   Detailed explanation:
     Normal

Tablespace ID                        = 2
Name                                 = USERSPACE1
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal

Tablespace ID                        = 3
Name                                 = SYSTOOLSPACE
Type                                 = System managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal

Tablespace ID                        = 4
Name                                 = MYDB2_TB02
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal

Tablespace ID                        = 5
Name                                 = MYDB2_TB01
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal

db2 => list  tablespaces show detail

           Tablespaces for Current Database

Tablespace ID                        = 0
Name                                 = SYSCATSPACE
Type                                 = System managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal
Total pages                          = 6150
Useable pages                        = 6150
Used pages                           = 6150
Free pages                           = Not applicable
High water mark (pages)              = Not applicable
Page size (bytes)                    = 4096
Extent size (pages)                  = 32
Prefetch size (pages)                = 32
Number of containers                 = 1

Tablespace ID                        = 1
Name                                 = TEMPSPACE1
Type                                 = System managed space
Contents                             = System Temporary data
State                                = 0x0000
   Detailed explanation:
     Normal
Total pages                          = 1
Useable pages                        = 1
Used pages                           = 1
Free pages                           = Not applicable
High water mark (pages)              = Not applicable
Page size (bytes)                    = 4096
Extent size (pages)                  = 32
Prefetch size (pages)                = 32
Number of containers                 = 1

Tablespace ID                        = 2
Name                                 = USERSPACE1
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal
Total pages                          = 15360
Useable pages                        = 15296
Used pages                           = 96
Free pages                           = 15200
High water mark (pages)              = 96
Page size (bytes)                    = 4096
Extent size (pages)                  = 32
Prefetch size (pages)                = 64
Number of containers                 = 2

Tablespace ID                        = 3
Name                                 = SYSTOOLSPACE
Type                                 = System managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal
Total pages                          = 87
Useable pages                        = 87
Used pages                           = 87
Free pages                           = Not applicable
High water mark (pages)              = Not applicable
Page size (bytes)                    = 4096
Extent size (pages)                  = 32
Prefetch size (pages)                = 32
Number of containers                 = 1

Tablespace ID                        = 4
Name                                 = MYDB2_TB02
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal
Total pages                          = 7680
Useable pages                        = 7664
Used pages                           = 24
Free pages                           = 7640
High water mark (pages)              = 24
Page size (bytes)                    = 8192
Extent size (pages)                  = 8
Prefetch size (pages)                = 144
Number of containers                 = 2

Tablespace ID                        = 5
Name                                 = MYDB2_TB01
Type                                 = Database managed space
Contents                             = Any data
State                                = 0x0000
   Detailed explanation:
     Normal
Total pages                          = 7680
Useable pages                        = 7664
Used pages                           = 24
Free pages                           = 7640
High water mark (pages)              = 24
Page size (bytes)                    = 8192
Extent size (pages)                  = 8
Prefetch size (pages)                = 144
Number of containers                 = 2


要列出容器,我们需要使用以上输出中的 Tablespace ID

db2 => list tablespace containers for 5

            Tablespace Containers for Tablespace 5

Container ID                         = 0
Name                                 = /dev/rdblv05
Type                                 = Disk

Container ID                         = 1
Name                                 = /dev/rdblv06
Type                                 = Disk

该命令将列出指定表空间中的所有容器。如上所示的路径指向容器物理上所在的位置





继续浑浑噩噩的生活
顶部
[广告] 论坛新开 【DB2产品家族】 【投资理财】 【行业应用】 板块
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 16:30  资料  个人空间  短消息  加为好友 
十、缓冲池

一个缓冲池是与单个数据库相关联的,可以被多个表空间使用。当考虑将缓冲池用于一个或多个表空间时,必须保证表空间页大小和缓冲池页大小对于缓冲池所“服务”的所有表空间而言都是一样的。一个表空间只能使用一个缓冲池。

创建数据库时,会创建一个名为 IBMDEFAULTBP 的缺省缓冲池,所有的表空间都共享该缓冲池。可以使用 CREATE BUFFERPOOL 语句添加更多的缓冲池。缓冲池的缺省大小是 BUFFPAGE 数据库配置参数所指定的大小,但是可以通过在 CREATE BUFFERPOOL 命令中指定 SIZE 关键字来覆盖该缺省值。足够的缓冲池大小是数据库拥有良好性能的关键所在,因为它可以减少磁盘 I/O 这一最耗时的操作。大型缓冲池还会对查询优化产生影响,因为更多的工作可在内存中完成。

基于块的缓冲池
V8 允许您留出缓冲池的一部分(最高可达 98%)用于基于块的预取操作。基于块的 I/O 可以通过将块读入相邻的内存区而不是将它分散装入单独的页,来提高预取操作的效率。每个缓冲池的块大小必须相同,并且由 BLOCKSIZE 参数进行控制。该值等于块的大小(单位为页),从 2 到 256,缺省值为 32。

扩展存储器
DB2 不将扩展存储器用于缓冲区。但是,可以用扩展存储器来高速缓存内存页,使得从内存移出页变得更快。

[ 本帖最后由 ericsson 于 2006-4-26 17:23 编辑 ]





继续浑浑噩噩的生活
顶部
[广告] 论坛新开 【DB2产品家族】 【投资理财】 【行业应用】 板块
ericsson
版主
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15


UID 34151
精华 15
积分 1263
帖子 2188
活跃指数 347
LU金币 3213 个
LU金条 0 个
阅读权限 210
注册 2005-8-23
 
发表于 2006-4-26 17:22  资料  个人空间  短消息  加为好友 
查看当前系统的bufferpool属性

SELECT * FROM SYSCAT.BUFFERPOOLS

令将缓冲池添加到现有的表空间

db2 => alter tablespace MYDB2_TB01 BUFFERPOOL BP01
DB20000I  The SQL command completed successfully.

要找出哪个缓冲池被分配给了表空间

db2 => SELECT TBSPACE, BUFFERPOOLID FROM SYSCAT.TABLESPACES



 附件: 您所在的用户组无法下载或查看附件




继续浑浑噩噩的生活
顶部
[广告] 论坛新开 【DB2产品家族】 【投资理财】 【行业应用】 板块
 



当前时区 GMT+8, 现在时间是 2008-5-16 23:55
乐悠LoveUnix论坛-京ICP备05005823号

Thanks to Discuz!  © 2001-2007    Power by LoveUnix.net
Processed in 0.101329 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 乐悠LoveUnix - Archiver - WAP