易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE启动原理

Checkpoint
        很多人都把checkpoint的概念给复杂化了,其实checkpoint这个数据库概念引入的真正意义就是用来减少在数据库
恢复过程中所花的时间(instance recovery),那么checkpoint是由谁来做的呢?我们都知道数据库中有个CKPT进程,这是个
可选进程,但是真正执行检查点的任务并不是由ckpt来完成的,而是ckpt在更新控制文件和数据文件头的有关信息后,通知
DBWn进程,产生一个检查点,在产生检查点的时候,DBWn进程会将buffer cache中的脏数据(当前online redo log对应的脏
数据),写入我们的数据文件当中。这个时候如果数据库此时崩溃(比如我们做个shutdown abort),那么在进行实例恢复的
时候就可以不需要当前online redo log的内容了,会很快就做完。因此ckpt进程只是个辅助进程,他的任务更多的是用来
在系统做checkpoint的时候更新控制文件和数据文件头中的信息。其实在oracle 8i的时候呢,ckpt的任务一般都是由lgwr
进程来完成,到了8i以后,随着CKPT进程的引入,lgwr的工作负担就减轻了很多(commit的速度加快了)
        那么如何来产生检查点呢?
        有三种方法,可以通过
        1.alter system checkpoint
        2.alter system switch logfile
        3.DBWn进程写出脏块
        SCN
        在Oracle中理解为一个内部同步时钟,是系统改变号的缩写(system change number),在Oracle数据库中我们可以
通过dbms_flashback包来查询当前系统的改变号:select dbms_flashback.get_system_change_number from dual;一般来
讲SCN主要是用来标识数据库所做的所有改变,这个SCN的改变是只能前进,不能回退,除非我们打算重建库,数据库中的
SCN永远不会归0,一般来说SCN的前进触发是由commit来进行的,除了这些据我观察每隔3秒种系统也都会刷新一次SCN.
        需要注意的是:
        1.CKPT一定是是在checkpoint发生的时候将数据库当前的SCN更新入数据库文件头和控制文件当中,同时DBWn进程
将buffer cache中的脏数据块(dirty blo


相关文档:

运行了Oracle的Linux服务器更改主机名

运行了Oracle的Linux服务器更改主机名
假如要把主机名改为oratest。
$表示oracle用户操作;
#表示root用户操作。
DB:oracle10.2
OS:RHEL4.5
第一步,关闭数据库和监听,dbconsole:
$ dbshut
$ lsnrctl stop
第二部:
# hostname oratest
第三步:
# vi /etc/sysconfig/network
更改hostname参数。
第四步 ......

linux oracle 安装

linux下oracle安装:
Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍     
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。     
如果是为了在一台仅有256M内存的普通PC机上试用Oracle9 ......

Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

原文:http://www.blogjava.net/Unmi/archive/2009/01/05/249956.html
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:
1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中
2. 建立数据库间的 dblink,然后用 create table B as select * from A ......

oracle中比较实用sql语句

-- 查看ORACLE 数据库中本用户下的所有表
SELECT table_name from user_tables;
-- 查看ORACLE 数据库中所有用户下的所有表
select user,table_name from all_tables;
-- 查看ORACLE 数据库中本用户下的所有列
select table_name,column_name from user_tab_columns;
-- 查看ORACLE 数据库中本用户下的所有列
se ......

oracle批量(batch)操作的使用

    /**
     * 更新记录,原子操作,不会commit
     * @param sql_id
     * @param condition
     * @return
     * @throws SQLException
     */
  &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号