oracle数据库数据文件无法读取的处理方法

oracle数据库数据文件无法读取的处理方法
oracle数据库数据文件无法读取的处理方法

案例所属系统

山东联通服务开通系统

案例现象

业务人员反映查询数据是报错如下:

ORA-00376: file 91 cannot be read at this time

ORA-01110: data file 91: '/dev/rlv_fwkt_015'

insert into tin_autohlr_hw_his

案例平台环境

AIX 6100-03,ORACLE 10gRAC,故障发生前2小时,服务开通数据库备用实例因NTP 服务问题被强行重启,并导致存储发生锁盘现象,但已处理完毕。

主机结构

IBM P570主机2台,主机刚刚重启,运行状态正常

应用部署

数据库服务器

案例分析过程

检查数据库状态

SQL> select instance_name,status,startup_time from v$instance;

INSTANCE_NAME STATUS STARTUP_TIME

---------------- ------------ -------------------

fwkt1 OPEN 2014/03/01 00:03:07

检查报错数据文件所在的表空间

SQL> select file_name,file_id,status,online_status from dba_data_files where file_name='/dev/rlv_fwkt_015';

FILE_NAME FILE_ID STATUS ONLINE_

------------------------------ ---------- --------- -------

/dev/rlv_fwkt_015 91 A V AILABLE RECOVER

SQL> select * from v$recover_file;

FILE# ONLINE ONLINE_ ERROR CHANGE# TIME

---------- ------- ------- -------------------

91 OFFLINE OFFLINE 1.3723E+13 2014/02/28 21:38:25

可以看出该数据文件需要恢复,但到目前为止仍无法判断该文件错误是磁盘物理损坏还是逻辑损坏。

下面是确认该数据文件中所包含的segment有哪些,检查如下:

SQL> select segment_name,segment_type from dba_segments where header_file=91;;

SEGMENT_NAME SEGMENT_TYPE

------------------------------ ------------------

BELL_HIS_NUM_P INDEX PARTITION

NX_HIS_ORDER_P INDEX PARTITION

NX_HIS_ORDER_P INDEX PARTITION

NX_HIS_ORDER_P INDEX PARTITION

NX_HIS_ORDER_P INDEX PARTITION

NX_HIS_ORDER_P INDEX PARTITION

NX_HIS_STATE_P INDEX PARTITION

NX_HIS_STATE_P INDEX PARTITION

8 rows selected.

可以看出全部都是索引,结合业务反馈的情况,不加where条件时,查询正常,一旦加上条件就报错,到这里基本可以判定问题所在了。

剩下的就是确定问题的处理方案了。

经现场维护人员与原厂工程师讨论,确定了两种方法:

方法一:因故障刚发生不久,且数据库归档日志仍旧存在,可以通过直接recover数据文件的方法来恢复报错的数据文件,命令如下:

Recover datafile 91;

方法二:重建报错的数据文件上的索引分区到其它表空间下,命令如下:

ALTER INDEX indexname REBUILD PARTITION partition_name TABLESPACE newtablespacename;

处理过程:

对数据文件进行恢复

SQL> recover datafile 91;

ORA-00279: change 13722992083393 generated at 02/28/2014 21:38:25 needed for thread 1 ORA-00289: suggestion : /archlog/fwkt_1_61347_740409054.arc

ORA-00280: change 13722992083393 for thread 1 is in sequence #61347

Specify log: {=suggested | filename | AUTO | CANCEL}

auto

ORA-00279: change 13722992083393 generated at 02/28/2014 20:42:58 needed for thread 2 ORA-00289: suggestion : /archlog/fwkt_2_25771_740409054.arc

ORA-00280: change 13722992083393 for thread 2 is in sequence #25771

ORA-00279: change 13722992084998 generated at 02/28/2014 21:38:27 needed for thread 2 ORA-00289: suggestion : /archlog/fwkt_2_25772_740409054.arc

ORA-00280: change 13722992084998 for thread 2 is in sequence #25772

ORA-00278: log file '/archlog/fwkt_2_25771_740409054.arc' no longer needed for this recovery

ORA-00279: change 13722992486561 generated at 02/28/2014 21:56:06 needed for thread 1 ORA-00289: suggestion : /archlog/fwkt_1_61348_740409054.arc

ORA-00280: change 13722992486561 for thread 1 is in sequence #61348

ORA-00278: log file '/archlog/fwkt_1_61347_740409054.arc' no longer needed for this recovery

ORA-00279: change 13722992877535 generated at 03/01/2014 00:03:40 needed for thread 1 ORA-00289: suggestion : /archlog/fwkt_1_61349_740409054.arc

ORA-00280: change 13722992877535 for thread 1 is in sequence #61349

ORA-00278: log file '/archlog/fwkt_1_61348_740409054.arc' no longer needed for this recovery

Log applied.

Media recovery complete.

对数据文件进行online操作

SQL> alter database datafile 91 online;

再次查询数据文件状态

