oracle11g安装配置手册_第1页
oracle11g安装配置手册_第2页
oracle11g安装配置手册_第3页
oracle11g安装配置手册_第4页
oracle11g安装配置手册_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle 安装配置手册V1.0 版1安装Oracle前的系统准备工作1.1 检查需要的软件包以root用户登录系统, 使用rpm -q软件包关键词命令进行检测rpm -q -qf binutils compat-libstdc+-33 elfutils-libelf elfutils-libelf-devel gcc glibc gcc-c+ glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc libstdc+-devel make sysstat unixODBC unixODBC-devel

2、将缺少的软件包用命令:rpm Wh加上缺少的软件包名称进行安装,如:# rpm -tvh compat-libstdc+-33-3.2.3-61.i386.rpm【注释:本系统缺少 3个软件安装包,详细见附录/SQMPMS/soft/oracle/package下,名称:libaio-devel-0.3.106-5.i386.rpm , unixODBC-2.2.11-7.1.i386.rpm , unixODBC-devel-2.2.11-7.1.i386.rpm 1.2 修改系统内核参数在/etc/sysctl.conf中添加以下行:vi /etc/sysctl.conffs.aio-ma

3、x-nr = 1048576fs.file-max = 6815744#kernel.shmall = 2097152#kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.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运行下面的命

4、令应用以上OS参数:/sbin/sysctl -p添加以下行到/etc/security/limits.conf文件中:vi /etc/security/limits.conf*softnproc2047*hardnproc16384*softnofile1024*hardnofile65536如果/etc/pam.d/login文件中没有以下行,则添加以下内容:vi /etc/pam.d/loginsession required pam_limits.so修改/etc/selinux/config文件来关闭linux防火墙,确保 SELINUX设置如下:vi /etc/selinux/co

5、nfigSELINUX=disabled1.3 创建oracle 组和用户groupadd oinstallgroupadd dbauseradd -g oinstall -G dba oraclepasswd oracle1.4 创建oracle安装目录mkdir /oraclechown -R oracle:oinstall /oraclechmod -R 775 /oracle1.5 设置oracle用户环境变量以oracle用户登陆系统,覆盖.bash_profile文件内容: vi /home/oracle/.bash_profile# Get the aliases and fun

6、ctions if -f /.bashrc ; then ./.bashrcfi# User specific environment and startup programsORACLE_SID= sqmpmsORACLE_BASE= /oracleORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH=$PATH:$ORACLE_HOME/bin:$HOME/binexport PATHLD_LIBRARY_PA TH=$ORACLE_HOME/lib:/

7、lib:/usr/lib export LD_LIBRARY_PA THCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export CLASSPATHif $USER = "oracle" thenif $SHELL = "/bin/ksh" ; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi2 安装 Oracle2.1 解压缩安装文件$ mkdir/oracle/soft通过S

8、SH上传安装包到/oracle/soft/目录下【SSH的实用详细见SSH实用说明】使用命令unzip文件名解压安装包$ cd /oracle/softunzip p10404530_112030_Linux-x86-64_1of7.zipunzip p10404530_112030_Linux-x86-64_2of7.zip设置oracle帐户可以操作安装文件所在的目录chown -R oracle:oinstall /oracle/soft/chmod -R 755 /oracle/soft/【注释:安装包见:附录 /SQMPMS/soft/oracle目录下,名称为:p10404530_

9、112030_Linux-x86-64_1of7.zip , p10404530_112030_Linux-x86-64_2of7.zip 2.2 安装 ORACLE用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面# su - oracle$ cd /oracle/soft/database$ ./runInstaller |如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:# export DISPLAY=:0.0 或者 ip:0.0# xhost +# su - oracle$ cd /oracle/soft/database$ ./runinsta

10、ller 或./runinstaller -ignoreSysPreReqs(跳过系统检查)如果出现 界面乱码现象,执行以下命令:export LANG=en出现安装界面后,根据界面提示进行相关的设置:精选'彳0日e加1曲0二34:后峋下一般幽 ”:It-* * 'lolritel1下载软件更ORACLE'邑百子主予/下宗港ft更新 直国扛件至总下梵此安装首轮力亘杂针件豆罚庄括号安装程序工挖妾立住三冠次更新.郭丁煌摩靠更裁PWUq区也 建次的补丁苴俘-诂造¥7卷眩一A 人-j£ -jf|i WT-TT|1:.:尸父/亦:啕My Oracle Supp

