Oracle日常维护

1         Oracle Enterprise Manager基本使用

1.1     启动连接

输入选择配置后看到下图的基本界面:

 

从上面的界面得知,该实例。

 

1.2     察看表空间

维护工作需要周期性的察看表空间,以避免表空间满后,表现出一些莫名的故障出现,如下图,表空间ccatsdialindex接近满的状态,必须为此表空间增加数据文件来扩充其空间。

 

1.3     察看会话

1.3.1    察看所有会话

通过下面的操作可以看到基本的会话。

 

1.3.2    有可疑的会话

想了解占用CPU、内存、I/O占用资源较大的会话,可以有针对性的通过界面的选项可以察看前10大占用资源的信息,如下图。

2         表空间的扩充方法

2.1.1    使用 oracle 企业管理器

第一步:

如下图,假设需要扩充某个表空间,以表空间ccatsdialindex为例,我们对此处进行鼠标双击操作,


第二步:

如下图,现在我们需要增加表空间,首先我们需要和之前的目录一致,否则如果搞错了表空间所在的位置,很可能出现新增加的表空间将增加在本地磁盘的情况,那么在主机切换的时候,在磁盘阵列当中找不到这个数据文件报错,业务将会出现异常情况。所以保险的方法在文件目录直接copy即可。

第三步骤:

填写数据文件名,如下图,文件目录缺省和上面相同,数据文件名不要重复(否则创建将会失败)填写上数据文件的大小,此时可以点击应用(需要SYSDBA权限才有效)那么此时在正常情况下可以创建数据文件,扩展了此表空间,如果不想在此环境下执行,而希望在plsql下面执行,请继续看下面步骤。

 

第四步:

我们点击上面图形的最后一行的按钮“现实SQL”,将会出现下图,执行的DDL命令将会出现在最后的小窗口的最下面,那么可以复制此DDL再在SQL PLUS/PL SQL的命令窗口下以SYSDBA的角色执行也可以扩展表空间,此方法和后面介绍的方法相同。

 

 

2.1.2    使用语句的方法

CREATE TABLESPACE ccatsdialindex DATAFILE  'd:/ccatsdb/ccatsindex/ccatsdialindex01.dbf' SIZE 1000 M ;

 

ALTER TABLESPACE ccatsdialindex  ADD DATAFILE 'd:/ccatsdb/ccatsindex/ccatsdialindex02.dbf' SIZE 500 M ,'d:/ccatsdb/ccatsindex/ccatsdialindex03.dbf' SIZE 500 M ;

 

3         如何解决死锁

3.1     察看锁的视图

Oracle系统视图 v$locked_object,所有加锁的信息都在这个视图可以找到。

SQL命令下执行 SELECT * FROM v$locked_object;如果记录一直长期存在并且locked_mode字段值是3,表示对此对象一直存在更新锁,有可能对业务有所影响。

3.2     找出被锁对象

第一步:

如下图,下面被锁对象的字段Object_id,值对象55266

 

找出object_id后执行SQL,定位被锁对象

SELECT * FROM  Dba_Objects  WHERE object_id = 55266,如下图,ACTSMSENDOBJECT就是被锁对象。

 

3.3     释放死锁的资源

3.3.1    得到会话的ID

上面的对象被确定需要释放的情况下,我们将要进一步做释放的工作,看下面图的session_id字段值是98

3.3.2    找出会话信息

通过刚才得出的会话session_id=98;我们再从oracle的会话视图进一步得到会话信息。

Select * from  v$session WHERE sid='98'

3.3.3    杀掉死锁的会话

根据上图被圈住的两个字段,可以在有权限的用户杀掉死锁的会话。

一般的语法为:

Alter system kill session ‘<sid,serial#>’

我们执行以下DDL即可:

Alter system kill session '98,8761';

3.3.4    通过界面释放

3.3.4.1     察看界面锁

打开企业管理器,选择例程->锁,看到如下信息。

3.3.4.2     中断会话

选择需要中断的会话后,点击按钮“中断会话”将会出现以下界面,确定后将会把占用资源的会话中断。

 

4         SPFILE/PFILE的应用

4.1     简介

Oracle 9i中,引入一个新的文件spfile,该文件用于服务器端,管理初始化参数。在9i以前oracle使用pfile存储初始化参数设置,在启动时候读取,pfile的所有修改都需要在启动后才能生效;而使用spfile可以使用 ALTER SYSTEM或者ALTER SESSION命令来动态修改参数,修改后立即生效。

1) PfileParameter File)文件是基于文本格式的参数文件,含有数据库的配置参数。

    Oracle 9i在安装时为每个数据库建立了一个Pfile,默认的名称为“init+例程名.ora”,这是一个文本文件,可以用任何文本编辑工具打开。

 

2) SPfile文件

    SPfileServer Parameter File,服务器参数文件)是基于二进制格式的参数文件,含有数据库及例程的参数和数值,但不能用文本编辑工具打开。
    
下面对两种初始化参数文件进行比较如表6.2所示。
下表SpfilePfile文件的比较

 

比较内容

SPfile

Pfile

格式

二进制格式

文本格式

编辑方式

1)利用企业管理器对Pfile进行修改,然后转换为Spfile 2)在SQL Plus里使用ALTER SYSTEM语句进行修改

1)利用文本工具直接进行修改 (2)在企业管理器里修改配置后导出形成

默认名称

SPfile+例程名.ora

Init+例程名.ora 实际参数文件Init.ora

默认路径

{Oracle_HOME}/ora92/database/

{Oracle_HOME}/ora92/database/ Init.ora位于Oracle/admin/数据库例程名/pfile/

启动次序

SPfile优先于Pfile

Pfile低于Spfile

 

4.2     产生spfile