SQL> select FILE_NAME,FILE_ID,TABLESPACE_NAME,STA TUS,ONLINE_STATUS from dba_data_files;

FILE_NAME FILE_ID TABLESPACE_NAME STATUS ONLINE_

---------------------------------------- ---------- -------------

/dev/rlv_fwkt_015 91 DA TAIDXHIS A V AILABLE online

SQL> select * from v$recover_file;

no rows selected

对数据文件/dev/rlv_fwkt_017上处理的坏块进行处理:

查询出现的坏块所在的segment以及分区号

SQL> SELECT /*+ rule */ segment_name, segment_type, relative_fno,partition_name FROM dba_extents WHERE file_id = &file_id AND &block BETWEEN block_id AND block_id + blocks - 1;

Enter value for file_id: 93

Enter value for block: 1136391

old 1: SELECT /*+ rule */ segment_name, segment_type, relative_fno,partition_name FROM dba_extents WHERE file_id = &file_id AND &block BETWEEN block_id AND block_id + blocks - 1

new 1: SELECT /*+ rule */ segment_name, segment_type, relative_fno,partition_name FROM dba_extents WHERE file_id = 93 AND 1136391 BETWEEN block_id AND block_id + blocks - 1

SEGMENT_NAME SEGMENT_TYPE RELATIVE_FNO PARTITION_NAME

---------------------------------------- ------------------ ------------ ------------------------------

HW_HIS_NUM_P INDEX PARTITION 93 P9

坏块所在的segment为索引,对该索引的分区进行重建

SQL> alter index "INTERFACE"."HW_HIS_NUM_P" rebuild partition "P9" online nologging ; 应用重新测试后问题解决

至此,故障解决。

windows环境下配置连接oracle数据库的方法及步骤

配置oracle连接 怎么在windows环境下配置连接oracle数据库? 步骤如下: 一、安装PL/SQL: 1、获取PL/SQL安装包;(PL/SQL是连接oracle的客户端) 2、安装PL/SQL; (1)双击PL/SQL安装程序,安装PL/SQL; (2)选择“I Agree”进行安装;

(3)选择安装路径(一般选择默认路径);点击【Next】按钮; (4)默认选择,点击【Next】按钮; (5)默认选择,点击【Finish】按钮,开始安装;

(6)安装进度显示 (7)窗口提示“PL/SQL Developer installed successfully”,安装完成,点击【Close】按钮。

二、配置连接 1、获取oci.dll文件(该文件是用来连接数据库的文件),将该文件及其所在的文件夹放置在一个不含有中文的路径下(如:F:\instantclient); 2、双击打开PL/SQL客户端,点击【Cancel】按钮; 3、跳转到PL/SQL页面,如下图所示。选择【Tool】—>Preferences; 4、按下图进行选择,在“Oracle Home(enpty is autodetect)”栏中选择oci.dll文件所在的目录;在“OCI library(enpty is autodetect)”栏中选择oci.dll文件

5、点击【OK】按钮即可完成 6、退出PL/SQL页面,重新登录。双击PL/SQL客户端,在Oracle Logon窗口中填写数据库的用户名、密码、数据库名和连接方式;点击【OK】按钮即可查询数据库。 完毕!谢谢!

oracle数据库安装及其配置规范标准v0

Oracle数据库系统安装及配置规范 2015-10

目录 1. 数据库物理设计原则 (5) 1.1. 数据库环境配置原则 (5) 1.1.1. 操作系统环境 (5) 1.1.2. 内存要求 (5) 1.1.3. 交换区设计 (5) 1.1.4. 其他 (6) 1.2. 数据库设计原则 (6) 1.2.1. 数据库SID (6) 1.2.2. 数据库全局名 (6) 1.2.3. 数据库类型选择 (6) 1.2.4. 数据库连接类型选择 (7) 1.2.5. 数据库SGA配置 (7) 1.2.6. 数据库字符集选择 (8) 1.2.7. 数据库其他参数配置 (9) 1.2.8. 数据库控制文件配置 (9) 1.2.9. 数据库日志文件配置 (10) 1.2.10. 数据库回滚段配置 (10) 1.2.11. 数据库临时段表空间配置 (11) 1.2.12. 数据库系统表空间配置 (11) 1.3. 数据库表空间设计原则 (11) 1.3.1. 表空间大小定义原则 (11) 1.3.2. 表空间扩展性设计原则 (12) 1.4. 裸设备的使用 (12) 2. 数据库逻辑设计原则 (13) 2.1. 命名规范 (13) 2.1.1. 表属性规范 (13) 2.1.2. 索引 (14) 2.1.3. 视图 (15) 2.1.4. 实体化视图 (15) 2.1.5. 存储过程 (15) 2.1.6. 触发器 (15) 2.1.7. 函数 (16) 2.1.8. 数据包 (16) 2.1.9. 序列 (16) 2.1.10. 表空间 (16) 2.1.11. 数据文件 (16) 2.1.12. 普通变量 (16) 2.1.13. 游标变量 (17) 2.1.14. 记录型变量 (17) 2.1.15. 表类型变量 (17)