11、on身懒霓在行下题p a i T Y方苻能神看爸布要安装广而都坳凹假.0Q先七制1三件*在通,扇禺®下一的凶,募二阀生因犯港If午丫 一黑必 m变总Orator Datibdfsr 11g逸抨安装逸理地理人下任意或名斯、速:靠黑要升排菱府的oracle oataban Tig发行版2宝胆懵池拜'升愚现加勒期声陋*匚回轲配置初振屋g;,任学期8号小力蛆宽容为宜指互逸抨/Jg向版本ORAO eHDATABASEIVr -1 I 1 T T洋修j博伍比fi飒v光淡条件留丁唯Y至g产品茶坳的指定安装传考至安装颜更声知I个版科,企域 H scej®Oracle M&M

12、se llo 国质是具点"J超恺息相:乱招口:用H相安然fl我自if7等固州常垄得弼 摘足丈1:阳餐丽:司因工怫ft近感岩哼的郭T *林:筋(4 q”日口门口* DiiaDa.i llj后就阑£5功能上直前融招0?济社方苑可花姆比低Q中不正业的索求"它 包括计时3融可用性的Oracle 5.eil 3Pmion ciusiers,并且白市Oriels dusrare向存墀管 扇篦*:ft;那L L W 4之匚用醐urftd? Daoa?e llflbtintar7 tuition One是i -旺巴:纳iETi黄始月物更加宏 宣良f、1?亡业B0 幽遇藤选择选取口

13、v后退回,T幽+j It>ORACXS 111? ri<T4BAsr择五用于劫至国址殍所而古云袭的所有Oratie翎41党号相关文件的施径*出通秘书匍麻端 口Q茎强*T并IT两蒋办却于L II -ft r初死至曲去密件造阻T 条伟丁甘 丁粽':2产晶聚坳区racle 工目录西:jaraxle前览回指定用于疗情一 1尤|口驰克庠歌件文时的住宝,族性看不同于“口:基目录申珀飘阂$魁克炉的位置” 此赳件目录E DraJu初再卑王日京<1却性单酬加rad叼pe(xj口F1L? o/atjrwme,i蜀%孙-1辱度一 下一步西r,募。如果出现程序包警告异常,选择全部忽略,并执行

14、下一步Ckd Dat-bar 11gr正权案件坦,晰曳F 口“nip Ckalatw 11g麦行版3安装程序金标谪节壶盘空间.瓯4.5 GB可用27 6 B GB般占量:i orat ie /stinj daian ase J i 问 al J.45Laa epratijtis.xml数捱库瓜本金邮厚:安装物抵立昔管:口口Ka匚匕基后录:KraciE9件位置,/arativ/pniductal 1 ?Wdbhome驰徨且缶基联:ana ictou, oinsiai cosoiwtt产品法曲片息产品错单位百:foracle/tJalrveTta,v,口T;ilvp-tj'yifl nin

15、qlall 口| 上| saiffi1|it 楷安装完成的最后步骤,操作如下:$ su - root# cd /oracle/oralnventory/# ./orainstRoot.sh# cd /oracle/product/11.2.0/dbhome_1/# ./root.sh |# 回车完成3创建数据库3.1 配置监听1、以oracle用户登录系统运行 netca命令,操作步骤如下:1) : # su - oracle2) 先进入 oracle bin 目录,命令:# cd/oracle/product/11.2.0/dbhome_1/bin3) : $ netca4):系统会弹出弹出

16、操作窗口,如下图2、添加监听程序,如图3、输入监听程序名,如图Oracle Net Configuration Assistant;监斤孽序现置,监所程序名要从远程位荒直接口成E就捐库.必;更至少现置一 个Oracle N削舀听程序。清输入要创建的监听理序 的名就监口方程序名:LISTENER取消 j值 帮助 上一步也)下一步®) G4、使用默认端口 1521(生产环境下,不能使用默认端口,需改为1522,因为国网安全测试通不过)5、完成配置O rade Net Configuration Assistant:前工E使月欢亚使用 Oracle Nel ConfigurationAss

