home/db2inst1/db2inst1/=NODE0000-->NULL
FIRST: default path ----no change
SECOND: default path -->data
storege path --->data.
Diagnostic data directory path (DIAGPATH) = /home/db2inst1/sqllib/db2dump
BACKUP DATABASE POS TO "/home/db2inst1/db2inst1" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;
CONNECT TO POS;
UNQUIESCE DATABASE;
CONNECT RESET;/CREATE DATABASE pos AUTOMATIC STORAGE YES ON '/home/db2inst1', '/data' DBPATH ON '/home/db2inst1' USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM PAGESIZE 4096;
//
CREATE DATABASE POS AUTOMATIC STORAGE YES ON '/data', '/data' DBPATH ON '/data' USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM PAGESIZE 4096;
RESTORE DATABASE POS FROM "/home/db2inst1" TAKEN AT 20100120145643 WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;
0 LOGPATH ===== /data/db2inst1/NODE0000/SQL00001/SQLOGDIR/
0 DB_STORAGE_PATH ==== /home/db2inst1/
0 LOCAL_DB_DIRECTORY ====/data/db2inst1/NODE0000/sqldbdir/
0 DBPATH ===/data/db2inst1/NODE0000/SQL00001/
1.make backup
2.drop database
3.create database with new path
1、下载一个lsof软件装上,google上可以搜到
2、找到正在用被删文件的进程
lsof | grep deleted
3、kill掉相应的进程空间就释放了
其它建议:
1、清理alert.log listerner.log这些日志文件时最好用">文件"这样的操作方式,不要用rm。
2、清理归档日志最好用backup ... delete input这样的方式。
3、如果你的操作系统总出现rm不释放空间的问题,该请sa好好查查系统问题了,同时可以在rm前用lsof看一下有无进程在用这个文件。
4、解决问题的方法很多,最好不要用重启数据库或重启操作系统这样的方法
0 LOGPATH ===== /data/NODE0000/
0 DB_STORAGE_PATH ====== /home/db2inst1/
0 LOCAL_DB_DIRECTORY====== /data/db2inst1/db2inst1/NODE0000/sqldbdir/
0 DBPATH ======== /data/db2inst1/db2inst1/NODE0000/SQL00001/
./db2 UPDATE DB CFG FOR pos USING logarchmeth1 OFF logarchmeth2 OFF logprimary 13 logsecond 4 logfilsiz 8000 newlogpath /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
oxfam:
Path to log files = /home/db2inst1/db2inst1/NODE0000/SQL00001/SQLOGDIR/
http://database.ittoolbox.com/groups/technical-functional/db2-l/logs-1836853
The steps from Ole are (as ever) correct...
Warning with the newlogpath, because yo need to deactivate/activate db in
order to the db uses the new log path
Check that there are no connections: db2 list applications
If yes, force the applications: db2 force applications (x, y, ...)
Check the database is not acivated: db2 list active databases
If activated, deactivate them: db2 deactivate db <dbname>
Then, activate db: db2 activate db <dbname>
Now the database must have the new log path in the "Path to log files" and
nothing on the NEWLOGPATH, check this with:
db2 get db cfg for <dbname> | egrep "Path to log files|NEWLOGPATH"