oracle备份控制文件

如何备份控制文件 ?1、 ?ALTER DATABASE BACKUP CONTROLFILE TO TRACE; ?ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS; ?ALTER DATABASE BACKUP CONTROLFILE TO TRACE NORESETLOGS; ? ?2、 ?ALTER DATABASE BACKUP CONTROLFILE TO 文件名; ?ALTER DATABASE BACKUP CONTROLFILE TO 文件名 REUSE;(如果此文件已存在) ? ?例: ?SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a'; ? ?数据库已更改。 ? ?SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a'; ?ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a' ?* ?ERROR 位于第 1 行: ?ORA-01580: 创建控制备份文件c:\a时出错 ?ORA-27038: skgfrcre: 文件存在 ?OSD-04010: <创建> 选项指定,文件已经存在 ? ? ?SQL> ALTER DATABASE BACKUP CONTROLFILE TO 'c:\a' reuse; ? ?数据库已更改。 ? ?SQL> ? ?3、 ?Shutdown,直接看init.ora文件中的control_files项,找到其中任意一个控制文件, ?用操作系统命令复制到备份地点即可(如:软盘、光盘、磁带等) ? ?第一种方法产生的是一个跟踪文件,里面存放的是创建控制文件的脚本,可以用记事本等文本编辑器打开 ?这个脚本可以让你重新创建控制文件, ?生成一个跟踪文件到init.ora中user_dump_dest所指的目录下($ORACLE_HOME\ADMIN\ORADB\UDUMP\)。 ?

Oracle 10g安装教程带图片

ORACLE 10g 安装教程 刚刚接触ORACLE的人来说,从那里学,如何学,有那些工具可以使用,应该执行什么操作,一定回感到无助。所以在学习使用ORACLE之前,首先来安装一下ORACLE 10g,在来掌握其基本工具。俗话说的好:工欲善其事,必先利其器。我们开始吧! 首先将ORACLE 10g的安装光盘放入光驱,如果自动运行,一般会出现如图1安装界面: 图1

单击“开始安装”,就可以安装ORACLE 10g,一般会检查系统配置是否符合要求,然后出现“Oracle DataBase 10g安装”对话框,如图2所示: 图2

在安装Oracle DataBase 10g时可以选择“基本安装”和“高级安装”两种方法。选择“基本安装”时,“Oracle主目录位置”用于指定Oracle DataBase 10g软件的存放位置;“安装类型”用于指定Oracle产品的安装类型(企业版、标准版和个人版)。如果选择“创建启动数据库”,那就要指定全局数据库名称和数据库用户的口令。 选择“高级安装”,单击“下一步”,会出现“指定文件对话框”,在源路径显示的是安装产品所在的磁盘路径;目标名称用于资定Oracle主目录所对应的环境变量,目标路径用于指定安装Oracle软件的目标安装路径。设置目标名称为:OraDb10g_home1,目标路径为:D:oracleproduct10.1.0db1。如图3: 图3

单击“下一步”,会加载Oracle产品列表,然后出现“选择安装类型”对话框;如图4: 图4

选择安装类型时一般选择“企业版”,单击“下一步”,会出现“选择数据库配置”对话框,如图5 : 图5

oracle及操作系统对于文件大小的限制

[ORACLE]:单个表空间的数据限制 当将表空间加到4GB的时候,系统提示表空间不足。 原因: FAT12 单文件最大支持8M Fat16单文件最大支持2G Fat32单文件不能大于4G NTFS单文件最大64GB NTFS5.0单文件最大2TB 解决方案: 增加多个数据文件,对应同一个表空间。 因为:size of a tablespace = size of each datafile * number of datafiles ======================================== Oracle中数据文件大小的限制 https://www.360docs.net/doc/e211059957.html,/archives/2007/07/oracle_datafile_limit.html Oracle数据文件的大小存在一个内部限制,这个限制是: 每个数据文件最多只能包含2^22-1个数据块。 这个限制也就直接导致了每个数据文件的最大允许大小。 在2K Block_size下,数据文件最大只能达到约8G 在32K的Block_size下,数据文件最大只能达到约16*8G的大小。 这个限制是由于Oracle的Rowid中使用22位来代表Block号,这22位最多只能代表2^22-1个数据块。 为了扩展数据文件的大小,Oracle10g中引入了大文件表空间,在大文件表空间下,Oracle使用32位来代表Block号,也就是说,在新的技术下,大文件表空间下每个文件最多可以容纳4G个Block。 那么也就是说当Block_size为2k时,数据文件可以达到8T 。 当block_size为32K时,数据文件可以达到128T。 上周在做2K block_size测试时,第一次遇到了这个限制: SQL> alter tablespace eygle add datafile 'f:eygle02.dbf' size 8192M; alter tablespace eygle add datafile 'f:eygle02.dbf' size 8192M * ERROR 位于第 1 行: ORA-01144: 文件大小 (4194304 块) 超出 4194303 块的最大数

