欢迎投稿

今日深度:

Oracle数据库备份恢复,巡检需要关注的对象设置

Oracle数据库备份恢复,巡检需要关注的对象设置以及相关恢复概述,oracle数据库备份


数据库备份恢复,巡检需要关注的对象设置:

1.数据库名称,以及DBID;  --dbid在v$database中
    SYS@ORCL>select dbid,name from v$database;

          DBID NAME
    ---------- ---------
    1385095721 ORCL

2.控制文件的位置;
    show parameter control_files;
    select name from v$controlfile;

3.日志文件的位置以及数据库的归档设置;
    select log_mode from v$database;
    archive log list;

    select * from v$log;
    select * from v$logfile;
     --关注日志组数,大小,状态,位置;
    select * from v$archived_log;

4.数据文件位置,大小,状态;
    select * from dba_tablespaces;
    select * from v$tablespace;
    select * from dab_data_files;
    select * from v$datafile;
     --在11g数据库中,临时表空间只需关注其大小即可;

5.参数文件;
    show parameter spfile;
   
6.告警日志;
    select * from v$diag_info;
    adrci

7.数据库现有的备份策略,备份集情况;

 

要打开数据库,必须满足以下条件:
 

1.所有控制文件都必须存在且已同步

2.所有联机数据文件都必须存在且已同步
3.每个重做日志组必须至少有一个成员存在

 

打开数据库后,如果丢失以下项时数据库就会失败:

1.任何控制文件
2.属于系统或还原表空间的数据文件
3.整个重做日志组(只要组中至少有一个成员可用,实例就会保持在打开状态)

 

如果控制文件丢失或损坏,则实例通常会中止。然后,您必须执行以下步骤:

1.关闭实例(如果它仍处于打开状态)。

2.通过复制现有控制文件还原缺失的控制文件。
3.启动实例。

如果丢失了重做日志文件组中的某个成员,并且组中至少还有一个成员,请注意其后果是:

不会影响实例的正常操作。

预警日志中会收到一条消息,通知您无法找到某个成员。

通过从同一组中复制一个剩余文件可还原缺失的日志文件。

 

NOARCHIVELOG 模式下丢失了数据文件
 
如果数据库处于 NOARCHIVELOG 模式下,并且丢失了任何数据文件,则需要完全还原数据库,包括控制文件和所

有数据文件。
数据库处于 NOARCHIVELOG 模式时,只能恢复到上一次备份时的状态。因此,用户必须重新输入自

上一次备份以来所做的更改。

请执行以下任务:

1.如果实例尚未关闭,请关闭实例。
2.从备份还原整个数据库,包括所有数据文件和控制文件。

3.打开数据库。

4.让用户重新输入自上次备份以来所做的所有更改。

如果处于 NOARCHIVELOG 模式的数据库具有增量备份策略。则 RMAN 会先还原最近的 0 级,然后 RMAN 恢复进

程再应用增量备份。


ARCHIVELOG 模式下丢失了系统关键数据文件

如果丢失或损坏了某个数据文件,且该文件属于 SYSTEM 或 UNDO 表空间,
请执行以下任务:

1.实例可能会也可能不会自动关闭。如果未自动关闭,请使用 SHUTDOWN ABORT 关闭实例。

2.装载数据库。
3.还原并恢复缺失的数据文件。

4.打开数据库。

 

 

 


想往Oracle数据库方向发展教些问题

我就是运维的,搞运维知识得非常全面,Linux命令得全会,因为要用SQLPLUS,
要会数据库备份,冷备份,热备份,RMAN使用,数据导入导出,
ORACLE10G/11G 的操作,主要是表、索引、触发器建立删除,数据清理,熟悉SQL语句查询

ORACLE性能调整,高可用搭建,standby搭建等。。。很多
 

ORACLE表空间设置问题

1。分成多个数据文件。
原因是:
(1)有些操作系统对文件大小有限制,或者安装是做过限制。你不一定清楚这些限制。而且某些版本的传输协议不支持过大的文件,例如AIX某版本的sftp就不允许传输文件超过2G。
(2)你现在数据量小,所以不用考虑太多。但将来数据量增大以后,要考虑负载均衡,就要把部分数据文件挪到其他盘上。多个数据文件会使这样很容易。
(3)当你的数据文件某部分出现坏块之后,你需要让某个数据文件暂时offline恢复等等,如果你的数据文件过大,影响也可能更大。
(4)使用RMAN备份的时候,单独备份数据文件。恢复也可单独恢复,因此很显然分多个数据文件有好处。

2。单个数据文件的大小,这个要考虑的东西比较多。比如你的存储性能,比如你的总数据量,等等。专家的建议是,对于几十G到几百G的数据量,单个数据文件的大小一般在2-10G。原则有一套理论说明的,但是我忘了,只说一下个人的建议:
(1)操作系统限制。这个如果没有注意到很容易出问题,特别是自扩展的数据文件,例如system,undotbs等等
(2)表空间的大小。要考虑单个数据文件移动或恢复的情况。显然如果对于几十个G的表空间,就分成两个数据文件,并不能对你的操作带来什么好处。
(3)全凭经验把握的东西,还要考虑的你硬盘的raid情况等等。情况比较复杂,只能折衷。不能简单的一概而论说大就好或者小就好。

当然这并不是主要的,你没必要太关注这方面的东西。因为对于你这样的简单环境来说,区区一个表空间数据文件大小的修改,对性能的提高甚至不如多建一条索引大!

3。数据库产生碎片怎么办。我告诉你,数据库的碎片和windows说的那个碎片整理是两码事,你不要混淆。windows再怎么整理也是没用的。
其实我坦白的跟你讲,你几十个G的数据库,短期根本就不用考虑什么碎片问题。这种情况得等大家都反映数据库开始变慢了,再考虑回收段空间等等。而且你都说“是否要关闭了再做”,说明你的数据库可以关,也就暗示了它“不是很忙”,那么最近3-5年之内你不用考虑做这件事了。

4。两个数据库同时用一个监听器1521当然不合理,你一个监听器挂了两个数据库都连不上去,你不觉得这样风险很大么?
两个公用一个端口,对数据的吞吐性能是没有任何影响的,这个你不用担心。但是安全性无疑很低。
所以当然有必要用两个端口1521和1520,其实我建议你把两个数据库安装在两个不同的操作系统用户下面,这样大家彼此逻辑都清楚,影响小,带来的好处你能慢慢体会到。这纯粹是从我的工作经验来建议你的。如果你嫌麻烦当我没说。
如何设置?你这个问题问的复杂了,我可懒得把编辑TNS的一堆写出来。
告诉你个简单方法,先命令行输入netca创建监听器,建两个,1521和1520。然后再命令行dbca创建数据库,注意创建的过程中会提示你和哪个端口绑定,自己选就行了。全图形界面非常简单。
-------------------------------

看得出来你是初学,而且考虑东西比较细,不过我给你个建议,先去买基础的书,了解基本的概念,做一些简单的实验。这样你就能弄清哪里是重点需要关注的,哪里不是重点可以忽略的。
这样你才能把握要点快速提高。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/3322.html NewsArticle Oracle数据库备份恢复,巡检需要关注的对象设置以及相关恢复概述,oracle数据库备份 数据库备份恢复,巡检需要关注的对象设置: 1.数据库名称,以及DBID; --dbid在v$database中 SYS@ORCLse...
评论暂时关闭