《金融高级数据库》PPT课件.ppt_第1页
《金融高级数据库》PPT课件.ppt_第2页
《金融高级数据库》PPT课件.ppt_第3页
《金融高级数据库》PPT课件.ppt_第4页
《金融高级数据库》PPT课件.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、金融高级数据库,周志钊,数据加载,先创建一个表task。 CREATE TABLE task (name VARCHAR2(15),job VARCHAR2(15),sal NUMBER(5) ); Desc task; Select * from task; (此时数据为空) 保存控制文件case1.txt如下:,数据加载,load data infile * into table task fields terminated by , (name,job,sal) begindata smith,clerk,3904 allen,salesman,2891 ward,salesman,31

2、28 king,manager,2523,数据加载,在命令提示符后执行语句: C:sqlldr scott/tiger control=case1.txt 注意:命令提示符是哪个盘符或路径,则数据加载文件case1.txt必须在此路径下。 连接数据库,查看表scott.task的内容: Select * from task;,数据加载,Load data 控制文件的开头部分。 Infile表示数据文件位置,*表示数据就在该控制文件内。如果是独立的数据文件,则将infile后面的*改为数据文件名即可。 例如:数据放在文件data.txt里,则将加载文件case1.txt改为如下。,数据加载,lo

3、ad data infile data.txt into table task2 fields terminated by , (name,job,sal) 注意:data.txt也要放在命令提示符的相同路径下。,数据加载,Into table 表名 数据要加载到的目标表,该表在执行sqlldr之前必须已创建。 如果向已有数据的表中追加数据,则在into前面加append。 如需替换数据,在into前面加replace,相当于先delete表中全部数据,再insert。 例如,case1.txt改为:,数据加载,load data infile * append into table task

4、 fields terminated by , (name,job,sal) begindata smith2,clerk,3904 allen2,salesman,2891 ward2,salesman,3128 king2,manager,2523,数据加载,Field terminated by “,” 设置数据部分字符串的分隔符,也可以设置为其他任意可见字符。 (name,job,sal)要插入表的列名,应与表中列名完全相同,但顺序可以不同。 Begindata 表示以下就是要加载的数据,仅当infile指定为*时需要。,数据加载,(控制文件+数据文件) SQL*Loader = 数据

