最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

ORACLE控制文件,redolog和数据文件的总结

来源:动视网 责编:小OO 时间:2025-10-02 18:06:37
文档

ORACLE控制文件,redolog和数据文件的总结

控制文件:解决版本问题命令,用高版本覆盖低版本ORA-00214:controlfile'/u01/oracle/oradata/orcl/control01.ctl'version781inconsistentwithfile'/u01/oracle/oradata/orcl/control02.ctl'version779SQL>hocp/u01/oracle/oradata/orcl/control01.ctl/u01/oracle/oradata/orcl/control02.ctlS
推荐度:
导读控制文件:解决版本问题命令,用高版本覆盖低版本ORA-00214:controlfile'/u01/oracle/oradata/orcl/control01.ctl'version781inconsistentwithfile'/u01/oracle/oradata/orcl/control02.ctl'version779SQL>hocp/u01/oracle/oradata/orcl/control01.ctl/u01/oracle/oradata/orcl/control02.ctlS
控制文件:

解决版本问题命令,用高版本覆盖低版本

ORA-00214: control file '/u01/oracle/oradata/orcl/control01.ctl' version 781

inconsistent with file '/u01/oracle/oradata/orcl/control02.ctl' version 779

SQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control02.ctl

SQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control03.ctl;

SQL> alter database mount;

控制文件应控制在100M之内,如果超过100M一般通过重建来减少。

控制文件备份:

归档模式:

SQL> alter database backup controlfile to '/u01/oracle/control2012.bak';

任意模式下:

SQL> alter database backup controlfile to trace as '/u01/oracle/backctl.txt';

rman备份:

SQL> ho rman target /

RMAN> backup current controlfile

或者这样:

RMAN> backup database include current controlfile;

或者把rman自动备份控制文件打开

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP On

控制文件的恢复:

控制文件应有多份,放在不同的硬盘上

版本不一致问题:

1.拷贝版本高的来覆盖版本低的

ORA-00214: control file '/u01/oracle/oradata/orcl/control01.ctl' version 781

inconsistent with file '/u01/oracle/oradata/orcl/control02.ctl' version 779

SQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control02.ctl

SQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control03.ctl;

SQL> alter database mount;

2.或者修改初始参数中的参数文件个数(不推荐使用)

控制文件丢失:

修改隐藏参数,不验证一致性

alter system set "_allow_resetlogs_corruption"=true scope=spfile

重做日志管理:

1.组成员要分散,磁盘IO要快

2.日志文件大小分配要合理

保证每个组的切换时间应该不小于20分钟左右

切换日志:

Alter system  switch logfile;

添加日志组:

alter database add logfile group 4 '/u01/oracle/oradata/orcl/redo04.log' size 50m;

下次切换日志会优先使用此文件

其中group 4 可以省略不写,系统会自动分配

添加有多个成员的组:

alter database add logfile ('/u01/oracle/oradata/orcl/redo06.log','/u01/oracle/oradata/orcl/redo6.log') size 50m;

往已经有的组里添加成员:

alter database add logfile member '/u01/oracle/oradata/orcl/redo4.log' to group 4;

大小默认是组内已有成员的大小。

alter database add logfile member '

' to group

删除日志组:

日志组状态不能使current和active

alter database drop logfile group 6,group 5

删除某个成员:

alter database drop logfile member '

';

重做日志的重命名:

在mount和open阶段才能更改,因为是改到控制文件里面了。

日志文件不能是current和active

先把文件拷贝到另一个名称

Ho cp

Alter datebase  rename file ‘’ to ‘

非归档模式可以直接改随便哪个状态都可但不能使current

Current 和active丢失后数据库启动会成问题

改变日志组的大小:(先把原来的组删除,在新建同名的组)

Alter database drop logfile group 3;

Alter database add logfile group 3 (‘/u01/oracle/oradata/orcl/redo03.log’,’ /u01/oracle/oradata/orcl/redo03.log’);

监控日志组自动切换的时间间隔:

Select  to_char(first_time,’yyyy-mm-dd hh24:mi:ss’’),group# from v$log;

日志文件需要监视内容:

1.位置在哪里,是否存在

2.磁盘空间是否足够

3.日志切换间隔时间

4.看日志组下是否具有多个成员

5.不一致 

日志不一致的处理方法:

清空日志:Alter  database clear logfile group n; 清空非current 和active的日志

