ORACLE数据库学习05

来源:互联网 发布:360软件商城下载 编辑:程序博客网 时间:2024/06/08 06:40

数据库的体系结构。

各个数据库是独立的,每个数据库都有自己的全套相关文件,有个各自的密码文件、参数文件、数据文件、控制文件和日志文件。数据库由一些物理文件组成,我们的表存储在数据库中,数据库不能直接读取,我们通过实例来访问数据库。

实例的维护

实例由内存和后台进程组成,实例是访问数据库的方法,初始化参数控制实例的行为,一个实例只能连接一个数据库,启动实例不需要数据库,有初始化参数文件就可以启动实例与是否存在数据库无关。实例内的内存叫SGA(system global area)。
查看SGA,进入高级账号conn  /as sysdba .
select * from v$sga;
SGA是全局共享的,大小由初始化参数文件控制。
后台进程是实例和数据库的联系纽带。分为核心进程和非核心进程。
查看当前后台进程
select NAME,DESCRIPTION from v$bgprocess where paddr<>'00';
核心进程,必须存在,有一个终止,所有数据库进程全部终止。
非核心进程,完成数据库的额外功能:归档,调度作业,共享server,
Database write(DBW0-DBW9  DBWa-DBWj)最多20个。数据库写进程,将数据库的变化写入到文件。
log write(LGWR)日志写进程,将日志缓冲写入到磁盘的日志文件,只有一个,因为日志是顺序写,所以一个就可以,因为顺序写所以不能为多个。
CheckPoint(CKPT)检查点进程,存盘点,除法dbwn,写脏数据库,更新数据文件头,更新控制文件。
System monitor(SMON)系统检测进程,实例崩溃时进行自动恢复,清除作废的排序临时段。
Process monitor(PMON)进程检测进程,清除启动部分进程,监听的自动注册。
我们链接到数据库其实是连接到电视里。这个过程叫建立一个会话。
数据库的最高账号sys的密码文件认证模式。
使用密码文件的认证方式进入到最高sys账号,如何建立和维护密码文件。在远程,或者操作系统认证不可以使用情况下,使用密码文件来认证sys用户。
windows下:
密码文件路劲 oracle_home\database
密码文件名称 pwd+sid.ora
unix下:
密码文件路劲 oracle_home\dbs
密码文件名称 pwd+sid
sid为实例名称,查看实例名称。
密码文件必须存在,即使你以操作系统认证,因为参数remote_login_passwordfile默认的值是要使用密码文件,除非你讲remote_login_passwordfile值改为none,这样就禁止了密码文件的使用。这样想进入到sys用户必须使用操作系统认证模式。
建立密码文件步骤。1.确定实例名称 2.确定密码文件路劲和名称 3.停止数据库,删除老的密码文件 
4.在操作系统下运行  orapwd file=F:\app\Ly\product\11.2.0\dbhome_1\databse\pwdorcl.ora password=cursen其中orcl为实例名,cursen是密码,是sys用户密码。
操作系统认证的优先级高于密码文件,sysoper不能使用操作系统来认证,它只能使用密码文件认证。
初始化参数remote_login_passwordfile=none; 则数据库设置为禁止使用密码文件,只能使用操作系统认证登陆到最高sysdba用户。

数据库的两种初始化参数文件:
初始化参数文件是描述实例的行为的文件,文件小。
初始化参数文件在windows操作系统的oracle_home\databse目录下,有纯文本和二进制两种形式
初始化参数文件在其他操作系统中存在于oracle_home\dbs目录下
纯文本参数文件,修改参数的时候直接编辑文件,保存就可以   init.ora
二进制参数文件,必须存在于服务端,使用命令来修改   Spfile,ora
纯文本和二进制参数文件的差别
1.修改参数的方式不同
2.优先级不同
3.是否动态存储修改的参数
4.存在未知不同,纯文本可以存在于客户端,二进制文件一定存在于服务端
5.rman可以本分二进制参数文件,不能备份纯文本参数文件
验证现在数据库使用的参数文件类型,我们一定要知道我们使用的什么类型参数文件
select distinct ISSPECIFIED from v$spparameter;
如果含义true就是使用二进制参数文件
如果只有false就是使用纯文本参数文件
如果有true,所以这个数据库使用的是二进制参数文件,我们修改参数要使用命令而不是编辑文件,千万不要编辑二进制参数文件,编辑以后会报ora-00600的错误。
两类参数文件的相互转换
create pfile from spfile;
create spfile from pfile;
上面的命令在连接的sys就可以使用,而不必启动数据库,当我们转换不了的时候,将数据库停止,再转换,再重新启动数据库,在验证。
参数文件优先级。 二进制参数文件 > 纯文本参数文件