参数文件 控制文件 日志文件 归档文件

参数文件

Database Administration----Reference----Part I Initialization Parameters

  1. pfile和spfile区别
  1. 文件名不同

文本参数文件pfile:命令规则init+sid.ora 例如:initorcl.ora

服务器参数文件spfile:命名规则spfile+sid.ora 例如:spfileorcl.ora

  1. 类型不同

pfile:文本文件

spfile:二进制文件

  1. 使用顺序不同

spfile优先使用,如果找不到spfile,则使用pfile文件,如果pfile文件找不到,则出错

4) spfile只能使用命令的方式修改参数、pfile可直接修改文件,重启生效

ISSES_MODIFIABLE值为flase表示不能用alter session修改

ISSYS_MODIFIABLE值为flase表示不能用alter system修改

不能使用alter session和alter system进行修改的参数,称为静态参数,对于静态参数来说,只能使用pfile进行修改

alter
session和alter
system和alter
system deferred区别

alter
session只对当前会话生效,其它会话不生效

alter
system所有会话生效

alter
system deferred对当前会话不生效,对新打开的会话生效

alter
system scope=spfile
参数需要重启生效

实验案例:

  1. 创建pfile
  2. 创建spfile
  3. 当前使用的是什么参数文件
  4. 修改动态和静态参数
  5. PFILE下修改参数
  6. 当没有SPIFLE和PFILE时,如何解决

1)利用备份进行恢复

2)利用init.ora生成pfile

ORA-00845:
MEMORY_TARGET not supported on this system

系统中/dev/shm比oracle的内存小(memory_target)

解决方法:

mount
-t tmpfs shmfs -o size=7g /dev/shm

或者修改/etc/fstab文件

shmfs
/dev/shm tmpfs size=7g 0

控制文件

  1. 控制文件存放的内容
  2. 在哪个启动阶段使用控制文件
  3. 控制文件的类型(二进制)
  4. 控制文件在恢复时使用
  5. 如何保证控制文件可用?
  1. 备份控制文件
  1. rman(推荐)
  2. alter
    database backup controlfile
  3. 备份文本的控制文件(重建控制文件可以使用)

当数据库的物理结构改变后,请重新备份文本的控制文件

  1. 多路复用控制文件(不同磁盘)

实验案例:

  1. 增加控制文件(可能出现版本不一致)
  2. 当有多个控制文件时,其中一个控制文件丢失后的恢复
  1. 拷贝
  2. 减少
  1. 重创建控制文件
  1. 生成文本格式的控制文件
  2. 模拟所有的控制文件丢失
  3. 重建控制文件

日志文件

Database
Administration----
Administrator‘s Guide----12
Managing the Redo Log

  1. 日志文件存放的内容
  2. 日志切换
  1. 自动切换(日志满)
  2. 手动切换(alter
    system switch logfile)

3、日志文件的副本,为什么要指定多个副本?

保证日志文件中数据的不丢失

4、对日志文件的规划策略

实验案例:

1、查看日志组的状态

unused表示日志组从末用过

current表示日志组正在使用

active表示日志组处于活动状态

inactive表示日志组处于非活动状态

  1. 创建日志组
  2. 删除日志组(日志文件没有删除,需要手动使用rm删除)

当日志组的状态为current和active时,不能进行删除操作。

当数据库下只有二个组,不能删除其中一个日志组

  1. 添加日志成员

blank表示该日志成员处于正常状态

stale表示该日志成员处于许久末用状态(日志太大)

invalid表示日志成员处于无效状态(新增或损坏)

  1. 删除日志成员
  1. 重定位
  1. 日志丢失的恢复
  1. 其中一个日志成员丢失,不会影响数据库的正常打开,但有警告

解决方案:清空日志组(可以在mount状态下)

  1. 丢失的是非当前的日志组,数据库不能打开,出现错误

解决方案:清空日志组(可以在mount状态下)

  1. 丢失的是当前的日志组,数据库不能打开,出现错误

解决方案:

启动隐含参数_allow_resetlogs_corruption,该参数指定数据库在启动的时候跳过一致性检查

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

startup
mount;

recover
database until cancel;

auto

alter
database open resetlogs;

重新连接

ALTER
DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3

去掉该隐含参数

alter
system reset "_allow_resetlogs_corruption" scope =spfile
sid =‘*‘;

归档文件

  1. 什么是归档文件
  2. 归档文件作用
    1. Recover
      a database
    2. Update
      a standby database
    3. Get
      information about the history of a database using the LogMiner
      utility
  3. 如何开启和关闭归档

archive
log list

startup
mount

alter
database archivelog;

alter
database noarchivelog;

  1. 默认的归档文件存放的位置

/u01/app/oracle/fast_recovery_area/ORCL/archivelog/

  1. 归档的方式

自动和手动

alter
system switch logfile;

alter
system archive log current;

实验案例:

改变归档的位置,归档多个副本

alter
system set log_archive_dest_2=‘location=/home/oracle/backup/b‘
scope=spfile;