17、istontc-此工具将*踞砺成不列常见的闺置步舞=请选择希毅行的配置一*监听程序配置广命名方法配置本地M的服务名配置目录使用配置j p n 0 - n aw » - 工取消 ) 萍助 J 上一步下一步M »J ( 鼻后旧 )/ ,-_ 第 - - J6、启动监听,命令如下:$ Isnrctl start3.2 创建数据库实例切换到oracle用户,运行dbca命令创建数据库实例,命令: $ dbca,系统弹出数据库实例 创建操作界面,如下图1、选择创建数据库2、选择创建数据库模板,选 一般用途或事务处理3、输入数据库全局名及SID : sqmpmsCvriftvw Avn

18、 »Mili4«riL * U *F MI>UK一件 Wh* 看限近重,'«ijwi Ze0r » gjy - 1- ar« *斐配闾-«IM % * 总审 如 E 噌 ,应UCLH7电时宜会惟也垦用,g-JIU -MMJs-g:下一多牡4、设定数据库账号密码(建议生成环境下,选择不同用户不同密码管理)【当前密码为Oracle123】5、设置闪回区大小,这里选择默认值大小mniHT”一期9tC*iVlUlI停工不:«于*a苦三且"于M彳Eriw-pm Khz,归星于11训5*/由戛主=p *ul+瞰面

19、立身那元之越后叫干二亶,苣E身力.-上隔号后 者91普* *Eta. ' .1''« ,- - u惘ETH4*<瞋" NI 皆MMya1*5下强上白审文书£!:上田用 F-幽,电质闩6、设置数据库实例 SGA、PGA大小,视操作系统内存大小,一般如果此系统只有ORACLE应用,建议分配给 ORACLE实例80%的大小,如果数据库为 OLTP应用的,则其应用一般 都是小的短的进程,所需要的pga也相应较少,所以该值通常为总共分配给Oracle实例的20%,另外的80%给SGA如果是OLAP的应用,建议各占 50%。而如果数据库是混合类型

20、 的,一般会先分配给 pga 40%的初始值,然后随着应用不断监控和调整PGA7、设置数据库实例数据块大小及用户最大进程数(生产环境下,建议连接数至少为1500以上)8、设置数据库实例字符集(一般建议选AL32UTF8 )9、检查参数文件及所有数据文件位置是否正确10、点击 完成 开始创建数据库实例,直至实例安装成功。3.3 检查oracle实例是否安装成功1、终端中切换到 oracle用户,命令:su - oracle2、$ sqlplus / as sysdba;SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 21 15:11:28 2

21、012Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options3、在调出的sqlplus命令模式中,运

22、行命令:select * from v$version ,如果有数据库版本信息显示,则表示数据库实例创建成功。SQL> select * from v$version;BANNEROracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 - ProductionNLSRTL Version 11.2.0

23、.3.0 二 Production4、退出sqlplus命令模式,命令: exit;SQL>exit;3.4 设置开机自启动数据库实例1、切换到root用户登录,命令:su - root,2、执行以下命令:# vi /oracle/oraclestart.sh ,编辑oraclestart.sh文件,添加以下内容# !/bin/shsu - oracle <<EONexport ORACLE_SID= sqmpmslsnrctl startsqlplus /nolog <<EOFconn / as sysdbastartupexitEOFexitEON3、保存并退

24、出文件编辑模式,具体步骤:先按键盘“ ESC”键,进入命令模式,然后同时按住键盘“ Shift” + “; ”键,输入命令“ wq”,文件保存退出。4、导入启动配置文件到系统启动空间中,命令: echo "/oracle/oraclestart.sh ">>/etc/rc.loca4数据库配置4.1 数据库基本信息数据库类型:Oracle数据库版本:11.2.0.3.0数据库 SID : sqmpms数据库另J名:sqmpms语言:AMERICAN_AMERICA数据库字符集(NLS_CHARACTERSET) : UTF8国家区域字符集(NLS_NCHAR_C

25、HARACTERSET) : UTF84.2 修改ORACLE核心参数1、切换到oracle用户,命令:su - oracle2、执行以下命令:$ sqlplus / as sysdba;3、逐句执行以下命令:alter system set nls_length_semantics = CHAR scope=both;(如果字符集选的是UTF-8 , 一定要执行此语句,利于建表语句中字符字段长度的规范。原来的值为 spfile;)alter system set sessions=3000 scope=spfile;alter system set processes=2500 scope=