Oracle11g及PLSQL安装过程1.0.

一、Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不要出现空格等不规则字符。 官方下地址: https://www.360docs.net/doc/e211059957.html,/technetwork/database/enterprise-edition/downloads/i ndex.html以下两网址来源此官方下载页网。 win 32位操作系统下载地址: https://www.360docs.net/doc/e211059957.html,/otn/nt/oracle11g/112010/win32_11gR2_databas e_1of2.zip https://www.360docs.net/doc/e211059957.html,/otn/nt/oracle11g/112010/win32_11gR2_databas e_2of2.zip win 64位操作系统下载地址: https://www.360docs.net/doc/e211059957.html,/otn/nt/oracle11g/112010/win64_11gR2_databas e_1of2.zip https://www.360docs.net/doc/e211059957.html,/otn/nt/oracle11g/112010/win64_11gR2_databas e_2of2.zip 二、Oracle安装 1. 解压缩文件,将两个压缩包一起选择,鼠标右击-> 解压文件如图 2.两者解压到相同的路径中,如图:

两个压缩包没有关联,要全部解压,解压之后文件的大小为2.12G。 3. 到相应的解压路径上面,找到可执行安装文件【setup.exe 】双击安装。如图: 4. 安装第一步:配置安全更新,这步可将自己的电子邮件地址填写进去(也可以不填写,只是收到一些没什么用的邮件而已)。取消下面的“我希望通过My Oracle Support接受安全更新(W)”。如图:(不要填写自己的电子邮件地址,否则它会自动联网,可能会拖慢安装进度)

oracle 数据文件、表空间、日志文件、控制文件数据库管理

实验四 oracle 数据库管理 一、试验目的 掌握对数据文件、表空间、日志文件、控制文件的常用命令,作为DBA的必要准备。 二、实验内容 2.1 数据文件的管理 (1)在安装完毕之后,在INITsid.ORA参数文件有一个DB_FILES 参数,用于设置当前实例的数据外文件的个数。如: db_files = 80 如果在INITsid.ORA文件没有该参数,则可以用下面查询语句从视图中查到。如: SQL> col name for a20 SQL> col value for a50 SQL> set lin 100 SQL> select name,value from v$parameter where name = 'db_files'; NAME V ALUE -------------------- -------------------------------------------------- db_files 1024 (2)行命令建立表空间: 例1 CREATE TABLESPACE user_stu DA TAFILE 'h:/oracle/oradata/orcl/user_stu.dat' SIZE 20M DEFAULT STORAGE ( INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 99 PCTINCREASE 10 ) ONLINE ; 例2:建立一个新的表空间,具有两个数据文件: CREATE TABLESPACE CRM_TAB DA TAFILE 'h:/oracle/oradata/orcl/crm01.dbf' size 10 MB,'h:/oracle/oradata/orcl/crm02.dbf' size 10 MB; (3)对一个已存在的表空间追加新数据文件: 例1 ALTER TABLESPACE user_stu Add datafile 'H:/oracle/oradata/orcl/user_stu01.dbf' size 30M; 例2 为表空间增加数据文件 ALTER TABLESPACE users ADD DATAFILE 'userora1.dbf ' SIZE 10M ; (4)数据文件更名 ALTER TABLESPACE users

Linux之oracle数据库安装操作手册

Linux之oracle数据库安装操作手册 在Linux操作系统下安装oracle数据库与在windows下安装大不相同,在windows下,我们只需要oui直接安装,不需要任何的配置操作。但Linux则不一样,在安装数据库前需要很多的系统配置和前期准备工作。 一、查看系统参数 查看系统参数是为了检查系统是否满足数据库安装要求,以避免在安装过程中出现因磁盘不足等原因导致的数据库安装失败; 系统要求说明 内存必须高于1G的物理内存 交换空间一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小 硬盘5G以上 以下为查看系统参数的相关命令: # cat /etc/redhat-release 查看Linux安装版本 # uname -rm 查看操作系统内核版本 # df -Bm 查看磁盘空间 # lvdisplay 查看逻辑卷

# cat /proc/cpuinfo|grep process 查看CPU数 # cat /proc/meminfo 查看内存 二、查看系统安装的包 在查看系统参数后,需要查看系统支持oracle数据库安装的一些包,如下所示:所列包需要逐一检查,以免后期安装失败。如果发现有包没有安装,需要手动安装好缺少的包后再进行后续操作。 查询命令为:# rpm -qa|grep 包名 需要注意的是,上述这些包的版本与操作系统内核版本有关,所以在查的时候只需要

查询包名字母回车即可; 如果缺少包的话需要挂载Linux对应内核版本的ISO镜像文件到虚拟机中并找到这些包然后安装。 步骤: 1、打开虚拟机后,右下角,点击光盘图标,选“设置”; 2、挂载ISO文件(前提是在本地计算机中已经拷贝了相应的ISO文件),此处示例为: 然后点击浏览,将该ISO文件选中并确定; 3、右下角,点击光盘图标,然后选“连接”;这样,就将镜像文件挂载好了。 4、挂载好后运行相关命令找到包:

