- 浏览: 81034 次
最新评论
文章列表
手贱把所有的数据库文件都删除了。等发现的时候,还得瑟了一下,幸好备份了。于是拷贝之,startup。
悲剧开始:
SQL> startup
ORACLE instance started.
SQL> startup
ORACLE instance started.
Total System Global Area 238538752 bytes
Fixed Size 1335696 bytes
Variable Size 155192944 bytes
Database ...
临时表不会为其中的blocks生成redo信息,所以对临时表的操作是不可恢复的。用户修改临时表的block时,在redo log file中不会有对该block的修改信息。但是临时表会生成undo信息。因此,实际上,对临时表的操作会因为undo的生成而产 ...
使用脚本手工备份数据库的datafile,redo log file,control file到指定目录
OS的版本:
[oracle@sam tmp]$ cat /proc/version
Linux version 2.6.18-274.el5 (mockbuild@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Fri Jul 22 04:49:12 EDT 2011
...
没想到在执行select的时候也有可能生产redo 信息。
lock存储在block header中。lock的一个副作用是:在下一次access这个block的时候,需要清除lock信息,也就是清除transaction 信息。这个动作会生成redo,并使不是dirty block变成dirty block。也是因为这样,一个简单的select也可能生成redo,并导致在下一个checkpoint发生时,有大量的block需要写入到磁盘上。所幸,这样的事情并不是经常发生的。
之前在http://zzwssfd.iteye.com/blog/1560112 中有说到commit后, ...
这段时间对checkpoint完成的工作很迷糊,参考http://www.dbabeta.com/2008/all_about_oracle_checkpoint.html#sec1
在alert.log中有可能发现像thread 1 con't allocate new log,sequence 1466 ,checkpoint not complete,或者archival required这样的信息。这两个error发生的原因几乎是一样的。这样的错误提示应该引起DBA相当的注意。之所以出现这的错误是因为数据库需要reuse 联机redo log file的时候发现,它并不能使用redo log file。在DBWn没有完成checkpoint 或者ARCH没有把redo log file中的数据copy到归档日志时,就会发生redo log file不能reuse的事 ...
commit后数据库干的工作
- 博客分类:
- oracle小知识
用户提交commit后,数据库干的工作有:
1,oracle为用户的transaction生成一个SCN号。
2,LGWR把redo buffer中的数据写入到redo log file,同时把SCN号记录到redo log file中。这一步完成后,说明用户提 交的数据已经安全的写到磁盘
3,释放用户session占用的locks,这些locks可以在V$LOCK中查到。释放用户的lock后,那么其他在等待lock的session 就会被唤醒,继续它们的工作
4,如果在commit后,用户transaction修改的一些blocks依然在buffer cache中,这些blocks会被 ...
注:这个实验只是搭建tomcat,不包括任何安全,管理等理念
实验环境:centos5.7
实验工具:apache-tomcat-6.0.33.zip, jdk-7u4-linux-i586.tar.gz
准备工作,把工具放在/test目录
实验步骤:
设置java
1,解压jdk-7u4-linux-i586.tar.gz。 tar -xzvf jdk-7u4-linux-i586.tar.gz。生成jdk1.7.0_04目录。
2,设置java的环境变量。我使用的是root用户,就在/root/.bash_profile中添加新的java环境变量
3,vi ...
来着TOM的《oracle 编程艺术 9i,10g,11g》
PMON
PMON,进程监视。PMON主要有3个用途:
1,在进程非正常中断后,做清理工作。例如:dedicated server失败了或者因为一些原因被杀死,这是PMON的工作分两种。第一,是对dedicated server所 ...
session 和connection的不同
这里的不同,主要讨论dedicated server下的不同,为讨论shared server情况下的。参考资料是TOM的《oracle编程艺术9i,10g,11g》
一个connection可能没有session建立在上面,也可能有一个、甚至多个session建立在connection上,并且每个session都是分割开的、独立的,即使他们共享数据库的physical connection。一个connection中的某个session的提交动作不会影响到其他session。
在oracle中,connection是在用户进程和数据 ...
v$librarycache 学习
- 博客分类:
- 动态性能视图
通过查看v$librarycache视图,可以监控library cache的活动情况,进一步衡量share pool设置是否合理。其中GETS,PINS比较复杂,目前还不能理解。http://www.itpub.net/thread-498204-1-1.html
GETHITS列,表示GET命中的次数;
PINHITS列,表示PIN命中的次 ...
情况:在一个有多个用户同时连接数据库的情况下,如何知道每个用户在操作系统上对应的进程号是哪个?select a.sid,a.username,a.status,a.process,b.spid from v$session a,v$process b where a.paddr=b.addr;
这里的process就是用户对应的进程号
pctused、pctfree
- 博客分类:
- oracle体系结构
整理一下对pctused和pctfree的理解1 楼 zzwssfd 23 小时前 引用 请教:下面的理解是否正确。pctfree=20,pctused=40 1,一个新的数据块,不停的向其中插入数据,当数据块容量被利用超过40%后,不能再向其中 插入数据。那么 虽 ...