Oracle存储结构
文件
主要包括:控制文件,数据文件,联机重做日志文件
参数文件,备份文件,归档日志文件,口令文件,预警和跟踪日志文件
前三类文件较为重要
控制文件
查看控制文件
SQL> select name,value from v$parameter where name like '%control%';
根据查看发现有两个文件.ctl,这两个文件是完全一样的,是复用关系,可以将这两个文件放到不同的目录或者磁盘上,实现物理隔离。最好放到不同的磁盘上。
控制文件的安全-----复用
控制文件较小,三个控制文件的大小是一样的
控制文件中是没有实实在在的数据的,都是一些系统信息
如何将这两个文件放入不同的目录呢?-----放到备份恢复中去讲
数据文件
数据文件分为两类:临时数据文件和普通数据文件
数据文件里面放的是实实在在的数据
数据文件中存得时表中存数据
对于表的大小,百万以下的表是小型表,百万到千万之间是中型表,千万以上是大型表,存有上亿条数据的都是巨型表,一般对小表关注较少,对大型表关注较多
对于数据库,数据文件是最大的,但是没有复用得说法。
但是Oracle数据库比较害怕控制文件和redolog文件的损坏,但不害怕数据文件的损坏。
对于数据文件最重要的是------备份!!!
假如最新的数据文件被损坏或者丢失,该怎么办?
日志文件是一直在记录的,所有只要有旧的数据文件的备份再加上足够的日志文件,就可以将数据文件恢复到最新的样子。
Oracle数据库的数据文件存放的位置
查看普通文件
SQL> select * from dba_data_files;
查看临时文件
SQL> select * from dba_temp_files;
联机重做日志文件
如何设置日志文件的大小比较重要
查看日志文件
SQL> select * from v$logfile;
以上的三类文件一般放在存储上!!!!!
参数文件
参数文件放的是参数
Oracle数据库启动,是需要一块内存空间的,除此之外,要启动什么进程,这些都是存在参数文件的
SQL> select * from v$parameter where name like '%spfile%';
根据sql语句查看到参数文件是存在/ora/oracle/product/11.2.4/db_1/dbs/spfileorcl.ora
当执行SQL> select * from v$parameter ;时,显示出来的就是参数数据,而这些参数收拾在spfile中设置的。
原则上讲,Oracle数据库在启动时,会用到一次参数文件,之后基本上是不用的,即使参数文件有所损坏也不会对数据库运行有影响。
参数文件在数据库启动时用到一次,但一直到启动完成,参数文件也不会关闭,一直打开着,即使丢了数据库也不会崩溃
参数文件一般不放在存储上,放在两端的服务器上
备份文件
需要备份的文件包括:
控制文件、参数文件、数据文件、归档日志文件
参数文件每次不需要备份
备份文件千万不能放在存储上!!!!
备份文件是离线文件,一般放在带库上!!!
带库包括虚拟带库和真实带库
归档日志文件
查看归档文件
SQL> select * from v$archived_log;
这条命令可以查看到归档日志文件存放的位置
原则:归档日志文件千万不能放在存储上!!!!!
归档文件比较大!!!
存储一般出问题比较多,假如数据文件和归档日志文件都放在存储上,那么就一定会丢数据!!!
口令文件
丢失还可以再生成
远程登录数据库需要用到
预警和跟踪日志文件
记录oracle的重大操作以及出现的错误信息都会放到这个日志中
alert_orcl.log
联机重做日志----用于数据的恢复,保证数据一致的
预警和跟踪日志----用于判断数据库有没有出现问题的
.trc文件记录着LGWR进程出问题那一瞬间的内存状态
前台进程与后台进程都有PGA空间,也就记录一些PGA信息
udump----记录着ServerProcess产生的日志文件
bdump---记录着后台进程产生得日志文件