26、spfile;alter system set open_cursors=3000 scope=both;alter system set db_files=500 scope=spfile ;alter system set job_queue_processes=30 scope=both;alter system set nls_date_format= ' YYYY-DU scope=spfile;4、关闭数据库,命令: shutdown immediate;5、启动数据库实例,命令: startup;4.3 导入数据1、根据“附录/SQMPMS/data/数据库脚本”中的数据

27、脚本,按照建立表空间、新建用户、 数据库表结构初始化、建立索引、平台数据依次执行各个脚本(执行脚本之前必须先认真阅读文件夹下的“重要说明.txt”文件)。4.4 编译数据库失效对象1、 以oracle用户执行命令:$ sqlplus / as sysdba;(如果没有切换或者退出当前用户,则不 用执行此命令,直接执行以下脚本)2、 执行以下数据库编译脚本/oracle/product/11.2.0/dbhome_1/rdbms/admin/utlrp.sql5系统故障处理5.1数据库文件损坏口令文件损坏处理方法:重新生成口令文件即可,采用orapwd命令进行生成相应的口令文件到指定的位置,然后

28、重启数据库即可单个控制文件损坏处理方法:1、停止数据库,shutdown immediate;2、查看初始化文件/initpmdb.ora,确定所有控制文件的路径,一般初始化参数文件路径在 $ORACLE_BASE/admin/pfile3、用操作系统命令将其它正确的控制文件覆盖错误的控制文件4、重启数据库,startup5、用适当的方法进行数据库全备份全部控制文件损坏处理方法:1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库:>shutdown immediate;2. 从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到

29、相应目录;对于采用带库备份的点用相应的rman 脚本来恢复最近的控制文件3. 用下面的命令来创建产生数据库控制文件的脚本:>startup mount;>alter database backup controlfile to trace noresetlogs;4. 修改第三步产生的 trace 文件, 将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的 sql 文件名字为createcontrol.sql.注意:Trace 文 件 的 具 体 路 径 可 以 在 执 行 完 第 3 ) 步 操 作 后 查 看$ORACLE_BASE

30、/admin/bdump/alert_ORCL.ora文件来确定5. 用下面命令重新创建控制文件:>shutdown abort;>startup nomount;>createcontrol.sql;6. 用适当的方法进行数据库全备份重做日志文件损坏处理方法:1 )、 确定损坏的重做日志的位置及其状态:1. 如果数据库处于可用状态:select * from v$logfile;select * from v$log;2. 如果数据库处于已经异常终止:>startup mount;>select * from v$logfile;>select * fro

31、m v$log;其中, logfile 的状态为 INVALID 表示这组日志文件出现已经损坏; log 状态为Inactive :表示重做日志文件处于非激活状态; Active : 表示重做日志文件处于激活状态; Current :表示是重做日志为当前正在使用的日志文件( 2 ) 、 损坏的日志文件处于非激活状态:1. 删除相应的日志组:>alter database drop logfile group group_number;2. 重新创建相应的日志组:>alter database add log file group group_number('log_file

32、_descritpion :) size log_file_size;( 3 ) 、损坏的日志文件处于激活状态且为非当前日志:1. 清除相应的日志组:> alter database clear unarchived logfile group group_number;损坏的日志文件为当前活动日志文件:用命令清除相应的日志组:> alter database clear unarchived logfile group group_number;如果清除失败,则只能做基于时间点的不完全恢复。打开数据库并且用适当的方法进行数据库全备份:> alter database ope

33、n;非 system 表空间的数据文件损坏:1. 确定损坏的文件名字:>select name from v$datafile where status= INVALID ;2. 将损坏的数据文件处于offline 状态:>alter database datafile datafile_name offline;3. 从相应的备份结果集中恢复关于这个数据文件的最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的 rman 脚本来恢复。4. 恢复数据文件:>alter database recover datafile file_name ;5

34、. 使数据库文件online :>alter database data file datafile_name online;6. 用适当的方法进行数据库全备份。system 表空间的数据文件损坏:1. 以 mount 方式启动数据库>startup mount;2. 从相应的备份结果集中恢复关于这个数据文件的最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的 rman 脚本来恢复。3. 恢复 system 表空间:datafile_name>alter database recover datafile4. 打开数据库:>alter

