| « | 七月 2009 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||
在UNIX上一般的文件操作不含有记录锁,如果多个进程同时修改某个文件,往往是最后保存的进程替换掉先前保存的线程。
但是这类I/O操作根本不适应数据库管理系统的多进程同时写操作,数据库操作要求多个进程能够利用记录锁的机制对文件的某一部分进行锁定。
系统调用fcntl 就提供了这种方法,以下是实验结果:
查看全文
一旦对给定的信号采取sigaction() 设置了捕捉动作,那么在再次调用sigaction() 显式改变它之前处理方式一直有效。这种处理方式和signal() 在某些平台上的不可靠机制不同,符合了posix.1 标准。
测验如下:
对于那些在执行完信号处理函数之后自动重启系统调用的应用平台例如FreeBSD 6.2 等来说可以用 setjmp 和 longjmp 这一对函数来实现程序的中止。
例如:
查看全文
exec函数族用来将新生成的进程的各个段信息设置成指定应用程序的。共有六个函数:
execlp execl execle
execvp execv execve
查看全文
标准I/O库函数在应用层提供了缓冲机制,这点不同于系统调用函数。一般对于交互界面是行缓冲,对于文件是全缓冲。
这两种缓冲机制的差别可以通过一个小例子进行观察。
putenv() 函数并不copy环境变量数值到进程环境表,只是存放环境变量数值的指针,而setenv()函数则完全copy环境变量数值到进程环境表。
实验如下:
查看全文
SQL> alter tablespace temp add tempfile '/oradata/test/temp03.dbf' size 100M autoextend off;
Tablespace altered.
查看全文
以Linux 上 V9 版本DB2 实验为基础,制定生产系统数据库备份策略以及恢复步骤
前提:
第一:修改生产库 NEWLOGPATH 参数指向单独保存在线日志的文件系统,设为 /log_online1
第二:修改生产库 MIRRORLOGPATH 参数,镜像在线日志文件,设为 /log_online2
第三:修改生产库 LOGARCHMETH1 参数,指向专门保存归档日志的文件系统(不再修改老的 LOGRETAIN 参数),设为 /log_arch
第四:生产库每天做 online 模式的全备,保存在 /bak 下
第五:以上备份保留10天,超过10天自动删除,每天将这些备份backup到磁带进行保存,每周循环
故障:
假设裸设备出现故障,数据库需要恢复
预处理动作:
在本机或者备机恢复以上备份到指定目录