ORACLE启动
ORACLE主要由两部分组成:Instance和Database。Instance是指一组后台进程/线程和一块共享内存区域,而Database是指存储在磁盘上的一组物理文件。
ORACLE数据库的启动主要分3个步骤:
1、启动到nomount状态;
2、启动到mount状态;
3、启动到open状态。
下面分析一下启动的各个步骤:
一、启动到nomount状态
在启动的第一步,ORACLE会寻找到参数文件(pfile/spfile),根据参数设置,创建实例,分配内存,启动后台进程。在这一步,只需要一个参
数文件(不需要控制文件和数据文件)就可以启动实例(Instance)。(启动到nomount的命令:SQL>startup
nomout)此时,查看alert_<SID>.log可以看到这一阶段的启动过程。
在ORACLE9I中,首选spile<SID>.ora,如果没有则选择spile.ora,如果没有则选择init<SID>.ora,如果没有则启动失败。
可以在SQL*PLUS中通过show parameter spfile命令来检查数据库是否使用了spfile文件,如果value不为NULL,则数据库使用了spfile文件。
在参数文件中,通常需要最少的参数是db_name,设置了这个参数以后,数据库实例就可以启动了。
可以使用下面命令来查看一些缺省路径:
show parameter background_dump(警报日志文件alert_<SID>.log的存放地点)
show parameter dump_dest
show parameter control_files
show parameter db_name
特例:在使用RMAN(Recovery Manager)时存在更为特殊的情况,Oracle允许在不存在参数文件的情况下启动一个实例,数据库的db_name会被缺省的命名为DUMMY。(在LINUX下,用$rman target / 来进入RMAN)
二、启动到mount状态
启动到nomount状态以后,Oracle就可以从参数文件中获取控制文件的位置信息。一般会有3个完全相同的控制文件,放在不同的物理硬盘上,避免因为介质故障而同时损坏3个控制文件。
在nomount状态下,可以用v$parameter视图获取控制文件信息,前面已经讲过。在数据库mount以后,可以查询v$controlfile视图获得关于控制文件的信息。(select * from v$controlfile)
在
mount过程中,会锁定控制文件,如果找不到控制文件,则会报错,此时可以查看警报日志。因为Oracle的3个控制文件完全相同,如果损失了1,2
个,可以复制完好的控制文件,更改为相应的名称,就可以启动数据库了,如果全部丢失了,那就只有恢复或者重建控制文件来打开数据库了。
启动
到mount状态,数据库必须具备的另一个重要文件是口令文件,该文件位于$ORACL
相关文档:
查询时可以指定使用索引的写法。
SELECT /*+ index(TB_ALIAS IX_G_COST3) */
TB_ALIAS.*
from g_Cost TB_ALIAS
WHERE Item_Two = 0
AND Flight_Date >= To_Date('20061201', 'YYYYMMDD')
AND Flight_D ......
通常我們在建立 PostgreSQL/Oracle 資料庫的時候, 如果要使用 MySQL/MS-SQL identity 雷同的功能, 就是要採用 Sequence 來建立, 而為了每一個 Table 都有獨立的序號產生器, 我們會建立個別的 sequence.
例如 (PostgreSQL samp ......
1.流程如下
用户可以使用Oracle安装程序从Windows NT框中删除所需要的产品,但是这可能有点费劲。
若不想保留任何N T的Oracle产品,可以按以下指令删除所有的Oracle产品:
1) 首先,用控制面板上的 Services 应用程序停止所有的Oracle服务。
所有的Oracle服务都应有一个包含“O R C L”、“Oracle&rdqu ......
IN条件
用IN条件在指定的一组值中进行测试。IN条件也就是 成员条件。
在幻灯片的例子中显示所有经理号为100、101或201的雇员的employee numbers, last names, salaries和经理的employee numbers。
在IN条件中可以使用任何数据类型。下面的例子从EMPLOYEES表返回雇员信息行,这些雇员的名字包括在WHERE子句的名字列 ......
一.锁
数据库使用锁(lock) 来保证任何给定时刻最多只有一个事务在修改给定的一段数据。实质上讲,
正是锁机制才使并发控制成为可能。例如,如果没有某种锁定模型来阻止对同一行的并发更新,数据库就
不可能提供多用户访问。不过,如果滥用或者使用不当,锁反倒会阻碍并发性。如果你或数据库本身不必
要地对数据 ......