- Sga(oracle有一个很大的内存块)的功能
- 维护所有进程需要访问的多种内部数据结构;
- 缓存磁盘上的数据,另外重做数据写至磁盘之前先在这里缓存;
- 保存已解析的SQL计划等。
- Oracle服务器处理请求两种最常见的方式
- 专用服务器
- 对于每个会话,都会出现一个新的专用服务器,会话与专用服务器之间存在一对一的映射。
- 客户端直接跟专用服务器通信,并有这个服务进程接收和执行我的SQL
- 共享服务器连接
- 客户端进程不会与共享服务器直接通信
- 多个数据库会话,只需要很少的进程/线程
- Tcp/IP连接
- 客户端软件会读取一个tnsnames.ora文件,这是纯文本的配置文件,通常放在[oracle_home]\network\admin,根据文件配置,把TNS连接串映射到有用的信息,也就是主机名(ip地址)、服务器上监听进程监听的端口,连接数据库的服务名
总结:oracle server主要两部分组成:实例和数据库。
一、数据库启动
- Nomout状态
a) 寻找参数文件,根据参数文件中的设置创建实例,分配内存,启动后台进程
b) 具体可以看看警告文件(alter_(sid).log),通过目录admin\orcl\bdump,可以根据background_dump设置参数查询,参数查询可以根据show parameter 参数名或SELECT * from v$parameter;
- Mount状态
a) 读取控制文件,口令文件
- Open状态
a) 读取数据文件、日志文件、检查点信息等
b) 检查数据文件头中的检查点计数是否和控制文件中的检查点计数一致
看看警告日志文件很重要