第二十四讲 装库与卸库.

Slides:



Advertisements
Similar presentations
历尽九九八十一难, 唐僧四人终于到达天竺, 取得真经,完成任务。 四人想着难得到天竺一趟, 不如在此游览一番。
Advertisements

一、中国湿地面临的威胁 目前,湿地污染严重,湖泊 富营养化问题突出。随着社 会经济的快速发展,湿地污 染在很长时期内依然严重。 湿地污染 1.
第二章 简单的 SQL 语句. 本章要点  创建一个简单的表  SQL 语句介绍  最简单的查询语句 select  带有限制条件的查询  查询结果的排序显示.
2011/11,12 南台資管 吳昭儀. 1. 使用者介面 (User Interface)  使用者操作畫面的安排  Textbox, ComboBox, ListBox, CheckList, … 2. 流程控制 (Process Control)  使用者輸入資料檢查  計算  資料輸出.
第 7 章 数据库 1. Overview  数据库概述  数据库管理系统  数据库的体系结构和数据库模型  SQL 语言  数据库技术  构建数据库系统 2.
《 ORACLE 》 计算机技术与软件工程学院 胡斌 学习情境 6 系统安全管理( 8 学时) 按照系统的职能范围不同,可将Oracle的安全体系 结构分成三个部分; (1)数据库内部的管理:主要包括用户标识/口令 ;角色与权限等。 (2)资源管理:主要通过系统概要文件限制连接 会话等。 ( 3.
商管群科科主任 盧錦春 年 3 月份初階建置、 4 月份進階建置、 5 月份試賣與對外營業。
手动换页 域外风情系列 儿子去美国留学,毕业后定居美国。还给我找了 个洋媳妇苏珊。如今,小孙子托比已经 3 岁了。 今年夏天,儿子为我申请了探亲签证。在美国待 了三个月,洋媳妇苏珊教育孩子的方法,令我这 个中国婆婆大开眼界。
99學年度第1學期導師輔導工作座談會 全校性共同必修服務學習課程 報告單位:學務處領導知能與服務學習中心.
中共盘县发展和改革局党组主体责任落实情况报告
我们毕业了 毕业留念册 再见老师 姓名:黄巧灵 班级:六(1)班 毕业时间:2012年6月.
汇报人:贾建忠 2008年8月 汇报人:贾建忠 2008年10月.
专题二:城市化与城乡规划 授课教师:周栋文.
第二章 城市轨道交通系统的构成 城市轨道交通系统的分类 2.1 2.2 车辆与车辆段 2.3 轨道交通限界
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
全国“三新”作文研讨会成果交流 罗外初中部 曾祎闱.
  中国技术交易信息服务平台 中国技术市场管理促进中心.
1.1 Oracle数据库简介 —Oracle Database 11g 课程.
长江.
系統分析與設計 系級:資管三B 姓名:朱秋儒 學號:
資料庫 (Database) SQL Server 2008實作
TBSMGS数据存储管理软件 北京金信桥信息技术有限公司 2010年05月27日.
MySQL資料庫安全管理.
第 八 章 資料庫安全 本投影片(下稱教用資源)僅授權給採用教用資源相關之旗標書籍為教科書之授課老師(下稱老師)專用,老師為教學使用之目的,得摘錄、編輯、重製教用資源(但使用量不得超過各該教用資源內容之80%)以製作為輔助教學之教學投影片,並於授課時搭配旗標書籍公開播放,但不得為網際網路公開傳輸之遠距教學、網路教學等之使用;除此之外,老師不得再授權予任何第三人使用,並不得將依此授權所製作之教學投影片之相關著作物移作他用。
第4讲 MySQL服务器的配置与应用.
第6章 資料庫管理系統 6-1 關聯式資料庫管理系統 6-2 SQL Server資料庫管理系統
資料庫設計 Database Design.
“深入推进依法行政加快建设法治政府” -《法治政府建设实施纲要》解读
一言之辩强于九鼎之宝 三寸之舌胜于百万雄师
第六节 可降阶的二阶微分方程 一、 型的微分方程 二、 型的微分方程 三、 型的微分方程.
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
簡易送審動態案件網 路報送作業操作訓練 資料來源 銓敘部製作 報告人 饒瑞恭 日 期: 101 年 6 月 15 日.
An Introduction to Database System
Introduction to database
第十五章 常見的資料庫管理系統 目的 Oracle 微軟SQL Server 微軟Access MySQL Oracle 應用伺服器
建立/修改/刪除資料庫 資料庫組成檔案 建立資料庫: 資料(庫)檔案 交易記錄檔 使用Enterprise Manager工具 自助法:
第六章: 建立資料庫.
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
Basis基本操作、使用者 管理與權限設定
第16讲 数据库系统的增强安全性 第7章:数据库系统的增强安全性.
Transact-SQL 語言設計教學.
第3章 MySQL教學範本 主從式資料庫系統 - CH3.
計算機概論 第十章 檔案與資料庫管理系統 陳維魁/陳邦治 旗標出版社.
第5章 資料倉儲的資料建置.
第 6 章 使用者權限.
教 师:曾晓东 电 话: 数据库技术 教 师:曾晓东 电 话:
第四讲 数据库对象(视图、序列、同义词、索引)
Ch4.SQL Server 2005資料庫組成員元件介紹
SQL Injection (資料隱碼) 學生:a 吳倩瑜 指導教授:梁明章.
散发思维:数据迁移 李广才 ludatou.
CH03 行銷資訊系統資料庫模組--資料庫概論
資料庫概論 許明宗.
東部海岸 馬蘭國小 五年己班 閔芳頤 Enter
An Introduction to Database System
第九章 创建数据库.
3.2 Mysql 命令行 1 查看数据库 SHOW DATABASES; 2 创建一个数据库test1 CREATE DATABASE test1; 3 选择你所创建的数据库 USE test1; (按回车键出现Database changed 时说明操作成功!) 4 查看现在的数据库中存在什么表.
第十二章 文件管理 (Chapter 5 File Management)
注音輸入法教學 大華技術學院資管系 指導老師:陳信如老師 學生:王麗嵐.
選擇勞退新制,終身免煩惱 勞工退休金新制 說明會.
第六類 資料庫備份與回復.
名以清修 利以义制 绩以勤勉 汇通天下 新晋商理念 李安平
豪雅科技股份有限公司 iSeries Professional Consultant P. 1
合歡山 馬蘭國小 五年己班 何宜倞 ENTER.
設計者:台中市重慶國小 張祐榕.楊晟汶.張儷齡
国家“十一五”规划教材 数据库原理与应用教程(第3版).
彰化花壇【高速公路戰備跑道啟用】參觀點 時間:96年5月15日 時
資料庫應用與實作 一到六章重點、習題.
績優教師分享 美容保健科 林品瑄 教師.
Web安全基础教程
Presentation transcript:

第二十四讲 装库与卸库

本讲内容 对卸库与装库的使用。 卸库与装库直接的异同点。 操作的方法。 操作的模式。 错误处理和疑难问题的解决技术。

卸库与装库的功能 备份与恢复 在不同的Oracle实例间转移数据 在不同的表空间之间转移数据 注:A表空间数据转移到B表空间时,应保证B表空间有足够的容量,装库程序不会给B增加表空间容量。 当某个已经存在的数据库需要重建时,卸库与装库是在重建前保存当前数据库中数据的唯一手段。 注意:在执行全库卸出后,在新的数据库装入原数据库卸出的数据之前,还必须运行许多S Q L语句和一些S Q L脚本程序。

卸库与装库的相同点 卸库与装库的运作方式是相同的,只要学会其中的一个使用方法,基本上就能掌握另一个用法。这两个工具有以下相同点: 都可以交互式运行,也都可以从一个文件中读取执行参数。 都接受关键字(由keyword_value= 起始的参数)或与位置相关的参数(那些在命令行中根据不同的顺序而有不同意义的参数)。 都可以处理Oracle数据库中数据和数据结构的只读副本。 都可以在不同的Oracle帐号和不同的硬件平台之间移动数据。

卸库与装库的不同点 尽管卸库与装库类似,它们还是有一些不同。某些参数只能由卸库使用,而另一些则只能由装库使用。例如,“from user”和“to user”参数就只能由装库使用。同样地,“compress”参数只能在运行卸库时使用。 因为装库要创建并载入数据到Oracle数据库文件中,所以它会报告由于使用它而引起的Oracle的各类错误。 卸库则对卸库文件所在磁盘的空间大小比较敏感。 尽管存在以上不同点,卸库与装库的方法和操作模式是一样的。

操作方法 调用交互式卸库(无参数)。 调用交互式装库(无参数)。 回答提示问题从而使卸库与装库达到最后成功。 运行参数驱动的卸库与装库。 使用parfile关键字参数。 交互式和参数驱动方法的混合使用。

交互式卸库:无参数调用 调用卸库程序 C:\EXP Username 卸库操作人员的用户名和密码 Enter array fetch buffer size 卸库工具将数据写入卸库文件时作为工作区的内存块大小。一般输入一个10K~10M之间的数值(10240~104857 60) Export file 卸库文件名。默认为expdat.dmp,可更改 (2)U(sers) or (3)T(ables) Oracle要知道用户希望用哪一种方法。若选择2,应输入一个或多个用户名;若选择3,应输入一个或多个用户拥有的表名 Export table data(yes/no) 是关于写什么数据到卸库文件中去的指令。Oracle总是将用来创建卸库对象的SQL语句也写到卸库文件中。回答yes则告诉Oracle卸出对象中的数据 Compress extents(yes/no) Oracle需要知道写入卸库文件中的create table语句,是否要求包含一个初始化空间以容纳所有已在表中的数据 Table(T) or Partition(T:P) to be exported 要卸库的表的名字或要被卸库的分过区的大表的分区名

交互式装库:无参数调用 Username 装库操作人员的用户名和密码 Import file 待装库文件名。默认为expdat.dmp,可更改 Enter insert buffer size (minimum is 4096) 装库工具将数据写入表时作为工作区的内存块大小。一般输入一个10K~10M之间的数值(10240~10485760) List contents of import file only (yes/no) 若回答yes,Oracle将把写在装库文件中的SQL语句列出来。若回答no,装库工具将会把数据和数据的定义一起带到数据库中 Ignore create error due to object existence (yes/no) Oracle要知道如果在装库过程中,装库文件内的某个对象在数据库中已经存在了该怎样处理。若回答yes,Oracle就不管该对象存不存在而装入它的数据。若回答no,那么当Oracle发现某个对象在数据库中已经存在时,它会报告错误而去处理下一个对象 Import grants (yes/no) Oracle要知道当装入一个对象之后是否要运行写在装库文件中的g rant语句 Import table data (yes/no) Oracle要知道是否应该装入表数据( yes),或者是只运行SQL语句来创建对象( no) Import entire export file (yes/no) Oracle要知道是装入全部的文件还是只装入其中的某个特定部分。如果回答yes,装库开始;如果回答no,Oracle将会提问想要装库的内容

参数驱动方式的装库 当执行imp命令时,可将一个或多个参数传递给命令行。参数驱动的方法是最灵活和最可靠的装库新技术。其命令格式为 imp keyword1=value1 keyword2=value2 keyword3=value3 通过使用关键字参数,可以命令Oracle从卸库文件中装入什么数据。在操作系统提示符下键入imp help=y命令,就可以得到一张关键字、关键字含义及其默认值的列表。

参数列表 Userid Oracle用户名及口令。如果只给出用户名, Oracle 会提示:请输入口令 None Buffer 数据缓冲区的大小(字节数)。如果要求的缓冲区特别大,Oracle会去努力获取尽可能大的空间 4096 File 写入数据的文件名。如果没有指明文件扩展名,Oracle会假定为.dmp Expdat.dmp Compress 将存储参数写入到卸库文件中,使得在装库时,将所有的表数据放置在一个分区中 Y Grants 将SQL的grant语句写入卸库文件 Y

参数列表 Indexes 将SQL的create index语句写入卸库文件 Y Triggers 指示Oracle是否要把触发子创建语句写入卸库文件 Y Rows 将表的各行数据以及当前对象的定义一起卸出来 Y Constraints 将在装入对象时需要用来重建完整性的SQL语句写入卸库文件(例如,主键和索引语句) Y Log 指示Oracle在卸库操作中把屏幕上的输入/输出信息写入一个磁盘文件 None

参数列表 Full 控制Oracle是否将用来重建所有与系统相关联的数据文件、表空间、回退段等SQL语句写入卸库文件 N Owner 提供一个Oracle帐号清单,以显示谁的对象被写入卸库文件 None Tables 提供一个表的清单,以显示哪些表的定义或数据被写入卸库文件 None RecordLength 写入卸库文件的记录的长度(字节数) Operating system-specific Inctype 正在执行的增量卸库的类型 None

参数列表 Record 指示Oracle跟踪增量卸库写入的数据字典的视图。当使用一个增量卸库文件进行装库时会用到该信息 Y Parfile 包含有卸库所需参数的文件名 None Consistent 指示Oracle维护整张表的一致性。这能保证在进行卸库时,即使被卸出的表正在被使用,卸出的数据仍然是该表在卸库开始时数据的副本 N Statistics 将SQL的analyze语句写入卸库文件 Estimate Direct 使卸库通过直接读取数据来提取数据,而忽略SQL命令处理层。这种方法比传统的路径卸库要快得多 N Feedback 指定在卸库过程中显示一个进程刻度条,刻度条上每走一点,表示若干行已经被卸出 0

Parfile关键字参数 这个参数值得特别注意。可以使用它和一个文件名来为卸库与装库提供参数。使用parfile参数的格式有以下两种: imp parfile=my.parfile 或exp parfile=my.parfile 可以在parfile文件(在本例中为“my.parfile”)中放置一列参数,这些参数会作为“my.parfile”文件的内容而提供给卸库。 userid=wall/the tables=(waters,wright,mason) buffer=102400 compress=y grants=y 而下面的参数会作为“my.parfile”文件的内容提供给装库: userid=delicate/thunder fromuser=pulse touser=strat buffer=102400 grants=y

关于参数文件格式 两个参数文件的格式都是不受限制的。其中卸库参数文件在第一行写了两个参数,然后在第二行写了三个参数。可以轻松地完成下面的两个事情之一: userid=diamond/crazy tables=(dogs,war) buffer=102400 grants=y compress=y 或 userid=diamond/crazy tables=(dogs,war) buffer=102400 grants=y

交互式方法和参数驱动方法的混合使用 可以混合使用两种方法来调用卸库与装库,如下所示: exp floyd/pink buffer=102400 compress=n 当Oracle在命令行中碰到至少一个关键字参数时,它就会立即启动装库或卸库过程,而不会进入交互式对话。例如,使用命令imp mason/nick file=boogie将不会等待其他参数值的提示而立即启动装库。当采用这种方法来调用卸库或装库时,一定要小心。假设要执行一次全库卸出,可以用下面的命令调用卸库程序: exp system/not_manager buffer=102400 rows=n Oracle将一直执行卸库而不会提示用户输入其他的参数。 提示:多尝试卸库与装库,从而不会在最不希望的时候被它们的行为弄得手足无措。

卸库与装库的模式 表模式卸库与装库。 用户模式卸库与装库。 全库模式卸库与装库。

表模式卸库 使用表模式卸库,应告诉Oracle要卸出的一个或多个表的表名。Oracle将这些表的数据写入卸库文件。命令 exp userid=amanda/scholz tables=(feeling,ride,mast) file=fm.dmp 卸出括号内的属于amanda用户的三个表。其卸库文件为fm.dmp。 注意:当在tables关键字后列出多个表时,表名之间要用逗号隔开,并且整个列表都要包含在括号内。

用户模式卸库 使用用户模式卸库, Oracle将卸出一个用户的所有对象,包括视图、同义词、触发子、过程、数据库链接和表。用户模式卸库一般用于整理一个表空间。在用户的对象全部卸出之后,表空间就可以被删除或重建。命令 exp userid=beatles/rusty owner=(john,paul,george,ringo) 卸出括号内的四个用户。其卸出文件为expdat.dmp。 注意:当在owner关键字后列出多个拥有者名字时,名字之间要用逗号隔开,并且整个列表都要包含在括号内。

全库模式卸库 使用全库模式卸库,除SYS数据库用户之外,所有数据库用户的数据和数据库支持文件(数据文件、表空间、回退段等等)的创建语句都被写入卸库文件。命令 exp userid=system/not_manager full=y grants=y indexes=y 将整个数据库卸出到一个expdat.dmp文件中。 注意:在对全库模式卸库进行初始化时,并非每个数据库用户都可以使用full关键字。在许多情况下,往往是使用Oracle的SYSTEM帐号进行全库模式卸库。

表模式装库 使用表模式装库,应告诉Oracle要装入的一个或多个表的表名。Oracle就将这些表的数据写入数据库。命令 imp userid=fletcher/frank tables=(blowup,redmond,flowers) 装入括号内的属于f letcher用户的三个表。卸库文件为expdat.dmp。 提示:如果用户fletcher从另一个用户所有的卸库文件中装入表,那么这些表将在fletcher模式下创建,而不是在其他用户模式下创建。 注意:当在tables关键字后列出多个表名时,表名之间要用逗号隔开,并且整个列表都要包含在括号内。

用户模式装库 使用用户模式装库,Oracle将装入某个特定用户的所有对象,包括视图、同义词、触发子、过程、数据库链接和表。用户模式装库一般在表空间经过整理碎片而被重建之后使用。命令 imp userid=blaster/caster fromuser=(per_man,acc_man) touser=(per_man,acc_man) file=two_users 装入括号内的两个用户。其卸出文件为two_users.dmp。 注意:当在fromuser或touser关键字后列出多个用户名时,名字之间要用逗号隔开,并且整个列表都要包含在括号内。

全库模式装库 全库模式装库分为两步。第一步,执行卸库文件中所有数据库支持文件(数据文件、表空间、回退段等等)的创建语句。这一步完成后,数据库的整个结构就形成了。第二步,将用户的对象装入适当的表空间。命令 imp userid=system/beto full=y file=full_tst 执行了一次从full_tst.dmp文件的全库模式装库。 注意:当初始化全库模式装库时,并非每个数据库用户都可以使用full关键字。在许多情况下,往往使用Oracle的SYSTEM帐号进行全库模式装库。 提示:在使用SQL的create database命令创建了一个新的数据库之后,当用系统帐号执行一次全库模式装库时,不管在整库卸出时使用什么口令,口令一律为manager。

分割表上的卸库与装库 卸库与装库中会话的大多数对象都是表,使用Oracle8i的分割(Partition)功能,可以将分割对象看作源数据。选定分割的卸库可以使用分割级的卸库方式来完成,其命令类似于: exp system/ahbeto file=export.dmp tables=(scott.b:px, scott.b:py, mary.c, d:qb) 在这里,表名包含了属于用户scott表b的px和py分割、属于用户mary的表c以及属于正在运行卸库过程的用户的qb分割。 注意:每个分割名必须与其表名对应。

分割级装卸库 Oracle8i中分割级的装库可以将一个表的一个或多个卸出的分割表或者一个非分割表的卸出文件装入到一个分割的或非分割的目标表中。装库过程从卸库文件中仅读取指定的源分割区的数据行。当装库过程被调用时,这些说明被传送到命令行上,或从参数文件中读取。 提示:如果卸库文件中的数据行超出了目标分割定义的范围,则分割级装库不能将其装入指定的目标分割范围。源分割和目标分割必须有相同的表名。换句话说,表的某个分割中的数据只能装入相同表的另一个分割。

错误情况及解决办法 试图在数据库未打开时运行卸库或装库。 试图读取由数据库管理员所写的卸库文件。 试图在权限不足的情况下执行全库模式的卸库或装库。