LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 数据库 >

oracle数据库物理结构(2)

时间:2012-07-01 05:41来源:未知 编辑:admin 点击:
二.control file(控制文件):指定数据文件,临时文件,重做日志文件及其他控制信息 1. 控制文件概述 每个oracle数据库必须至少有一个控制文件,用于记载


二.control file(控制文件):指定数据文件,临时文件,重做日志文件及其他控制信息
1. 控制文件概述
·每个oracle数据库必须至少有一个控制文件,用于记载数据库物理结构
·每个oracle数据库应该至少有两个控制文件相互镜像,并存储在不同的disk,防止disk失效
·控制文件记载的信息包括:
数据库名称(可在参数文件获得);
数据文件名称和位置;重做日志名称和位置;表空间名称;
当前日志序列号;检查点信息;日志历史信息;
 
2. 查询数据库控制文件
SQL> select name,block_size(16k),file_size_blks from v$controlfile;
查看所有控制文件及大小
SQL> select value from v$parameter where name='control_files';查看所有控制文件
SQL> host ls -l /u01/app/oracle/oradata/ora10/control*
-rw-r----- 1 oracle oinstall 7061504 Mar 31 13:40 /u01/app/oracle/oradata/ora10/control01.ctl
-rw-r----- 1 oracle oinstall 7061504 Mar 31 13:40 /u01/app/oracle/oradata/ora10/control02.ctl
-rw-r----- 1 oracle oinstall 7061504 Mar 31 13:40 /u01/app/oracle/oradata/ora10/control03.ctl
 
3. 修改数据库控制文件
 
·新增/移动一个数据库控制文件
SQL> select name from v$controlfile;
 
NAME
-----------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora10/control01.ctl
/u01/app/oracle/oradata/ora10/control02.ctl
/u01/app/oracle/oradata/ora10/control03.ctl
SQL>create pfile from spfile
SQL>shutdown immediate
$cp control03.ctl control04.ctl
$mv control03.ctl ../controlbak.ctl
$vi $ORRACLE_HOME/dbs/init$ORACLE_SID.ora
SQL> startup pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora';
SQL> select name from v$controlfile;
 
NAME
-----------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora10/control01.ctl
/u01/app/oracle/oradata/ora10/control02.ctl
/u01/app/oracle/oradata/ora10/control04.ctl
SQL>create spfile from pfile;
 
·所有控制文件被破坏的恢复
SQL> alter database backup controlfile to trace; 每增加一个文件,必须输此命令,文件才完整,所有文件记录将保存在跟踪文件中
vi /u01/app/oracle/admin/ora10/udump/ora10_ora_11956.trc
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/ora10/redo01.log'  SIZE 50M,
  GROUP 2 '/u01/app/oracle/oradata/ora10/redo02.log'  SIZE 50M,
  GROUP 3 '/u01/app/oracle/oradata/ora10/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/ora10/system01.dbf',
  '/u01/app/oracle/oradata/ora10/undotbs01.dbf',
  '/u01/app/oracle/oradata/ora10/sysaux01.dbf',
  '/u01/app/oracle/oradata/ora10/users01.dbf',
  '/u01/app/oracle/oradata/ora10/example01.dbf'
CHARACTER SET ZHS16GBK
 
SQL>startup                                                                              启动失败
SQL>startup nomount
SQL> alter system set
control_files='/u01/app/oracle/oradata/ora10/netcontrolfile01', '/u01/app/oracle/oradata/ora10/netcontrolfile02'  scope=spfile;
SQL> shutdown immediate                                                         重启生效
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.
SQL> select value from v$parameter where name='control_files';    查看新设定
VALUE
----------------------------------------------------------------------------------
/u01/app/oracle/oradata/ora10/netcontrolfile01, /u01/app/oracle/oradata/ora10/netcontrolfile02
SQL> create controlfile database ora10 noresetlogs        (可从跟踪文件中获得,前提alter database backup......)
  2  logfile 
  3  group 1 '/u01/app/oracle/oradata/ora10/redo01.log',
  4  group 2 '/u01/app/oracle/oradata/ora10/redo02.log',
  5  group 3 '/u01/app/oracle/oradata/ora10/redo03.log'
  6  datafile 
  7  '/u01/app/oracle/oradata/ora10/sysaux01.dbf', 
  8  '/u01/app/oracle/oradata/ora10/system01.dbf', 
  9  '/u01/app/oracle/oradata/ora10/undotbs01.dbf', 
 10  '/u01/app/oracle/oradata/ora10/users01.dbf',
 11  '/u01/app/oracle/oradata/ora10/example01.dbf'
 12   character set zhs16gbk;
Control file created.
SQL> alter database open;
Database altered.
SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/ora10/temp.dbf' size 24125440 reuse autoextend off; (以避免排序报错 reuse指重用原OS文件
Tablespace altered.
SQL> host ls -l /u01/app/oracle/oradata/ora10/ne*  (控制文件已生成
-rw-r----- 1 oracle oinstall 6078464 Mar 31 14:50 /u01/app/oracle/oradata/ora10/netcontrolfile02
-rw-r----- 1 oracle oinstall 6078464 Mar 31 14:50 /u01/app/oracle/oradata/ora10/netcontrolfile01

转载请保留固定链接: https://linuxeye.com/database/663.html

------分隔线----------------------------
标签:物理结构oracles
栏目列表
推荐内容