5、库+ 日志文件+ (错误文件 +废弃文件),输入,输出,数据加载,将Excel中的数据加载到数据库: 创建对应结构的表task3 CREATE TABLE task3 (no NUMBER(5), name VARCHAR2(15),job VARCHAR2(15),sal NUMBER(5); 将Excel中的数据另存为.csv格式。 创建加载控制文件case3.txt,数据加载,load data infile book1.csv into table task3 fields terminated by , (no,name,job,sal),数据加载,C: sqlldr scott/t

6、iger control=case3.txt,数据加载,多个数据文件,要加载到同一张表: 因为数据可能来源自多个系统,要导入到数据库的也是多个数据文件。 提供的数据文件中的数据存放格式必须完全相同。 在控制文件中,由Infile参数依次指定数据文件来源。,数据加载,数据文件为data1.txt和data2.txt,控制文件如下: load data infile data1.txt infile data2.txt append into table task3 fields terminated by , (no,name,job,sal),数据备份和恢复,数据库系统在运行中可能发生故障,轻

7、则导致事务异常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中的数据部分或全部丢失。 数据库备份与恢复的目的就是为了保证在各种故障发生后,数据库中的数据都能从错误状态恢复到某种逻辑一致的状态。,数据备份和恢复,备份方式: 物理备份:将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等操作系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或磁带上。 逻辑备份:利用Oracle提供的导出工具(如Expdp,Export)将数据库中的数据抽取出来存放到一个二进制文件中。 闪回:读取一定时间内操作过的数据。,数据的备份,根据数据库备份时是否关闭数据库服务器,物理备份分为:

8、冷备份又称停机备份,是指在关闭数据库的情况下将所有的数据库文件复制到另一个磁盘或磁带上去。 热备份又称联机备份,是指在数据库运行的情况下对数据库进行的备份。要进行热备份,数据库必须运行在归档日志模式下。,数据的备份,冷备份步骤(以DBA身份登录) 查询数据库当前所有文件位置(数据文件、控制文件、日志文件) SQLselect file_name from dba_data_files; SQLselect file_name from dba_data_files; SQLselect member from v$logfile; SQLselect value from v$paramete

9、r where name=control _files; 关闭数据库 SQLshutdown immediate,数据的备份,备份所有相关的数据文件、联机重做日志文件以及控制文件到备份磁盘。 在操作系统中复制、粘帖到备份磁盘。 重新启动数据库 SQLstartup,数据的备份,数据库完全热备份的步骤: 启动SQL*Plus,以SYSDBA身份登录数据库 将数据库设置为归档模式 以表空间为单位,进行数据文件备份 备份控制文件 备份其他物理文件,设置归档/非归档模式,关闭数据库 SHUTDOWN IMMEDIATE 启动数据库到MOUNT状态 STARTUP MOUNT 使用ALTER DATAB

10、ASE ARCHIVELOG语句将数据库设置为归档模式。 ALTER DATABASE ARCHIVELOG; 或使用ALTER DATABASE NOARCHIVELOG语句将数据库设置为非归档模式。 ALTER DATABASE NOARCHIVELOG; 打开数据库 ALTER DATABASE OPEN;,备份数据文件,查看当前数据库有哪些表空间,以及每个表空间中有哪些数据文件。 SELECT tablespace_name,file_name FROM dba_data_files ORDER BY tablespace_name; 分别对每个表空间中的数据文件进行备份,其方法为 将

11、需要备份的表空间(如USERS)设置为备份状态。 ALTER TABLESPACE USERS BEGIN BACKUP; 将表空间中所有的数据文件复制到备份磁盘。 结束表空间的备份状态。 ALTER TABLESPACE USERS END BACKUP; 对数据库中所有表空间分别采用该步骤进行备份。,备份控制文件,将控制文件备份为二进制文件。 ALTER DATABASE BACKUP CONTROLFILE TO D:ORACLEBACKUPCONTROL.BKP; 将控制文件备份为文本文件。 ALTER DATABASE BACKUP CONTROLFILE TO TRACE;,数据的

12、恢复,一、非归档模式下数据库的恢复主要指利用非归档模式下的冷备份恢复数据库。 步骤为: 关闭数据库。 SHUTDOWN IMMEDIATE 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。 重新启动数据库。 STARTUP 注意 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近一次完全冷备份的状态。,数据的恢复,二、归档模式下数据库的完全恢复。 归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动,采用回滚技术回滚未提交的操作,以恢复到

13、数据库故障时刻的状态。,数据的恢复,完全恢复的级别 数据库级完全恢复:主要应用于所有或多数数据文件损坏的恢复; 表空间级完全恢复:对指定表空间中的数据文件进行恢复; 数据文件级完全恢复:是针对特定的数据文件进行恢复。,数据库级完全恢复,如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 利用备份的数据文件还原所有损坏的数据文件。 将数据库启动到MOUNT状态。(由于表空间不能在数据库打开后进行恢复,因此只能在数据库处于装载状态时进行恢复。 ) STARTUP MOUNT 执行数据库恢复命令。 RECOVER DATABASE 打开数据库。 ALTER DATABASE OPE

14、N;,表空间级完全恢复,以EXAMPLE表空间的数据文件example01.dbf损坏为例模拟表空级的完全恢复。 数据库处于装载状态下的恢复 数据库处于打开状态下的恢复,表空间级完全恢复,数据库处于装载状态下的恢复: 如果数据库没有关闭,则强制关闭数据库。 SHUTDOWN ABORT 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。 将数据库启动到MOUNT状态。 STARTUP MOUNT 执行表空间恢复命令。 RECOVER TABLESPACE EXAMPLE 打开数据库。 ALTER DATABASE OPEN;,表空间级完全恢复,数据库处于

15、打开状态下的恢复: 如果数据库已经关闭,则将数据库启动到MOUNT状态。 STARTUP MOUNT 将损坏的数据文件设置为脱机状态。 ALTER DATABASE DATAFILE D:oracleproduct10.2.0oradataorcl EXAMPLE01.DBF OFFLINE; 打开数据库。 ALTER DATABASE OPEN;,表空间级完全恢复,将损坏的数据文件所在的表空间脱机。 ALTER TABLESPACE EXAMPLE OFFLINE FOR RECOVER; 利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。 执行表空间

16、恢复命令。 RECOVER TABLESPACE EXAMPLE; 将表空间联机。 ALTER TABLESPACE EXAMPLE ONLINE; 如果数据文件损坏时数据库正处于打开状态,则可以直接执行步骤(4)(7)。,闪回技术,Flashback可以用来进行数据比对,或修正意外提交造成的错误数据。 能够实现快速恢复被删除的表,甚至对整个数据库进行时间点上的恢复(前提是数据库正常,没崩溃)。 闪回的功能回到过去。,闪回技术,闪回查询(Flashback Query):查询过去某个时间点或某个SCN(system change number)值时表中的数据信息,主要用于修复误操作的数据。 闪

17、回表(Flashback Table):将表恢复到过去的某个时间点或某个SCN值时的状态; 闪回删除(Flashback Drop):将已经删除的表及其关联对象恢复到删除前的状态; 闪回数据库(Flashback Database):将数据库恢复到过去某个时间点或某个SCN值时的状态。,闪回查询,Flashback Query本身并不恢复任何操作或修改,而是让用户能查询到指定时间点的表中的记录,即看到过去。 看到过去之后,可用insert table select或create table as select恢复,回到原来。,闪回查询,闪回查询可以返回过去某个时间点已经提交事务操作的结果。 基

18、本语法: SELECT column_name, FROM table_name AS OF TIMESTAMP|SCN expression WHERE condition 基于AS OF TIMESTAMP的闪回查询 基于AS OF SCN的闪回查询,闪回查询,建立表task如下:,闪回查询,删除部分记录: SQLdelete task where no7000;,闪回查询,使用Flashback Query,查询5分钟前表中的数据。 SQLselect * from task as of timestamp sysdate-5/1440;,闪回查询,Sysdate是系统函数,用来取得当前系统时间,sysdate-5/1440表示以分钟为单位(6024=144

温馨提示

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

评论

0/150

提交评论