oracle数据库安装文档

oracle数据库安装文档

概述 内蒙古中行数据库安装:平台red hat 6.6,数据库版本11.2.0.4,升级psu。

一、环境准备 1、安装前准备 1.1编辑/etc/security/limits.conf文件 vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 1.2配置内核参数(Configure Kernel Parameters) vi /etc/sysctl.conf #kernel.shmmax = 68719476736 #kernel.shmall = 4294967296 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304

net.core.wmem_default = 262144 net.core.wmem_max = 1048586 1.3关闭防火墙并重启系统 vi /etc/selinux/config 1.4创建用户组 1.创建组和用户: groupadd -g 600 oinstall groupadd -g 601 dba groupadd -g 602 oper useradd -m -u 601 -g oinstall -G dba,oper oracle 2.修改用户口令:

linux下oracle数据库安装步骤

数据库安装步骤 1.创建oracle用户和组 [root@hostname ~]# groupadd oinstall [root@hostname ~]# groupadd dba [root@hostname ~]# useradd -g oinstall -G dba oracle [root@hostname ~]# passwd oracle 输入两次密码 2.修改oracle用户的环境变量 oracle用户下,在/home/oracle/.bash_profile文件中添加如下参数 [oracle@hostname ~]$ vim .bash_profile 文档最后添加: # For Oracle export DISPLAY=:0.0 export TMP=/tmp; export TMPDIR=$TMP; export ORACLE_BASE=/home/oracle/app/oracle; export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1; export ORACLE_SID=ipms; export ORACLE_TERM=xterm; export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH; export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; 3.root用户下执行 [root@hostname ~]# export DISPLAY=:0.0 [root@hostname ~]# xhost + 4.oracle用户下执行 [oracle@hostname ~]$ export DISPLAY=192.168.1.1:0.0

Oracle案例:损坏控制文件的恢复方法

Oracle案例:损坏控制文件的恢复方法 一:损坏单个控制文件 损坏单个控制文件是比较容易恢复的,因为一般的数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜相,只要拷贝一个好的控制文件替换坏的控制文件就可以了。1、控制文件损坏,最典型的就是启动数据库出错,不能mount数据库 SQL>startup ORA-00205: error in identifying controlfile, check alert log for more info 查看报警日志文件,有如下信息 alter database mount Mon May 26 11:59:52 2003 ORA-00202: controlfile: 'D:\Oracle\oradata\chen\control01.ctl' ORA-27041: unable to open file OSD-04002: unable to open file O/S-Error: (OS 2) 系统找不到指定的文件。 2、停止数据库 SQL>shutdown immediate 3、拷贝一个好的控制文件替换坏的控制文件或修改init.ora中的控制文件参数,取消这个坏的控制文件。 4、重新启动数据 SQL>startup 说明: 1、损失单个控制文件是比较简单的,因为数据库中所有的控制文件都是镜相的,只需要简

单的拷贝一个好的就可以了 2、建议镜相控制文件在不同的磁盘上 3、建议多做控制文件的备份,长期保留一份由alter database backup control file to trace产生的控制文件的文本备份 二:损坏全部控制文件 损坏多个控制文件,或者人为的删除了所有的控制文件,通过控制文件的复制已经不能解决问题,这个时候需要重新建立控制文件。 同时注意,alter database backup control file to trace可以产生一个控制文件的文本备份。 以下是详细重新创建控制文件的步骤 1、关闭数据库 SQL>shutdown immediate; 2、删除所有控制文件,模拟控制文件的丢失 3、启动数据库,出现错误,并不能启动到mount下 SQL>startup ORA-00205: error in identifying controlfile, check alert log for more info 查看报警日志文件,有如下信息 alter database mount Mon May 26 11:53:15 2003 ORA-00202: controlfile: 'D:\Oracle\oradata\chen\control01.ctl'

Linux操作系统中Oracle11g数据库安装步骤

Linux操作系统中Oracle11g数据库安装步骤 Linux操作系统中Oracle11g数据库安装规范 一:数据库安装软件(含补丁)的下载说明 Oracle数据库安装软件获得途径: 1、可以通过ftp的方式上传至服务器 2、Oracle官方网站下载:(从11.2.0.2开始ORACLE不再提供升级patch,只提供完整的安装包) 二:数据库版本规定 本安装规范所针对的Oracle数据库版本为:Oracle 11.2.0.3.0 三:安装环境需求 1、系统硬件需求 系统必须满足下列最小硬件要求 内存需求 系统架构要求 磁盘空间需求 显示需求 硬件系统基本需求参照表