35、database open;5. 用适当的方法进行数据库全备份非system 表空间损坏:1 .将损坏的表空间处于 offline状态:>alter tablespace' tablespace_name ' offline;2 .从相应的备份结果集中恢复关于这个表空间最近的备份。对于没有采用带库备份的 点可以直接从磁带上恢复;对于用带库备份的点用相应的rman脚本来恢复。3 .恢复表空间:>alter database recover tablespace' tablespace_name '4 . 使表空间 online :>alter t

36、ablespace' tablespace_name ' online;5 .用适当的方法进行数据库全备份.system表空间损坏:1 .以mount方式启动数据库>startup mount;2 .从相应的备份结果集中恢复system 表空间最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的rman脚本来恢复。3 .恢复system 表空间:>alter database recover tablespace system;4 .打开数据库:>alter database open;5 .用适当的方法进行数据库全备份。整个数

37、据库的所有文件损坏:整个数据库所有文件的损坏一般是在共享磁盘阵列发生无法恢复的灾难时才发生,这种情况下只能对数据库进行恢复。若数据库的归档目录也已经丢失,则数据库不可能做完全恢复,会有用户数据的丢失。没采用带库备份的现场:1. 将最近的备份从磁带上把各个文件解包到相应的目录下。2. 以 mount 方式打开数据库:>startup mount;3. 恢复数据库:>recover database until cancel;4. 打开数据库:>alter database open resetlogs;5. 用适当的方法进行数据库全备份。采用带库备份的现场:1. 以 nomou

38、nt 方式打开数据库:>startup nomount;2. 通过相应的 rman 脚本进行数据库软恢复。$rman cmdfile=hot_database_restore.rcv3. 打开数据库:>alter database open resetlogs;4. 用适当的方法进行数据库全备份。存在最近的数据库完整冷备份前提下的一些经典紧急情况的处理:数据文件,归档重作日志和控制文件同时丢失或损坏:无新增 archives 时的状况:条件和假设:自上次镜像备份以来尚未生成新的 archive log(s); Archivelog Mode;有同步的 datafile(s) 和 c

39、ontrol file(s) 的镜像(冷)拷贝恢复步骤:1. 将镜像拷贝的 datafile(s) 和 control file(s) 抄送回原始地点 :$ cp /backup/good_one.dbf /orig_loc/bad_one.dbf$ cp /backup/control1.ctl /disk1/control1.ctl2. 以 mount 选项启动数据库:$ sqlplus /nolog> connect / as sysdba> startup mount3. 以旧的 control file 来恢复数据库:> recover database using

40、 backup controlfile until cancel;*介质恢复完成(必须马上cancel )4. Reset the logfiles (对启动而言不可省略) :> alter database open resetlogs;5. 关闭数据库并做一次全库冷备份。新增 archives 时的状况:条件和假设:自上次镜像备份以来已经生成新的 archive log(s); Archivelog Mode;有同步的 datafile(s) 和 control file(s) 的镜像(冷)拷贝; archive log(s) 可用。恢复步骤:1. 如果数据库尚未关闭,则首先把它关闭

41、:$ sqlplus /nolog> connect /as sysdba> shutdown abort2. 将备份文件抄送回原始地点:所有 Database Files所有 Control Files (没有 archive(s) 或 redo(s) 的情况下, control files 的更新无任何意义)所有 On-Line Redo Logs (Not archives)init.ora file (选项)3. 启动数据库:4. sqlplus /nolog5. connect /as sysdba6. startup数据文件 , 重作日志和控制文件同时丢失或损坏:条件和

42、假设: Archivelog Mode; 有同步的所有所失文件的镜像 (冷) 拷贝; archive log(s)可用恢复步骤(必须采用不完全恢复的手法) :1. 如果数据库尚未关闭,则首先把它关闭:$ sqlplus /nolog > connect /as sysdba> shutdown abort2. 将备份文件抄送回原始地点:所有 Database Files所有 Control Files所有 On-Line Redo Logs(Not archives)init.ora file (选项)3. 启动数据库然而并不打开:>startup mount4. 做不完全数