pfile启动的方式下,使用SYSDBA或者SYSOPER权限的登录,执行以下命令:

Create spfile from pfile

语法如下:CREATE SPFILE[='SPFILE-NAME'] FROM PFILE[='PFILE-NAME']

例:

SQL> create spfile from pfile;

缺省的,spfile创建到系统缺省目录

(Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME/database)

如果SPFILE已经存在,那么创建会返回以下错误:

4.3     重要参数的基本含义

db_cache_size

说明: 为高速缓存指定标准块大小的缓冲区。

值范围: 至少 16M

默认值: 48M

 

Large_pool_size:

说明 : 指定大型池的分配堆的大小, 它可被共享服务器用作会话内存, 用作并行执行的消息缓冲区以及用作 RMAN

备份和恢复的磁盘 I/O 缓冲区。

值范围: 600K (最小值); >= 20000M (最大值是根据操作系统而定的)

默认值 : 0, 除非配置了并行执行或 DBWR_IO_SLAVES

 

pga_aggregate_target

说明: 指定连接到例程的所有服务器进程的目标 PGA 总内存。请在启用自动设置工作区之前将此参数设置为一个正数。这部分内存不驻留在

SGA 中。数据库将此参数值用作它所使用的目标 PGA 内存量。设置此参数时, 要将 SGA 从可用于 Oracle

例程的系统内存总量中减去。然后可将剩余内存量分配给 pga_aggregate_target

值范围: 整数加字母 K, M G, 以将此限值指定为千字节, 兆字节或千兆字节。最小值为 10M , 最大值为 4000G

默认值: "未指定", 表示完全禁用对工作区的自动优化。

 

shared_pool_size

说明: 以字节为单位, 指定共享池的大小。共享池包含如: 共享游标, 存储的过程,

控制结构和并行执行消息缓冲区等对象。较大的值能改善多用户系统的性能。

值范围:300 KB - 根据操作系统而定。

默认值: 如果是 64 位操作系统, 值为 64MB; 其他情况下, 值为 16MB

Java_pool_size

说明: 以字节为单位, 指定 Java 存储池的大小, 它用于存储 Java 的方法和类定义在共享内存中的表示法,

以及在调用结束时移植到 Java 会话空间的 Java 对象。

5         数据库备份

按照备份方式可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其中冷备份与热备份可以合称为物理备份。

按照本份工具,可以分EXP/IMP备份,OS拷贝、RMAN、第三方工具如VERITAS

5.1     逻辑备份

使用exp/imp 命令,这里由于使用频率较高,暂不做介绍。

5.2     OS备份数据

5.2.1    冷备数据库

冷备也称为脱机备份,需要在完全关闭数据库的情况下执行。

数据库使用的每个文都被备份,文件包括

1)  所有数据文件(DATA FILE)

2)  所有控制文件(CONTROL FILE)

3)  所有联机日志文件(REDO LOG)

5.2.2    热备份

此方式又称为联机备份,只能用于ArchiveLog (归档模式)的数据库。

热备份的优点:

1)  可在表空间或数据文件级上备份,高效率

2)  备份时候数据库仍然可用。

3)  可恢复到某个时间点,达到秒级的恢复

4)  几乎可以对所有数据库实体作为恢复

 

热备份增加部分I/O并且耗费大量的I/O,所以一般建议把热备份放到数据库最空闲的时间,如凌晨100

 

使用方法

一般步骤如下:

1)  将备份的表空间设置为备份方式

ALTER TABLESPACE ccatspub BEGIN backup;

2)  复制ccatspub表空的数据文件到新的目标目录

3)  复制完成后,恢复原来的非备份状态

ALTER TABLESPACE ccatspub END backup;

4)  如果需要备份其它的方式,重复1-3步骤。

5)  使用如下命令备份控制文件

备份为二进制:

ALTER DATABASE backup CONTROLFILE TO ‘New ContrilFile’;

备份为文本文件:

ALTER DATABASE backup CONTROLFILE TO  TxtFile;

 

5.3     Rman备份

Recovery Manager (RMAN) 提供的DBA工具,用于管理备份和恢复操作。Rman只能用于Oracle 8或更高的版本中。可以备份整个数据库或者数据库部件,包括表空间、数据文件、控制文件和归档文件。Rman可按要求存取和执行备份和恢复。

 

 

本次仅仅介绍基本的概念,不做详细介绍。

Rman备份的优点:

1)  支持在线热备份

2)  支持多级增量备份

3)  支持并行备份与恢复

4)  减少所需备份量

5)  数据文件的块检查

6)  备份、恢复比较简单

 

使用rman备份/恢复需要创建恢复目录,否则在没有恢复目录(NOCATALOG)下运行,备份信息保存在控制文件下,如果控制文件有所损坏就比较危险。而且没有备份目录,很多rman命令不被支持。

 

Rman可以在

创建RMAN目录的过程

1.         为目录创建单独表空间

Create tablespace  back datafile ‘filename’ siez 100M ;

2.         创建rman用户

Create user RMAN identified by RMAN default tablespace back temporary tablespace temp;

3.         授权RMAN用户

 Grant connect,resource, recover_catalog_owner to rman;

4.         打开rman

运行 RMAN

$> RMAN

5.         连接数据库

RMAN> connect catalog rman/rman

 

 

6.         创建恢复目录

 RMAN> create catalog tablespace back;

 

成功创建会副目录后,就可以注册目标数据库,目标数据库就是需要备份的数据。一个恢复目录可以注册多个目标数据库。注册命令如下:

RMAN target intername/password catalog rman/rman@rcdb;

RAMN> register database;

 

其它备份与恢复命令请参考有关文档说明,这里不再作详细介绍。

 

 

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值