2、操作系统版本及补丁矩阵 Oracle 11gR2要求OS至少为RHEL4.7,内核为Kernel 2.6.9 作为生产系统,我们要求使用RHEL 5.6 64位版本,即: Red Hat Enterprise Linux AS release 5 Update 5 x86_64 需要安装以下RPM软件包(加32bit括号注解的是该软件包32位版本,对应同名未加注解的则是该软件包64位版本。在64位版本平台上,两种版本都要安装): 1 binutils-2.17.50.0.6

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106 (32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc++-4.1.2 libstdc++-4.1.2 (32 bit) libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2

ORACLE控制文件损坏处理办法

ORACLE控制文件损坏处理办法 --关于ORACLE控制文件错误的处理 处理方法一.更改INIT.ORA中的参数,删除不能使用的controlFile ; 处理方法二. 先备份ORACLE安装目录和所有自定义创建的数据文件,再按照以下步骤进行试验处理。进入MS-DOS窗口,适用SVRMGRL工具; CONNECT INTERNAL/ORACLE ; STARTUP NOMOUNT; CREATE CONTROLFILE REUSE DA TABASE "ORCL" NORESETLOGS NOARCHIVELOG MAXLOGFILES 32 MAXLOGMEMBERS 2 MAXDATAFILES 32 MAXINSTANCES 16 MAXLOGHISTORY 1815 LOGFILE #此处根据实际情况处理 GROUP 1 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG' SIZE 1M, GROUP 2 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG' SIZE 1M, GROUP 3 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG' SIZE 1M DA TAFILE #此处根据实际情况处理 'D:\ORACLE\ORADA TA\ORCL\SYSTEM01.DBF', 'D:\ORACLE\ORADA TA\ORCL\RBS01.DBF', 'D:\ORACLE\ORADA TA\ORCL\USERS01.DBF', 'D:\ORACLE\ORADA TA\ORCL\TEMP01.DBF', 'D:\ORACLE\ORADA TA\ORCL\TOOLS01.DBF', 'D:\ORACLE\ORADA TA\ORCL\INDX01.DBF', 'D:\ORACLE\ORADA TA\ORCL\DR01.DBF', 'D:\ORACLE\ORADA TA\ORCL\SDE.ORA', 'D:\ORACLE\ORADA TA\ORCL\GIS.ORA', 'D:\ORACLE\ORADA TA\ORCL\OEM_REPOSITORY.ORA' CHARACTER SET ZHS16GBK ; # Take files offline to match current control file. # 可以不执行以下DROP ALTER DATABASE DATAFILE 'D:\ORACLE\ORADA TA\ORCL\USERS01.DBF' OFFLINE DROP; ALTER DATABASE DATAFILE 'D:\ORACLE\ORADA TA\ORCL\TOOLS01.DBF' OFFLINE DROP; ALTER DATABASE DATAFILE 'D:\ORACLE\ORADA TA\ORCL\INDX01.DBF' OFFLINE DROP; ALTER DATABASE DATAFILE 'D:\ORACLE\ORADA TA\ORCL\DR01.DBF' OFFLINE

Oracle11g数据库基础教程-参考答案资料

第1章Oracle 11g数据库安装与配置 1.简答题 (1) 企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。 (2) 常用数据库类型包括事务处理类、数据仓库类以通用类型。其中事务处理类型主要针对 具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。对于需要较 高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据 库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的 对某个主题进行复杂查询的应用环境。数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。对于需要对大量数据进行快速 访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。既可以支持大量并发用户的事务处理,又可以快速对大量历史数据进行复杂的数据扫描和处理。 (3) 数据库名可以由字母、数字、下划线(_)、#和美元符号($)组成,且必须以字母开头,长度不超过30个字符。在单机环境中,可以不设置域名,域名长度不能超过128个字符。Oracle服务标识符(SID)是一个Oracle实例的唯一名称标识,长度不能超过12个字符。(4) OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务,是数据库启 动的基础,只有该服务启动,Oracle数据库才能正常启动。(必须启动) OracleOraDb11g_home1TNSListener:监听器服务,该服务只有在远程访问数据库时 才需要(无论远程计算机还是本地计算机,凡是通过Oracle Net网络协议连接数据 库都属于远程访问)。(必须启动) OracleOraDb11g_home1ConfigurationManager:配置Oracle启动时的参数的服务。(非必须启动) OracleOraDb11g_home1ClrAgent:提供对.NET支持的Oracle数据库扩展服务。(非必须启动) OracleJobSchedulerORCL:数据库作业调度服务。(非必须启动) OracleDBConsoleorcl:Oracle控制台服务,即企业管理器服务。只有该服务启动了, 才可以使用Web方式的企业管理器管理数据库。(非必须启动) OracleVssWriterORCL:是Oracle对VSS提供支持的服务。(非必须启动) OracleMTSRecoveryService:是允许数据库充当一个微软事务服务器、COM/COM+对象和分布式环境下的事务资源管理器的服务。

Oracle 建立控制文件

Oracle 建立控制文件 在一般情况下,如果使用了复合控制文件,并且将各个控制文件分别存储在不同的磁盘中,则丢失全部控件文件的可能性将非常小。但是,如果数据库的所有控制文件全部丢失,这时惟一的补救方法就是以手动方式重新创建控制文件。 另外,如果DBA需要改变数据库的某个永久性参数,也需要重新创建控制文件。永久性参数是在创建数据库时设置的一些参数,主要包括:数据库名称、MALOGFILES(最大的重做日志文件数)、MAXLOGMEMBERS(最大的重做日志组成员数)等。 下面介绍创建新的控制文件的命令CREATE CONTROLFILE语句的基本用法,具体步骤: (1)查看数据库中所有的数据文件和重做日志文件的名称和路径。 在创建新控制文件时,首先需要了解数据库中的数据文件和重做日志文件。如果数据库中所有的控制文件和重做日志文件都已经丢失,这时数据库已经无法打开,因此也就无法来查询数所字典获得数据文件和日志文件的信息,这时惟一的办法就是查看警告文件中的内容。如果数据库可以打开,那么可以通过执行下面的查询来生成文件列表:SQL> select member from v$logfile; SQL> select name from v$datafile; SQL> select name from v$controlfile; 如果既无法打开数据库,又无法打开可靠的文件列表,那么就只能够用手工方法通过查找操作系统文件来制作文件列表。 (2)关闭数据库。 如果数据库处于打开状态,则可能采取正常模式关闭数据库。 SQL> connect as sysdba …. SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 (3)在操作系统级别备份所有的数据文件和重做日志文件。 在使用CREATE CONTROLFILE语句创建新的控制文件时,如果操作不当可能会损坏数据文件和日志文件,因此,需要事先对其进行备份。 (4)启动实例,但是不加载数据库。 在建立控制文件时,要求实例处理NOMOUNT状态,即不打开控制文件。 SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 401743872 bytes Fixed Size 1333480 bytes Variable Size 255854360 bytes Database Buffers 138412032 bytes Redo Buffers 6144000 bytes

Oracle数据库的物理存储结构之数据库控制文件详解

Oracle数据库中,数据库控制文件维护着数据库的全局物理结构,用以支持数据库成功的启动和运行。创建数据库时,同时就提供了与之对应的数据库控制文件。在数据库使用过程中,Oracle不断的更新数据库控制文件,所以只要数据库是打开的,数据库控制文件就必须处于可写状态。如果,犹豫某些原因控制文件不能被访问,那么数据库也就不能正常的工作了。 每一个控制文件只能与一个Oracle数据库相关联。数据库控制文件包含了数据库实例的启动和正常操作时,访问数据库所需的关于数据库的信息。数据库控制文件的内容只有Oralce 可以修改,数据库管理员和用户都不能对其进行编辑。 控制文件包含了以下信息: ?数据库名称 ?数据库创建的时间戳 ?相关的数据文件、重演日志文件的名称和位置 ?表空间信息 ?数据文件脱机范围 ?日志历史 ?归档日志信息 ?备份组和备份块信息 ?备份数据文件和重演日志信息 ?数据文件拷贝信息 ?当前日志序列数 ?检查点(checkpoint)信息 数据库名称和时间戳源自数据库创建之时,数据库名称或是来自DB_NAME初始化从参数,或者来自Cteate Database语句使用的名称。 每当数据文件或重演日志文件被添加内容、重新命名或者直接从数据库删除时,控制文件都要进行更新以反应物理结构的变化。记录下这些变化后,Oracle就可以:在数据库启动的时候,能够确定并打开数据文件和重演日子文件。 在必须要恢复数据库的时候,能够确定哪些文件是必须的、哪些文件是可用的。 PS:如果数据库的物理结构发生了改变(使用了Alert Database语句),用户应该立刻备份控制文件。 控制文件还记录了关于检查点的信息。每3秒,检查点进程(CKPT)就会在控制文件里记录重演日志文件的检查点位置信息。这些信息用于数据库的恢复过程,告诉数据库在这一点之前的已经记录下的重演条目不必进行恢复,因为它们已经被写入数据文件了。 由于控制文件对数据库的至关重要,所以联机存储着多个副本。这些文件一般存储在各个不同的磁盘上,以便将因磁盘试下哦引起的潜在危险降至最低程度。Oracle支持对同一个数据库并发的打开、书写多个相同的控制文件。通过为一个数据库在不同的磁盘上保存多个控制文件,可以幼小的降低对于控制文件可能发生的单点失败。例如,包含一个控制文件的磁盘崩溃了,如果Oracle试图访问这个被破坏的文件,当前实例就会失败,但是如果在不同的磁盘上保存了当前控制文件的复件,就可以重启一个实例而无需进行数据库恢复。

Linux操作系统中Oracle11g数据库安装步骤详细图解

Linux 操作系统中Oracle11g 数据库安装步骤详细图解 来源:Ask Oracle 社区/栏目:基础教程/时间:2013-03-19/阅读:5009次 Linux 操作系统中Oracle11g 数据库安装规范 一 :数据库安装软件(含补丁)的下载说明 Oracle 数据库安装软件获得途径: 1、可以通过ftp 的方式上传至服务器 2、Oracle 官方网站下载:(从11.2.0.2开始ORACLE 不再提供升级patch ,只提供完整的安装包) 二:数据库 Linux 操作系统中Oracle11g 数据库安装规范 一:数据库安装软件(含补丁)的下载说明 Oracle 数据库安装软件获得途径: 1、可以通过ftp 的方式上传至服务器 2、Oracle 官方网站下载:(从11.2.0.2开始ORACLE 不再提供升级patch ,只提供完整的安装包) 二:数据库版本规定 本安装规范所针对的Oracle 数据库版本为:Oracle 11.2.0.3.0 三:安装环境需求 1、系统硬件需求 系统必须满足下列最小硬件要求 ? 内存需求 ? 系统架构要求 ? 磁盘空间需求 ? 显示需求 硬件系统基本需求参照表 2、操作系统版本及补丁矩阵 Oracle 11gR2要求OS 至少为RHEL4.7,内核为Kernel 2.6.9 作为生产系统,我们要求使用RHEL 5.6 64位版本,即: Red Hat Enterprise Linux AS release 5 Update 5 x86_64 需要安装以下RPM 软件包(加32bit 括号注解的是该软件包32位版本,对应同名未加注解的则是该软件包64位版本。在64位版本平台上,两种版本都要安装): 1 2 3 4 binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 compat-libstdc++-33-3.2.3 (32 bit) elfutils-libelf-0.125

安装oracle数据库常见的错误

安装oracle数据库容易出现的几个错误及解决办法 这几天因为学习的关系,需要安装oracle数据库。以前在机子上装过,但是卸载了,在再次安装的过程,碰到一些问题,查了一些网上的资料,现在整理起来,相信蛮有用的! 一、第一次安装容易出现的错误。 第一次安装出现“加载数据库错误areasQueries”的错误,一般是因为Oracle安装目录带有中文字符的目录 二、再次安装容易出现的错误 第一次安装失败或者卸载后再次安装oracle数据库,需要在注册表里删除相关注册信息才行。 1、删除ORACLE注册表,位置如下: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE ORACLE8i 与ORACLE9i的注册表与ORACLE8 ,ORACLE7有所不同,oracle9i注册表的主要内容在HOME0中,再安装其他产品则会出现HOME1,HOME2等。所以如果机子上没有别的产品的话同,把ORACLE 及以下键值全部删除。 2、删除oracle服务,位置如下: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\oracle 含oracle 在内全部删除掉,当然,服务可以用关工具进行删除,同等效果的。 注意,如果已经安装了ArcSDE For Oracle,在删除Oracle键值的时候,不能删除带有ArcSDE 关键字的键值,否则容易造成ArcSDE无法运行。 3.删除事件日志,置如下: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Eventlog\Application

oracle数据库文件(控制文件、数据文件、日志文件)移动位置实验

26、数据库文件移动实验 数据库文件移动一般发生在软件硬件升级或者优化I/O性能的时候。 数据库文件包括控制文件、数据文件和日志文件 一、控制文件移动 1、查看控制文件位置 SQL>select name from v$controlfile; 2、 Alter system 命令修改控制文件位置 SQL>alter system set control_files=’c:\oracle\product\10.2.0\oradata\orcl\control01.ctl’, ‘d:\ control02.ctl’, ‘e:\ control03.ctl’ Scope=spfile; 3、关闭数据库 4、在操作系统中将控制文件拷贝到指定的位置 SQL>host copy c:\oracle\product\10.2.0\oradata\orcl\control02.ctl ,d:\ control02.ctl SQL>host copy c:\oracle\product\10.2.0\oradata\orcl\control03.ctl ,e:\ control03.ctl 5、启动数据库 6、查询控制文件位置 SQL>select name from v$controlfile; 7、删除没有用的控制文件 二、数据文件移动 1、查看数据文件位置 SQL>select name from v$datafile; 2、关闭数据库 3、在操作系统中将数据文件移动到指定的位置 SQL>host copy c:\oracle\product\10.2.0\oradata\user01.dbf, e:\user01.dbf 4、以mount模式启动数据库 5、用alter database rename file命令更改数据文件位置 SQL>alter databas e rename file ’ c:\oracle\product\10.2.0\oradata\user01.dbf’to ‘e:\user01.dbf’; 6、打开数据库 7、查看数据文件位置 SQL>select name from v$datafile; 三、日志文件移动 1、查看日志文件的位置 SQL>select member from v$logfile; 2、关闭数据库 3、在操作系统中移动日志文件位置 SQL>host copy c:\oracle\product\10.2.0\oradata\redo02.log,e:\redo02.log SQL>host copy c:\oracle\product\10.2.0\oradata\redo03.log,f:\redo03.log 4、关闭数据库 5、以mount模式启动

相关文档
最新文档