43、据库恢复,应用所有从上次镜像(冷)备份始积累起来的 archives> recover database until cancel using backup controlfile;cancel5. Reset the logfiles (对启动而言不可省略) :> alter database open resetlogs;6. 关闭数据库并做一次全库冷备份。数据文件和控制文件同时丢失或损坏:条件和假设: Archivelog Mode; 有同步的 datafile(s) 和 control file(s) 的冷拷贝;archive log(s) 可用恢复步骤:1. 将冷拷贝的

44、datafiles(s) 和 control file(s) 抄送回原始地点 :$ cp /backup/good_one.dbf /orig_loc/bad_one.dbf$ cp /backup/control1.ctl /disk1/control1.ctl2. 以 mount 选项启动数据库:$ sqlplus /nolog> connect /as sysdba> startup mount3. 以旧的 control file 来恢复数据库:> recover database until cancel using backup controlfile;*介质恢复

45、完成archive log 后 cancel )4. Reset the logfiles (对启动而言不可省略) :> alter database open resetlogs;重作日志和控制文件同时丢失或损坏时:有 Control Files 的镜条件和假设: Control Files 全部丢失或损坏; Archivelog Mode;像(冷)拷贝。恢复步骤:1. 如果数据库尚未关闭,则首先把它关闭:$ sqlplus /nolog> connect /as sysdba> shutdown abort>exit2. 以 Control File 的镜像(冷)拷

46、贝覆盖损坏了的 Control File:$ cp /backup/control1.ctl /disk1/control1.ctl3. 启动数据库然而并不打开:$ sqlplus /nolog> connect /as sysdba> startup mount4. Drop 坏掉的 redo log (排除硬件故障) :> alter database drop logfile group 2;5. 重新创建 redo log:> alter database add logfile group 2 '/orig_loc/log2.dbf' size

47、 10M;6. 以旧的control file来恢复数据库:> recover database until cancel using backup controlfile;(必须马上cancel )7. Reset the logfiles (对启动而言不可省略) :> alter database open resetlogs;8. 关闭数据库并做一次全库冷备份只发生归档重作日志丢失或损坏时:根据不同环境和情况,选择下述手段之一:a. 马上 backup 全部 datafiles (如果系统采用一般热备份或RMAN 热备份)b. 马上正常关闭数据库并进行冷备份(如果系统采用冷备

48、份)c. 冒险前进!不做备份而让数据库接着跑,直等到下一个备份周期再做备份。这是在赌数据库在下一个备份周期到来之前不会有需要恢复的错误发生。注意 : 冒险前进的选择: 如果发生错误而需要数据库恢复, 则最多只能恢复到出问题 archivelog 之前的操作现场。从另一个角度讲, archive log(s) 出现问题时,数据库若不需要恢复则其本身并没有任何问题。5.2 Oracle 逻辑结构故障的处理方法逻辑结构的故障一般指由于人为的误操作而导致重要数据丢失的情况。 在这种情况下数据库物理结构是完整的也是一致的。 对于这种情况采取对原来数据库的全恢复是不合适的, 我们一般采用三种方法来恢复用户

49、数据。采用 exp/imp 工具来恢复用户数据:如果丢失的数据存在一个以前用 exp 命令的备份,则可以才用这种方式。1. 在数据库内创建一个临时用户:>create user test_user identified by test;>grant connect , resource to test_user;2. 从以前 exp 命令备份的文件中把丢失数据的表按照用户方式倒入测试用户:$imp system/manager file=export_file_name tables=(lost_data_table_name )fromuser=lost_data_table_o

50、wner touser=test_user constraint=n;3. 用相应的 DML 语句将丢失的数据从测试用户恢复到原用户。4. 将测试用户删除:>drop user test_user cascede;采用 logminer 来恢复用户数据:Logminer 是 oracle 提供的一个日志分析工具。它可以根据数据字典对在线联机日志、归档日志进行分析,从而可以获得数据库的各种 DML 操作的历史记录以及各种 DML 操作的回退信息。根据这些用户就可以将由于误操作而丢失的数据重新加入数据库内。1. 确认数据库的 utl_file_dir 参数已经设置, 如果没有则需要把这个参数加入 oracle 的初始化参数文件, 然

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论