Oracle数据库遭遇断电遭遇ora-00214.ora-00314.ora-00312错误恢复案例一枚 1.数据库在17日21:19启动开始报错ora-214错误: Tue Jan 17 21:19:10 2017 alter database mount exclusive Tue Jan 17 21:19:13 2017 ORA-214 signalled during: alter database mount exclusive... Dump file d:\oracle\produ…
一.物理结构Oracle物理结构包含了数据文件.日志文件.控制文件和参数文件 1.数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表.索引)的数据物理地存储在数据库的数据文件中.数据文件有下列特征: 一个数据文件仅与一个数据库联系.一旦建立,数据文件不能改变大小. 一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成. 数据文件中的数据在需要时可以读取并存储在ORACLE内存储区中.例如:用户要存取…
oracle备份恢复之recover database的四条语句区别 https://www.cnblogs.com/andy6/p/5925433.html 需要学习一下. 1  recover database using backup controlfile2  recover database until cancel3  recover database using backup controlfile until cancel;4  recover database until ca…
ORACLE数据库有时候需要对存储进行调整,增加分区.IO调优等等,此时需要移动数据文件.重做日志文件.控制文件等等,下文结合例子总结一下这方面的知识点. 进行数据文件.重做日志文件.控制文件的迁移前,需要总体了解一下当前Linux服务器的磁盘.分区信息,以及服务器文件使用情况,如下所示 查看Linux服务器的文件使用情况 1: [root@DB-Server ~]# df -h 2:  3: Filesystem Size Used Avail Use% Mounted on 4:  5: /…
有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当然备份恢复也是其中的方式之一.本文主要描述如何使用批量方式来迁移数据文件,日志文件.如需要也可以将整个数据库迁移到新的位置以及重命名数据库. 1.环境及需求 robin@SZDB:~> cat /etc/issue Welcome to SUSE Linux Enterprise Server 10…
原理: 数据库必须运行在归档模式下,否则备份没有意义.备份前冻结块头,使scn号不变化,然后cp物理文件,最后解冻块头.此过程dml语句可以正常执行,动作被写在日志文件里面,当解冻scn号后,日志文件中内容会自动写入数据文件. 流程: 1.全库备份: 1)alter database begin backup; 2)cp物理文件 3)alter database end backup; 脚本: spool /u01/oracle/jiaoben/bf2.sql select 'ho cp '||…
一.查看数据库信息:=====================1.数据文件 SQL> SELECT FILE#,STATUS,ENABLED,NAME FROM V$DATAFILE; FILE# STATUS ENABLED NAME ---------- ------- ---------- ------------------------------------------------ SYSTEM READ WRITE D:\APP\ADMINISTRATOR\ORADATA\ORCL\…
Oracle 物理结构(七) 文件-归档日志文件…
控制文件: 控制文件在数据库创建时被自动创建,并在数据库发生物理变化时更新.控制文件被不断更新,并且在任何时候都要保证控制文件是可用的.只有Oracle进程才能安全地更新控制文件的内容,所以,任何时候不要试图手动编辑控制文件 Oracle系统提供了备份文件和多路复用机制来保护控制文件. 控制文件中包含的内容(数据库的结构信息+当前的数据库参数设置): 数据库名称和SID标识 数据文件和日志文件列表(文件名称和对应路径信息) 数据库创建的时间戳 表空间信息 当前重做日志文件序列号 归档日志信息 检…
原来的默认位置是/var下 需要将这些文件更换位置 1.先创建数据文件和日志文件存放位置的目录并给权限 mkdir -p /usr/local/rabbitmq/mnesia mkdir -p /usr/local/rabbitmq/log chmod -R 777 /usr/local/rabbitmq 2.创建或新增环境参数配置文件 vi /etc/rabbitmq/rabbitmq-env.conf 增加如下两行内容 RABBITMQ_MNESIA_BASE=/usr/local/rabb…
注意事项: 1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构. 2 目标机器只需要安装oracle数据库软件即可. 3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试.   一 拷贝参数文件备份.控制文件备份.数据文件备份.以及归档备份到新主机上   1 rman 连接到源数据库   [oracle@oracle dbs]$ rman target / Recovery Manager: Release 10.2.0.1.0…
1  recover database using backup controlfile2  recover database until cancel3  recover database using backup controlfile until cancel;4  recover database until cancel using backup controlfile; 本文主要介绍以下四种恢复方式的含义与区别:   1. recover database using backup…
--什么是控制文件 控制文件是数据库的一个二进制文件,它主要记录数据库的名称. 数据库的数据文件存放位置等信息. 一个控制文件只能属于一个数据库.如果控制文件丢失,这数据库就无法操作. --下面查询语句必须在 sql plus工具中执行. --查询控制语句数据字典 desc v$controlfile; --什么是日志文件 日志文件在Oracle数据库中分为重做日志文件和归档日志文件两种.重做日志文件 是Oracle数据库正常运行不可缺少的文件.重做日志文件主要记录了数据库 操作过程.用于备份和…
1  recover database using backup controlfile2  recover database until cancel3  recover database using backup controlfile until cancel;4  recover database until cancel using backup controlfile; 本文主要介绍以下四种恢复方式的含义与区别:   1. recover database using backup…
控制文件丢失: alter database backup controlfile to traces; shutdown immediate; @j:\db\script\orcl_ora_ctl_bak (J:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_3028.trc) 日志文件丢失: recover database until cancel; alter database open resetlogs;…
(同平台:rhel6.4~rhel6.4:同版本:oracle 11g 11.2.0.1~ oracle 11g 11.2.0.1) 冷备份发生在数据库关闭状态下,直接拷贝物理文件的备份方式,备份数据库可以运行在归档模式,也可以运行在非归档模式. 备份流程: 1)首先在运行的库中得到运行的所有文件. 主要备份文件:passwordfile.spfile.controlfile.datafile.tempfile.logfile 2)然后计划内关闭数据库,一般在晚上无人访问时关闭. 3)拷贝物理文…
备份 冷备:关闭数据库并进行数据库物理文件的拷贝过程. 热备:数据库处于open阶段时的备份,通过指令将数据库文件头锁定,然后进行物理系统拷贝,然后通过指令解冻数据文件头,解冻后通过日志文件和undo表空间内容进行写入,是数据库达到最新状态. RMAN备份:基于块的备份,只备份数据库中使用过的块,这是比冷备和热备先进的地方.节约空间.时间. 1)rman内存管理:备份时首先占用large pool,如果large pool没有分配大小,将占用共享池内存. 2)rman备份恢复目录:首先的存储路径…
一.什么是在线日志文件 默认情况下redo的块大小是磁盘的扇区大小,通常是512字节,但是现在很多磁盘开始支持4k的扇区,oracle能自动识别并使用4k的大小,但是使用4k的redo block会有redo 浪费产生. SELECT name, value FROM v$sysstat WHERE name = ‘redo wastage’; 如果使用的是仿真模式的磁盘,4k的扇区模拟512的扇区,你可以指定512的块来覆盖默认生成的4k的块,但是如果redo的写入与4k扇区的开头不一致,会导…
前面我们说了用oracle自带的审计功能可以实现记录用户登录失败日志到数据表中(链接:http://www.54ok.cn/6778.html).今天我们来分享一下如何把用户登录失败信息记录到alert.log日志文件中. 使用sys账号登录数据库,然后创建触发器. CREATE OR REPLACE TRIGGER logon_denied_to_alert  AFTER servererror ON DATABASEDECLARE  message   VARCHAR2(168);  ip …
#!/bin/sh sqlplus "用户名/密码@数据库"<<EOF  或者只有一个库的 :sqlplus "用户名/密码"<<EOF sqlplus "用户名/密码"<<EOF     显示连接详情,查询语句 ,查询结果: sqlplus -S "用户名/密码" <<EOF  只显示sql语句查询结果: sqlplus "用户名/密码"<<EO…
存储引擎文件:因为MySQL表存储引擎的关系,每个存储引擎都会有自己的文件来保存各种数据.这些存储引擎真正存储了数据和索引等数据. 表空间文件 InnoDB存储引擎在存储设计上模仿了Oracle,将存储的数据按表空间进行存放.默认配置下,会有一个初始化大小为10MB.名为ibdata1的文件.该文件就是默认的表空间文件(tablespace file).你可以通过参数innodb_data_file_path对其进行设置.格式如下: innodb_data_file_path=datafile_…
需求如下: 现有一个1G左右的日志文件,大约有500多万行, 用php返回最后几行的内容. 1. 直接采用file函数来操作 or file_get_content() 肯定报内存溢出注: 由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下 限制只能最大使用内存16M,这是通过php.ini里的memory_limit = 16M来进行设置,这个值如果设置-1,则内存使用量不受限制. 下面是一段用…
SLF4J的全称是Simple Logging Facade for Java,即简单日志门面. SLF4J并不是具体的日志框架,而是作为一个简单门面服务于各类日志框架,如java.util.logging, logback和log4j. SLF4J支持{}作为占位符,等价于C语言中的%s,而不必再进行字符串的拼接,效率有显著的提. 1.slf4j使用 引入包 slf4j-api-1.6.2.jar import org.slf4j.Logger; import org.slf4j.Logger…
--查看当前的存放位置 select database_id,name,physical_name AS CurrentLocation,state_desc,size from sys.master_files  where database_id=db_id(N'数据库名');    --修改文件的存放位置下次启动生效 --testDb为数据库名, alter database 数据库名 modify file ( name = 文件名(不包含后缀), filename = '文件存储路径'…
A. 将数据文件收缩到指定的目标大小 以下示例将 UserDB 用户数据库中名为 DataFile1 的数据文件的大小收缩到 7 MB. 复制 USE UserDB; GO DBCC SHRINKFILE (DataFile1, 7); GO B. 将日志文件收缩到指定的目标大小 以下示例将 AdventureWorks2008R2 数据库中的日志文件收缩到 1 MB.若要允许 DBCC SHRINKFILE 命令收缩文件,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件. 复制…
UNDO表空间存储着DML操作数据块的前镜像数据,在数据回滚,一致性读,闪回操作,实例恢复的时候都可能用到UNDO表空间中的数据.如果在生产过程中丢失或破坏了UNDO表空间,可能导致某些事务无法回滚,数据库无法恢复到一致性的状态,Oracle实例可能宕机,之后实例无法正常启动:如果有多个UNDO表空间数据文件,丢失其中一个数据文件数据库实例可能不会导致实例宕机,数据库无法干净的关闭(只能SHUTDOWN ABORT),数据库实例能正常的重启,但所有未回滚的数据块依然无法处理,尝试新建UNDO表空…
备份需求和rman备份 oracle数据库的备份相关问答: 1)备份时数据库处于何种状态? 备份时数据库处于OPEN状态,这样数据库可以正常工作. 2)备份的数据备份在什么地方? 备份在本地磁盘. 3)备份的存储空间如何? linux系统下可以用linux的系统命令df -lh来查看磁盘空间. 4)应以什么方式备份? 应以rman的增量(差量)备份,这样备份和恢复都比较简单,所占用的空间比较小. 查看数据库是否为归档状态: SQL>archive log list 更改数据库的归档模式:数据库由…
exp 交互模式:导出scott用户下的emp表. [oracle@localhost ~]$ exp Export: Release 10.2.0.1.0 - Production on Thu Nov 27 12:27:45 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. Username: scott Password: Connected to: Oracle Database 10g Enterprise Edit…
在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 二.设置deferred_segment_creation参数 该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.修改SQL语句: alter sy…
alter database add logfile ('D:\OracleFiles\LogFiles\REDO4_A.LOG', 'E:\OracleFiles\LogFiles\REDO4_B.LOG') size 20M; ('D:\OracleFiles\LogFiles\REDO5_A.LOG', 'E:\OracleFiles\LogFiles\REDO5_B.LOG') size 20M; alter database add logfile member ; alter dat…