如何对DB2数据库进行异机恢复
方法: 1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%" mysql -u root -pvmwaremysql>use mysql;mys
这些文件包括日志文件、配置信息、历史文件和三个表空间。这些表空间是:SYSCATSPACE:这是保存 DB2 系统编目的地方,系统编目跟踪与 DB2 对象相关联的所有元数据。 TEMPSPACE1:DB2 用来放置中间结果的临时工作区域。 USERSPACE1:默认情况下存放所有用户对象(表、索引)的地方。所有这些文件都放在默认驱动器上的 DB2 目录中。默认驱动器通常是安装 DB2 产品的卷。对于简单的应用程序,这个默认配置应该可以满足需要。但是,可能希望改变数据库文件的位置,或者改变 DB2 管理这些对象的方式。接下来,我们将更详细地研究 CREATE DATABASE 命令。对于从 DB2 8 进行迁移的用户,有一个特殊的注意事项:在 DB2 9 之前,CREATE DATABASE 命令会为上面列出的所有对象创建 SMS 表空间。在 DB2 9 中,所有表空间都将定义为自动存储(DMS)表空间。以下的 CREATE DATABASE 命令将数据库放在 Windows *** 作系统下的 D: 驱动器上的 TEST 目录中:CREATE DATABASE MYDB ON D:\TEST选择Automatic storage(默认设置)允许 DBA 为数据库设置在创建所有表空间容器时可以使用的存储路径。DBA 不必显式地定义表空间的位置和大小,系统将自动地分配表空间。例如,下面的数据库创建语句将为数据库中的所有表空间设置自动存储。CREATE DATABASE TESTAUTOMATIC STORAGE ON /db2/storagepath001,/db2/storagepath002,/db2/storagepath003AUTORESIZE YESINITIALSIZE 300 MINCREASESIZE 75 MMAXSIZE NONE在AUTOMATED STORAGE ON 选项后面,给出了三个文件目录(路径)。这三个路径是一个表空间的容器的位置。其他的选项是:AUTORESIZE YES 当表空间用光空间时,系统将自动地扩展容器的大小。 INITIALSIZE 300 M 没有定义初始大小的任何表空间的大小默认为 300 MB。每个容器是 100 MB(有三个存储路径)。 INCREASESIZE 75 M (或百分数) 当表空间用光空间时,表空间的总空间增加 75 MB。还可以指定一个百分数,在这种情况下,表空间会增长它的当前大小的百分数。 MAXSIZE NONE 表空间的最大大小没有限制。如果 DBA 希望限制一个表空间可以占用的存储空间,那么可以指定一个最大值。当使用 AUTOMATIC STORAGE 定义表空间时,不需要提供其他参数: CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE;在这个命令中,可以提供与表空间相关联的任何参数;但是,使用自动存储可以大大简化日常的表空间维护。与重要的大型生产表相关联的表空间可能需要 DBA 更多地干预。 在没有启用自动存储的数据库中创建表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。使用这些子句会分别创建 SMS 表空间和 DMS 表空间。在这两种情况下,都必须提供容器的显式列表。如果数据库启用了自动存储,那么有另一个选择。可以指定 MANAGED BY AUTOMATIC STORAGE 子句,或者完全去掉 MANAGED BY 子句(这意味着自动存储)。在这种情况下,不提供容器定义,因为 DB2 会自动地分配容器。代码页和整理次序所有DB2 字符数据类型(CHAR、VARCHAR、CLOB、DBCLOB)都有一个相关联的字符代码页。可以认为代码页是一个对照表,用来将字母数字数据转换为数据库中存储的二进制数据。一个 DB2 数据库只能使用一个代码页。代码页是在 CREATE DATABASE 命令中使用 CODESET 和 TERRITORY 选项设置的。代码页可以使用单一字节表示一个字母数字字符(单一字节可以表示 256 个独特元素),也可以使用多个字节。英语等语言包含的独特字符相当少;因此单字节代码页对于存储数据足够了。日语等语言需要超过 256 个元素才能表示所有的独特字符;因此需要多字节代码页(通常是双字节代码页)。在默认情况下,数据库的整理次序根据 CREATE DATABASE 命令中使用的代码集进行定义。如果指定选项 COLLATE USING SYSTEM,就根据为数据库指定的 TERRITORY 对数据值进行比较。如果使用选项 COLLATE USING IDENTITY,那么以逐字节的方式使用二进制表示来比较所有值。DB2 Administration Guide 列出了创建数据库时可用的各种代码页。在大多数情况下,DBA 会让这个设置保持为数据库所在的 *** 作系统的默认代码页。对于需要使用 XML 数据的应用程序,有一个特殊的注意事项。当前,DB2 只在定义为 Unicode(UTF-8)的数据库中支持 XML 列。
db2 删除数据库时,说该数据库正在使用,删除不了是设置错误造成的,解决方法为:
1、打开电脑,进入电脑 *** 作系统,使用快捷键组合WIN+R键可以直接打开运行,输入dbcmd命令行,即可直接打开db2命令行dbcmd。
2、通过以上方法,在电脑中找到db2命令行db50pxd后,点击确定或者直接点击回车键,进入命令行db50pxd的运行程序界面。在db50pxd运行界面中,输入db2start,开始启动db2数据库。
3、在dbcmd运行界面中,输入db2start,开始启动db2数据库,等待系统启动db2数据库。系统启动db2数据库的时间由当前电脑或者服务器的配置确定。
4、待系统启动db2数据库完成后,就可以开始使用db2创建数据库命令进行创建db2数据库了。在dbcmd中,输入:“db2 create database 数据库名”开始创建db2数据库。
5、在dbcmd运行界面中,输入:“db2 create database 数据库名”后,点击回车就可以开始创建db2数据库了,等待db2数据库创建完成。db2数据库创建时间由当前电脑或者服务器的配置决定。
6、使用“db2 create database 数据库名”db2命令创建完成db2数据库后,就可以使用“db2 connect to 数据库名”进行连接刚才创建的数据库了,如果可以连接上数据库,就说明数据库可以正常使用了。
DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的 *** 作系统平台上服务。虽然DB2产品是基于UNIX的系统和个人计算机 *** 作系统,但在基于UNIX系统和微软在windows系统下的Access方面,DB2追寻了ORACLE的数据库产品。
db2 get snapshot for locks on sample
db2 get db cfg for sample
db2 update db cfg using dlchktime 10000
-查看数据库管理器级别快照信息
db2 get snapshot for dbm
-查看数据库级别快照信息
db2 get snapshot for database on dbname
-查看应用级别快照信息
db2 get snapshot for application agentid appl-handler
注:appl-handler可以从list applicaitions的输出中得到
-查看表级别快照信息
db2 get snapshot for tables on dbname
注:需要把tables快照开关设为ON才会有作用
-查看锁快照信息
db2 get snapshot for locks on dbname
或
db2 get snapshot for locks on for application agentid appl-handler
-查看动态sql语句快照信息
db2 get snapshot for dynamic sql on dbname
db2 get monitor switches
db2 update monitor switches using lock on statement on
create event monitor mymonitor for deadlocks,statements write to file 'c:/temp'
set event monitor mymonitor state 1
db2evmon - path 'c:/temp'
--转自:>
在日常DB2的维护中,transaction log full是比较常见的问题,日志空间使用情况也是我们比较重视的问题,那么如何查看日志空间使用情况呢?
其实昨天在提到归档设置,我们知道DB2 在DATABASE级别有几个参数,如下决定了事物日志的使用空间大小
Log file size (4KB) (LOGFILSIZ) = 60000
Number of primary log files (LOGPRIMARY) = 16
Number of secondary log files (LOGSECOND) = 200
Changed path to log files (NEWLOGPATH) =
Path to log files = /db2inst1_log01/sample
如此我们可以计算分配给日志的空间大约是(200+16)600004/1024/1024大约50GB。
如果日志是单独的文件系统分区,我们在 *** 作系统上即可看到日志空间使用情况,对日志使用情况进行监控,可以看到如下信息:
$ df -g
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/db2inst1_log01 6000 5450 10% 1458 1% /db2inst1_log01
这个需要登录到系统,其实db2pd也是可以看到日志信息的
db2pd -d sample -logs
Database Partition 0 -- Database SAMPLE -- Active -- Up 34 days 17:30:12 -- Date 2013-11-26-104249558342
Logs:
Current Log Number 117123
Pages Written 33697
Cur Commit Disk Log Reads 0
Cur Commit Total Log Reads 0
Method 1 Archive Status Success
Method 1 Next Log to Archive 117123
Method 1 First Failure n/a
Method 2 Archive Status n/a
Method 2 Next Log to Archive n/a
Method 2 First Failure n/a
Log Chain ID 2
Current LSN 0x00001A2DDE649E70
Address StartLSN State Size Pages Filename
0x0700000177B795D0 00001A2CBFD88010 0x00000000 60000 60000 S0117104LOG
0x0700000177B806D0 00001A2CCE7E8010 0x00000000 60000 60000 S0117105LOG
0x0700000177B8B450 00001A2CDD248010 0x00000000 60000 60000 S0117106LOG
0x0700000177B82EF0 00001A2CEBCA8010 0x00000000 60000 60000 S0117107LOG
0x0700000177B9ECD0 00001A2CFA708010 0x00000000 60000 60000 S0117108LOG
0x0700000177BA27D0 00001A2D09168010 0x00000000 60000 60000 S0117109LOG
0x0700000177B79E30 00001A2D17BC8010 0x00000000 60000 60000 S0117110LOG
0x0700000177BAAD50 00001A2D26628010 0x00000000 60000 60000 S0117111LOG
0x0700000177B9FFD0 00001A2D35088010 0x00000000 60000 60000 S0117112LOG
0x0700000177BB44D0 00001A2D43AE8010 0x00000000 60000 60000 S0117113LOG
0x0700000177BD45D0 00001A2D52548010 0x00000000 60000 60000 S0117114LOG
0x0700000177B7F0D0 00001A2D60FA8010 0x00000000 60000 60000 S0117115LOG
0x0700000177B9C850 00001A2D6FA08010 0x00000000 60000 60000 S0117116LOG
0x0700000177B84750 00001A2D7E468010 0x00000000 60000 60000 S0117117LOG
0x0700000177B877D0 00001A2D8CEC8010 0x00000000 60000 60000 S0117118LOG
0x0700000177B857D0 00001A2D9B928010 0x00000000 60000 60000 S0117119LOG
0x0700000177B7DC50 00001A2DAA388010 0x00000000 60000 60000 S0117120LOG
0x0700000177B83750 00001A2DB8DE8010 0x00000000 60000 60000 S0117121LOG
0x0700000177B907B0 00001A2DC7848010 0x00000000 60000 60000 S0117122LOG
0x0700000177B91010 00001A2DD62A8010 0x00000000 60000 60000 S0117123LOG
0x0700000177B9A150 00001A2DE4D08010 0x00000000 60000 60000 S0117124LOG
不过之只能看到当前使用日志和日志文件对应的LSN信息和归档情况,对于使用率还真不能看到。
另外还可以在实例快照中看到,不过在此不示例了。
但是上面我们需要登录到 *** 作系统上,如何在远端通过SQL查询呢,其实DB2还是提供了蛮多的方法。
a通过管理视图查询:
select DB_NAME, LOG_UTILIZATION_PERCENT, TOTAL_LOG_USED_KB,TOTAL_LOG_AVAILABLE_KB,TOTAL_LOG_USED_TOP_KB, DBPARTITIONNUM from SYSIBMADMLOG_UTILIZATION;
DB_NAME LOG_UTILIZATION_PERCENT TOTAL_LOG_USED_KB TOTAL_LOG_AVAILABLE_KB TOTAL_LOG_USED_TOP_KB DBPARTITIONNUM
-------------------------------------------------------------------------------------------------------------------------------- ----------------------- -------------------- ---------------------- --------------------- --------------
DSS 897 4631824 46955050 16655013 0
非常清楚一目了然吧,对于监控事物日志使用情况,及早发现事务日志空间满问题很有帮助。
b还有一种方法,就是查看快照视图:
select int(total_log_used/1024/1024) as "Log Used (Mb)",int(total_log_available/1024/1024) as "Log Space Free(Mb)",
int((float(total_log_used)/float(total_log_used+total_log_available))100) as "Pct Used",int(tot_log_used_top/1024/1024) as "Max Log Used (Mb)",
int(sec_log_used_top/1024/1024) as "Max Sec Used (Mb)",int(sec_logs_allocated) as "Secondaries" from sysibmadmsnapdb;
Log Used (Mb) Log Space Free(Mb) Pct Used Max Log Used (Mb) Max Sec Used (Mb) Secondaries
------------- ------------------ ----------- ----------------- ------------------ -----------
4544 45833 9 16264 12532 5
1 record(s) selected
其实还有一种通过表函数的方法,不过需要带入参数:
select DB_NAME,TOTAL_LOG_AVAILABLE,TOTAL_LOG_USED,SEC_LOG_USED_TOP,SEC_LOGS_ALLOCATED from table(SNAP_GET_DB('SAMPLE',0))
DB_NAME TOTAL_LOG_AVAILABLE TOTAL_LOG_USED SEC_LOG_USED_TOP SEC_LOGS_ALLOCATED
-------------------------------------------------------------------------------------------------------------------------------- -------------------- -------------------- -------------------- --------------------
SAMPLE 48045192251 4779767749 13141773417 5
1 record(s) selected
看吧,DB2查看日志空间的方法真的很多,不能不说提供了强大的用户接口,就看大家怎么用了。
转载仅供参考,版权属于原作者。祝你愉快,哦
以上就是关于如何对DB2数据库进行异机恢复全部的内容,包括:如何对DB2数据库进行异机恢复、我把DB2数据库安装完了,谁能告诉我如何创建数据库、db2 删除数据库时,说该数据库正在使用,删除不了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)