LOG_ARCHIVE_DEST
和LOG_ARCHIVE_DEST_n
or DB_RECOVERY_FILE_DEST是互斥的

开启和关闭闪回恢复区,主要修改以下二个参数

db_recovery_file_dest

db_recovery_file_dest_size

时间: 2024-08-06 07:59:03

参数文件 控制文件 日志文件 归档文件的相关文章

手动切换日志文件和清空日志文件

切换日志文件组 日志文件组是循环使用的,当一组日志文件被写满时,oracle系统自动的切换到下一组日志文件.在需要的时候,数据库管理员也可以手动的切换到其他的日志文件组.切换日志文件组需要使用如下的语句: alter system switch logfile; 清空日志文件组 如果日志文件组中的日志文件受损,将导致数据库无法将受损的日志文件进行归档,这会最终导致数据库停止运行.此时,在不关闭数据库的情况下,可以选择清空日志文件组中的内容. 清空日志文件组的语法如下: alter databas

.NET网站的App_Data文件夹内日志文件无法直接访问解决方案

开发网站的时候,记录下错误以及业务执行日志是非常有必要的.我们使用log4net作为我们的.NET网站的日志记录框架,日志文件格式为.txt,保存在App_Data目录下. 记录下日志后,我们在调试网站的以及检测网站执行进度过程中经常需要对日志进行查看,很古板的方式就是打开网站服务器,进入App_Data文件夹找到日志文件,再用记事本打开,这样查看日志的方式效果特别低,于是便想到直接通过网址访问日志文件,结果发现访问因权限不足被拒绝.网上百度了N种方法,结果发现改文件权限并没有什么卵用. 但是功

虚拟主机ip配置,nginx.conf文件配置及日志文件切割

今天粗略整理了一下虚拟主机配置,nginx.conf文件的配置,及日志文件的切割,记录如下: nginx虚拟主机配置:1.IP地址配置,2.绑定ip地址和虚拟主机详情:1.ip地址的配置:ifconfig eth0 192.168.0.15 netmast 255.255.255.0虚拟ip及对应server块基本配置:ifconfig eth0:1 192.168.0.180 broadcast 192.168.0.255 netmask 255.255.255.0ifconfig eth0:

通过RMAN联机全库备份,包括控制文件,归档日志文件,备份成功后,删除已备份的归档日志。

RMAN> backup as backupset full database format '/u01/app/backup/db_%U.rmn' include current controlfile plus archivelog delete all input; Starting backup at 10-OCT-16 current log archived using target database control file instead of recovery catalog

Spark API综合实战:动手实战和调试Spark文件操作、动手实战操作搜狗日志文件、搜狗日志文件深入实战

这里,我以指定executor-memory参数的方式,启动spark-shell. 启动hadoop集群 [email protected]:/usr/local/hadoop/hadoop-2.6.0$ jps8457 Jps[email protected]:/usr/local/hadoop/hadoop-2.6.0$ sbin/start-dfs.sh 启动spark集群 [email protected]:/usr/local/spark/spark-1.5.2-bin-hadoop

将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)

转载:http://www.cnblogs.com/lori/p/3529936.html 代码: static void GetFiles(List<string> arr, string dir) { arr.AddRange(Directory.GetFiles(dir)); var subDir = Directory.GetDirectories(dir).ToList(); if (subDir != null && subDir.Count > 0) sub

算法~将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)

概念: 算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等. 注意: 使用递归时,初学者要特别注意的就是“出口”,必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵. 代码中的递归: 核心代码 static void GetFiles(List<string> arr, string

Oracle 控制文件和日志文件

管理控制文件 在Oracle数据库中,控制文件是一个很小(大小一般在10MB范围内)的二进制文件,含有数据库的结构信息,包括数据文件和日志文件的信息.可以将控制文件理解为物理数据库的一个元数据存储库.控制文件在数据库创建时被自动创建,并在数据库发生物理变化时更新.控制文件被不断更新,并且在任何时候都要保证控制文件是可用的.只有Oracle进程才能够安全地更新控制文件的内容,所以,任何时候都不要试图手动编辑控制文件. 由于控制文件在数据库中的重要地位,所以保护控制文件的安全非常重要,为此Oracl

控制文件与日志文件

1:控制文件 每个数据库至少拥有一个控制文件,一个数据库可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库,Oracle创建数据库时系统会自动创建两个或三个控制文件,每个控制文件记录相同的信息. 使用语句SELECT * from v$controlfile;查看控制文件 2:日志文件 1)重做日志文件 记录数据库所有发生过的更改信息(增删改)以及Oracle内部行为(创建数据表.索引等)而引起的数据库变化信息. 技巧:通过对表或者整个表空间设定NOLOGGING属性,使基于表或表空间

控制文件+日志文件

控制文件 1>  查看控制文件信息 v$controlfile Select name from v$controlfile 2>  创建控制文件 a)         查询数据文件(记录下来) Select name from v$datafile; b)         查询日志文件(记录下来) Select group#,member from v$logfile; c)         以管理员身份登录 Conn sys/123456 as sysdba d)         关闭数据