Alter database clear unarchived logfile group n; 清空非current的日志;

日志文件全部丢失:

归档模式下不使用隐藏参数:

Recover database using backup controlfile;

Alter database open resetlogs;

使用隐藏参数方法:

SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

Startup  force mount

Alter database open resetlogs

重置隐藏参数(要不容易引起错误)

Alter  system reset  "_allow_resetlogs_corruption" scope =spfile sid =’*’;

数据文件:

Create smallfile|bigfile tablespace <> datafile ’ <>’ size <>

database_properties这张表记录了系统默认表空间类型

修改默认的表空间类型:

Alter  database  setdefault  bigfile tablespace

具有创建表空间权限的用户:

Dba role

Sysdba

Sysoper

Datafile ---后面跟数据文件路径,名字,必须要有oracle写权限;

Lmt 本地管理表空间来替代dmt数据字典表空间

转换:

8i dmt------exp---------

10g---lmt----

10g-----lmt----建立表结构-------imp--------ignore=y;

Create tablespace f2 datafile ‘ /u01/oracle/xx.dbf’ size 10 m extent management local;

10g不在支持字典管理表空间

Dba_tablespaces视图中的extent_management可以查看当前的管理方式

查询表空间状态

select tablespace_name,file#,v.status,v.enabled from dba_data_files d,v$datafile v where d.file_id=v.file#;

表空间的四种属性:online offline readonly  readwrite

System 必须 online 不能read write

Sysaux 可以offline   不能readonly

Undo  不能offline  不能readonly

其他随意

表空间在offline 时会带来检查点事件

有些表空间不能offline

       --系统表空间

      --存在激活的回滚段表空间

       --默认的临时表空间

alter tablespace users offline

alter tablespace users online

表空间修改为readonly时会带来检查点事件

只读是不能进行DML操作但可以DDL语句,可以删除表空间上的对象

修改表空间名称:

alter tablespace  TB1   rename to  TB2

system 和sysaux 表空间不能改名字

database_properties中定义的不能改 -----users  temp 

       undo_tablespace  不要改若改需同时该参数

表空间大小;

建议自动扩展

查看自动扩展的表空间

select tablespace_name, autoextensible from dba_data_files;

更改数据文件表空间为自动扩展:

alter database datafile  ‘*.dbf’  autoextend on;

alter database datafile  ‘*.dbf’  autoextend off;

其他参数

alter database datafile  ‘*.dbf’  autoextend on next 5M maxsize 1T;

改变表空间大小:

alter database datafile '/u01/oracle/T1.dbf' resize 1M;

增加大小:

alter database datafile '/u01/oracle/T1.dbf' resize 100M;

但尽量用自动扩张

alter database datafile 6 autoextend on;

测试:

create user t1 identified by ti default tablespace T1;

SQL> create user t1 identified by t1 default tablespace T1;

SQL> grant connect,resource to t1;

SQL> create table t(id number,name varchar2(256));

可以通过添加数据文件来增减表空间

但文件越多执行一次CKPT的代价越高

但可以提高IO

表空间的数据文件的重命名和重定位

      1 将需要重命名的表空间离线

      2 操作系统级移动数据文件或者改名

      3  执行下面的rename命令目标文件必须存在

  alter database  rename  file  ‘u01/oracle/*.dbf’ to ‘/u01/oracle/*.dbf’ ;

注意:必须在归档模式下,在mount阶段下也可以改

v$logfile and V$datafile 都可以用上面的指令改名

 4 将表空间online online时 将效验数据文件的状是否正确

删除表空间:

drop tablespace TB1

默认不会删除数据文件需加参数 including contents(删除其中的段 ) and datafiles;

drop tablespace TB1 

获取表空间和数据文件的信息:

表空间: dba_tablespaces   V$tablespace

数据文件: dba_data_files    v$datafile

临时数据文件:dba_temp_files    v$tempfile

一个tablespace最多只能有1024个datafile

文档

ORACLE控制文件,redolog和数据文件的总结

控制文件:解决版本问题命令,用高版本覆盖低版本ORA-00214:controlfile'/u01/oracle/oradata/orcl/control01.ctl'version781inconsistentwithfile'/u01/oracle/oradata/orcl/control02.ctl'version779SQL>hocp/u01/oracle/oradata/orcl/control01.ctl/u01/oracle/oradata/orcl/control02.ctlS
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top