《Oracle数据库培训.ppt》由会员分享,可在线阅读,更多相关《Oracle数据库培训.ppt(44页珍藏版)》请在第壹文秘上搜索。
1、Oracle数据库培训数据库培训 培训内容培训内容nOracle体系结构体系结构nOracle目录结构及日志查看目录结构及日志查看nOracle日常维护工作内容日常维护工作内容n数据库备份数据库备份q数据库逻辑备份(exp)q数据库恢复管理器(RMAN)Oracle体系结构体系结构Oracle目录结构目录结构 Oracle系统路径结构系统路径结构windows下的Oracle 10g为例,Oracle的目录结构是由一下四部分组成:lOracle_BaselOracle_Homeladminloradata Oracle_Base目录目录Oracle_Base代表Oracle目录树的根。如果使用
2、Oracle Universal Installer进行安装,则Oracle_Base是指system_drive:oracleproduct10.2.0。 Oracle_Home目录目录 Oracle_Home主目录位于system_drive:Oracle_Base之下,它包含与Oracle软件运行有关的子目录和网络文件以及选定的组件等;若在主机上第一次且只安装了Oracle数据库,没有其他Oracle产品,则使用默认的主目录db_1;如果在同一台主机的同一个根目录下安装多个产品或安装了第2次,则Oracle_Home主目录会以db_n的形式出现,即db_2、db_3等。这也是为什么在Or
3、acle_Base目录可以有多个Oracle_Home目录的缘故。 admin目录目录数据库管理文件、日志文件存储在oracle_baseadmindb_name目录下。各个子目录的主要含义如下:lbdump后台进程跟踪文件lcdump信息转储文件(core dump)lcreate数据库创建文件lpfile初始化参数文件ludump用户SQL追踪文件 Oradata目录目录 数据库文件存储在Oracle_Baseoradatadb_name目录下,该目录主要存储数据库的控制文件、数据文件、重做日志文件。l“*.dbf”文件对应数据库中每个表空间;l“.ctl”文件为控制文件;l“.log”文
4、件对应重做日志文件组及其成员。 日志查看日志查看日志所在位置lORACLE数据库的日志文件 $ORACLE_BASE/admin/orasid/bdump/alert_ora(sid).logl截断日志 $tail -1000 alert_ora(sid).log xxx.logl监听日志文件 $ORACLE_HOME/network/log/listener.log lOracle crs日志文件 $CRS_HOME/log/hostname/crsd/crsd.log $CRS_HOME/log/hostname/cssd/ocssd.log $CRS_HOME/log/alert(SID
5、).log 日志查看需要用到的命令日志查看需要用到的命令l$headl$taill$morel$less Oracle日常维护工作内容日常维护工作内容l操作系统检查l数据库检查l数据库备份检查 操作系统检查操作系统检查 数据库是运行在操作系统之上的软件,因此数据库要正常高效的运行,操作系统的检查也是必不可少的。l 文件系统使用率 df kl 操作系统日志 Linux: more /var/log/message AIX: errpt errpt aj idl 系统负载情况 Linux: top或vmstat 1 10 AIX: topas或vmstat 1 10l 网络连接情况 netstat
6、 -anl 查看系统进程 ps -ef 数据库检查数据库检查 为了让数据库正常的运行,应时刻关注数据库运行状况,发现问题应及时处理。日常检查主要包括:l 数据库日志 tail -1000 $ORACLE_BASE/admin/SID/bdump/alert_SID.log 查看alert_SID.log是否有ORA_*之类的报错。l 监听日志 tail -1000 $ORACLE_HOME/network/log/listener.logl 数据库实例状态检查 SELECT inst_id, instance_name, host_name, version, to_char (startup
7、_time, yyyy-mm-dd hh24:mi:ss) startup_time, status, archiver, database_status FROM gv$instance;l 表空间使用率 可以通过OEM或sql语句查看表空间使用率,对于使用率在90%的表空间,应及时增加数据文件。l 是否有比较消耗资源的SQL语句l 是否有无效的对象 数据库备份检查数据库备份检查 数据对于系统使用者来说珍贵之处不言而喻。然而,硬件故障、软件损坏、病毒侵袭、黑客骚扰、错误操作以及其他意想不到的原因时时都在威胁着我们的系统,随时可能使系统崩溃而无法工作。那么,有没有办法可以避免造成这样的损失呢?
8、答案是肯定的,这个行之有效、有时甚至是惟一的办法,就是备份! l 检查备份日志l 定期做数据库恢复测试数据库备份数据库备份备份 ,就是把数据库复制到转储设备的过程。无非是用的工具使用的策略,优缺点不同罢了。在数据库维护过程中数据库管理员就需要根据自己的库的具体情况来制定合理的备份策略;l数据量的大小l业务的重要程度l数据库负载情况 l存储的大小等备份备份逻辑备份逻辑备份导出导出(导出导出(exp/imp)物理备份物理备份脱机备份(冷备份)脱机备份(冷备份)联机备份(热备份)联机备份(热备份) 归档模式归档模式数据泵(数据泵(expdp/impdp)nDBA的主要职责之一是备份数据库和在数据库发
9、生故障时高效、安全地恢复数据库。n备份方法q逻辑备份(Export/Import)qRMAN备份n数据库备份q一般来说,数据库备份可以分为物理备份和逻辑备份。 q物理备份可分为脱机备份和联机备份。脱机备份又称为冷备份,只能在数据库关闭后进行备份;联机备份又称为热备份,数据库没有关闭,用户还可以使用。q逻辑备份是使用Export实用程序备份,当数据库出现故障,可以使用Oracle的Import实用程序恢复数据库。q归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复数据库,可以保证不丢失任何已提交的数据。q不归档方式(NOARCHIVELOG),只能恢复数据库到备份的
10、时间点(冷备份或是逻辑备份)。LGWRARCHARCHIVELOGLGWRNOARCHIVELOGRedo Log 1Redo Log 2Redo Log 2Redo Log 1 数据库逻辑备份数据库逻辑备份n 数据库逻辑备份:读一个数据库记录集,并以Oracle提供的内部格式写入一个二进制文件中。这些记录的读出与其物理位置无关。当用户导入导出时,有相应的权限要求。q导入导出 imp/expq数据泵 impdp/expdp 导出导出ExportnOracle的实用程序Export 用来读取一个数据库,并把输入写入一个称为导出转储文件(export dump file)的二进制文件。 EXP U
11、SERID=username/password PARAMETER=(value1,value2,.)n可以通过如下命令来显示参数 EXP HELP=Yn导出方式:Full方式、User方式和Table方式q完全数据库导出 exp system/manager full=Y constraints=Y file=f:backuptest.dmp q导出用户表 exp user1/password tables=employees file=f:backuptest.dmp exp user1/password tables=(employees,jobs) file=f:backuptest.
12、dmp q导出用户模式 exp user1/password owner=user1 file=test.dmp n导出数据库表,用户误操作删除表,执行导入表,恢复数据库q(1)TEST2数据库(System用户,口令为ora456),导出表student 逻辑备份案例逻辑备份案例q(2)删除表student中的数据,或者将整个表删除,数据已经不存在,或者表被删除 q(3)导入表student,恢复数据库q(4)查询表和数据,验证导入是否成功 数据泵(数据泵(Data Pump)n在Oracle10g中引入了数据泵的 Export/Import,在性能方面对原来的Export/Import有了
13、很大的加强 ,其高速并行的设计可以实现快速的数据迁移。nExpdp/Impdp与Export/Import区别q可以并行进行导入导出,速度更快qexpdp/impdp只能在服务端,在使用expdp/impdp以前需要在数据库中创建一个目录 数据泵导出数据泵导出expdpn在使用数据泵导出导入时在Oracle需要定义目录变量,用于存放备份后的文件。 Create directory my_dump as e:dump; Grant read,write on directory my_dump to scott; 导出scott用户下的emp和dept表: expdp scott/tiger d
14、irectory=my_dump dumpfile=scott.dmp logfile=scott.log tables=emp,dept 并行导出scott用户下的所有对象: expdp scott/tiger schemas=scott directory=my_dump dumpfile=scott.dmp logfile=scott.log parallel=10 数据泵导入数据泵导入impdpn在使用数据泵导出后,可以使用impdp进行导入 导入scott用户下的emp和dept表: Impdp scott/tiger DIRECTORY=my_dump DUMPFILE=scott
15、.dmp TABLES=dept,emp 并行导入scott用户下的所有对象: Impdp scott/tiger DIRECTORY=my_dump DUMPFILE=scott.dmp SCHEMAS=scott parallel=10 脱机备份(冷备份)脱机备份(冷备份)n脱机备份是最简单的一种数据库备份方式,在数据库关闭后进行备份,用户不能访问数据库,是一种完全备份。 n脱机备份一般需要备份如下文件:q(1)所有数据文件q(2)所有控制文件q(3)所有联机重做日志q(4)init.ora文件n脱机备份步骤 1.以DBA或特权用户登录,对于需要的备份文件,用户也可通过下列SQL语句来了解
16、数据文件、重演日志文件及控制文件的相应位置及名称。 SELECT * FROM V$LOGFILE; SELECT * FROM V$DBFILE; SELECT * FROM V$CONTROLFILE;2.关闭数据库 SHUTDOWN NORMAL; 或者执行 SHUTDOWN IMMEDIATE;3、复制数据文件 用拷贝命令备份全部的数据文件、重做日志文件、控制文件、初 始化参数文件等。 简单的处理方法是将数据库所在路径下的文件全部复制备份。在 下面实验案例中所用数据库TEST2的目录是:f:oracleoradatatest24、重新启动数据库 STARTUP;n脱机备份的优点:q只需要拷贝文件,速度比较快。q将文件拷贝回去,数据库就可以恢复到某个时间点。q若结合数据库归档模式可以很好地恢复数据库。q维护量相对较少,但安全性相对较高。n脱机备份的缺点:q脱机备份时,数据库必须关闭。q单独使用脱机备份,数据库只能基于某一时间点恢复。q若磁盘空间有限,使用磁带等外设时速度较慢。q脱机备份不能按表或用户恢复。 联机备份(热备份)联机备份(热备份)n联机备份是在数据库运行时进行的备份,