oracle基础培训.ppt

上传人:小飞机 文档编号:5442104 上传时间:2023-07-07 格式:PPT 页数:50 大小:375.50KB
返回 下载 相关 举报
oracle基础培训.ppt_第1页
第1页 / 共50页
oracle基础培训.ppt_第2页
第2页 / 共50页
oracle基础培训.ppt_第3页
第3页 / 共50页
oracle基础培训.ppt_第4页
第4页 / 共50页
oracle基础培训.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《oracle基础培训.ppt》由会员分享,可在线阅读,更多相关《oracle基础培训.ppt(50页珍藏版)》请在三一办公上搜索。

1、ORACLE 基础培训,Oracle 11g,第一章 走进oracle第二章 表空间管理第三章 用户管理第四章 数据的导入导出第五章 数据的闪回第六章 数据的全备及增量备份第七章 数据库死锁及处理,内容提要,第一章 走进oracle,1、oracle 简介,oracle版本:从最初的数据库版本到Oracle7、Oracle8i、Oracle9i,Oracle10g到Oracle11g,现在 Oracle 12coracle是一个关系数据库公司一般使用的是可以通过 select*from v$version;查看你的数据库的版本,物理存储结构,2、oracle 体系结构,控制文件:控制文件虽小,

2、但作用重大,它包含指向数据库其余部分的指针(包括重做日志文件,数据文件,归档日志文件等的位置),存储重要的序列号和时间戳,存储RMAN备份的详细信息。控制文件一旦受损,那实例会立马终止,一般对数据文件的保护采用多路复用机制,就是冗余多份在不同物理位置。我们可以通过 select name from v$controlfile;来查看控制文件的路径。也可以通过备份控制文件来查看控制文件内容alter database backup controlfile to trace as/oradata/ctl.txt;,重做日志文件:重做日志的作用是按时间顺序存储应用于数据库的一连串的变更向量(包含联机

3、重做日志文件和归档日志文件)。由SMON在数据库启动时自动执行的实例恢复和磁盘损坏所要求的提取备份恢复都会应用到重做日志进行相应的数据恢复。我们可以通过select*from v$logfile;来查看重做日志文件的路径。重做日志文件也建议进行多路复用,一个数据库至少要有两组重做日志文件。一组供LGWR 进行写入,日志文件是固定大小,业务高峰期会很快写满,写满之后会切换到第二组上,在配置为归档模式的数据库中,这时由归档进程(ARCn)开始将第一组 的内容进行归档备份,如此循环地进行写入和归档。需要注意的是,在归档进程还未对当前组的日志归档完毕前,是不允许LGWR对其进行重写的。,数据文件:数据

4、文件存储着实际的数据,将数据库缓冲区中的内容写入到这类文件中去,数据文件的大小和数量是不受限制的。Oracle从10g开始,创建一个数据库至少需要两个数据文件,一个用于SYSTEM表空间,该表空间用来存储数据字典;一个用于SYSAUX表空间,这个表空间用来存储一些数据字典的辅助数据。我们可以通过select name from v$datafile;来查看数据文件的路径。实例参数文件 这个文件存储了数据库所需的一些参数设置,比如各个内存区域的大小,可允许的最大进程数,最大会话数,控制文件的位置,数据库的名称等等,参数文件也是实例启动时首先要加载的文件。我们可以通过show parameter

5、spfile;来查看实例参数文件的路径,口令文件:一般称为外部口令文件。一般的用户名和口令是存放在数据字典中,不会存放在这个文件中。在一些特殊场景下,比如实例还未启动,这时就需要外部口令文件进行用户身份的验证。归档日志文件 ARCn将联机重做日志文件会备份归档到这类文件中去,归档日志文件保留了数据更改的完整历史信息警报和跟踪文件 就是警报日志文件,他记录了数据库的重大活动和所发生的错误.警报文件按照时间的先后来记录所发生的重大活动和错误.警报文件的位置select value from v$parameter where name=background_dump_dest;,逻辑结构,区、段、

6、块的关系:逻辑存储结构包括表空间,段,区,数据块。逻辑结构之间的关系是:多个块组成区,多个区组成段,多个段组成表空间,多个表空间组成逻辑数据库。表空间(多个表空间组成逻辑数据库)段(多个段组成表空间)区(多个区组成段)数据块(多个数据块组成区)一个区:一个区只能在一个数据文件中。段中的各个区:一个段中的各个区可以分别在多个数据文件中。组成区的块:组成区的块是连续的。逻辑存储结构是有大小的:由于逻辑的数据块对应磁盘空间中某个固定大小尺寸,所以逻辑存储结构也是有大小的。,表空间,第二章 表空间的管理,默认的表空间system,sysaux,temp,undotbsl,user查看数据库的表空间se

7、lect tablespace_name from dba_tablespaces;,1、创建表空间,语法:create temporary(临时表空间)tablespace table_name.创建数据表空间create tablespace user_datadatafile/home/app/oracle/oradata/oracle10g/user01.dbf size 800M autoextend on next 50M-自动扩展为50M maxsize unlimited-大小不受限制创建临时表空间create temporary tablespace sales tempfi

8、le/home/app/oracle/oradata/oracle10g/sales01.dbf size 800M autoextend on next 50M maxsize 1000M,2、表空间管理 2-1,1、增加新的数据文件来增加表空间大小:alter tablespace sales add datafile/home/app/oracle/oradata/oracle8i/sales02.dbf size 800M autoextend on next 50M maxsize 1000M;2、手动增加数据文件尺寸ALTER DATABASE DATAFILE/oracle/or

9、adata/db/GAME.dbf RESIZE 4000M;3、设定数据文件自动扩展ALTER DATABASE DATAFILE/oracle/oradata/db/GAME.dbfAUTOEXTEND ON NEXT 100MMAXSIZE 10000M;-autoextend off,表空间管理2-2,设置默认表空间alter database default temporary tablespace myspace;-修改默认的临时表空间为myspacealter database default tablespace myspace;-修改默认的普通表空间为myspaceselec

10、t default_tablespace from user_users;-查询当前用户的默认表空间Select a.property_name,a.property_value from database_properties a where a.property_name like%DEFAULT%;-查询默认表空间和临时表空间,3、删除表空间,drop tablespace tablespace_name including contents and datafiles;-删除表空间连视图等对象一起删除并将数据文件一起删除,查看表空间的名称及大小 select t.tablespace_

11、name,round(sum(bytes/(1024*1024),0)ts_size from dba_tablespaces t,dba_data_files d where t.tablespace_name=d.tablespace_name group by t.tablespace_name;查看表空间物理文件的名称及大小 select tablespace_name,file_id,file_name,round(bytes/(1024*1024),0)total_space from dba_data_files order by tablespace_name;查看表空间的使用

12、情况 SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED,C.BYTES FREE,(B.BYTES*100)/A.BYTES%USED,(C.BYTES*100)/A.BYTES%FREE FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;,第三章 用户的管理,系统用户:sys;/系统管理员,拥有最高权限system

13、;/本地管理员,次高权限scott;/普通用户,密码默认为tiger,默认未解锁用户登录sqlplus/as sysdba;/登陆sys帐户sqlplus user/password/普通用户登录,创建用户create user user1identified by user1-user1为密码default tablespace users-使用users表空间为默认表空间temporaray tablespace temp-指定临时表空间为tempquota 20m on users-配额大小指的是用户指定使用表空间的的大小password expire-登录就要修改密码accout un

14、lock;-不锁定CREATE USER cyht IDENTIFIED BY cyht ACCOUNT UNLOCK;,创建用户并指定表空间create user username identified by password default tablespace user_datatemporary tablespace user_tempaccout unlock;,授权限:尽管用户成功创建,但是还不能正常的登录Oracle数据库系统,因为该用户还没有任何权限。CONNECT角色,主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予 他们CONNECT role。CONNECT是使

15、用Oracle的简单权限,拥有CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。RESOURCE角色,更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE 提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。DBA角色,DBA role拥有所有的系统权限-包括无限制的空间限额和给其他用户授 予各种权限的能力。用户SYSTEM拥有DBA角色。一般情况下,一个普通的用户(如SCOTT),拥有CONNECT和RESOURCE两个角色即可进行常规的数据库开发工

16、作。,授权限 GRANT CONNECT TO cyht;GRANT RESOURCE TO cyht;GRANT DBA TO cyht;GRANT EXP_FULL_DATABASE TO cyht;GRANT IMP_FULL_DATABASE TO cyht;回收权限 语法:REVOKE 角色|权限 FROM 用户(角色),修改用户 alter user user1 identified by user1;-修改用户密码 alter user user1 account lock;-锁定用户 alter user user1 account unlock;-解锁用户 alter use

17、r user1 default tablespace temp01;-修改用户默认表空间删除用户 drop user cyht cascade;,第四章 数据的导入导出,传统的数据导入导出工具:exp/imp 在10g之前,传统的导出导入分别使用exp工具和imp工具。Data Pump(数据泵)工具:expdp/impdp 从10g开始,不仅保留了原有的exp和imp工具,还提供了数据泵导出导入工具expdp和impdp注意:imp只适用于exp导出的文件,不适用于expdp导出文件;impdp只适用与expdp导出的文件,不适用于exp导出文件。data pump导出导入所得到的文件跟传统

18、的import/export应用程序导出导入的文件不兼容!,1、exp,exp常见参数的含义:命令:exp-helpuserid:用于指定执行操作的用户,密码,连接字符串file:定义导出文件名full:控制export的级别,导出整个数据库。default=ngrants:决定export程序是否卸载授权 default=yowner:决定数据卸载的级别。如果设定owner参数,卸载的级别为用户级tables:决定数据卸载的级别。如果设定tables参数,卸载的级别为表级rows:用于指定执行导出操作是否要导出表的数据 default=y,exp有三种主要的方式(数据库、用户、表)1、全数据

19、库:exp system/manager file=name.dmp full=y2、用户模式:exp user/pass file=name.dmp 也可导出其他用户 exp user/pass file=name.dmp owner=user2 3、表模式:exp user/pass file=name.dmp tables=(table1,table2)只导表结构 exp user/pass file=name.dmp tables=(table1)rows=n注:参数可以自己根据实际情况加。如:log,2、imp,imp常见参数含义:imp-helpuserid:用于指定执行操作的用户

20、,密码,连接字符串file:导入数据的文件名full:导入整个文件 default=nfromuser:所有人用户名列表touser:用户名列表tables:表名列表rows:导入数据行 default=yignore:忽略创建错误 default=n,imp有三种主要的方式(数据库、用户、表)1、数据库模式 imp system/manager file=name.dmp full=y log=name.log2、用户模式 导入自身用户:imp user/pass file=name.dmp log=name.log 导入其他用户:imp user/pass file=name.dmp lo

21、g=name.log fromuser=user2 touser=user3、表模式 导入自己的表:imp user/pass file=name.dmp tables=(table1)导入其他用户的表:imp user/pass file=name.dmp log=name.log tables=(user2.table1)只导入表结构:imp user/pass file=name.dmp log=name.log tables=(table1)rows=n,3、数据泵工具expdp 和impdp,数据泵功能如下:1.在导出导入作业中,能够控制用于此作业的并行线程的数量2.支持在网络上进行

22、导出或导入,而不需要使用转储文件集3.如果失败或停止,能够重启一个Data Pump作业。并且能挂起和恢复导出和导入作业4.通过一个客户端程序能够连接或脱一个运行的作业5.空间估算能力,而不需要实际执行导出6.可以指定导出或导入对象的数据库版本。允许导出和导入对象进版本控制,以便与低版本的数据库兼容,在开始操作前,需要进行以下3个操作:.环境变量中对bin目录进行了配置。.在Oracle安装路径的bin文件夹中,确定expdp.exe和impdp.exe文件的存在.创建一个外部目录directory创建逻辑目录:create directory 目录名 as 路径;-sql命令行下执行查看逻辑

23、目录:select*from dba_directories;删除逻辑目录:drop directory 目录名;加权限:grant read,write on directory 目录名 to 用户;,4、expdp,expdp的三种主要方式:1、导出整个数据库 expdp system/manager directory=dpdata1 dumpfile=full.dmp full=y2、按用户导出 expdp user/pass schemas=user dumpfile=expdp.dmp directory=目录3、按表名导出 expdp user/pass tables=(tbl1

24、,tbl2)directory=目录 dumpfile=tbl.dmp-exclude=table:IN(dd_mst),5、impdp,impdp的三种主要方式:1、导入数据库impdb system/manager directory=dump_dir dumpfile=full.dmp full=y;2、按用户导入impdp scott/tiger directory=目录 dumpfile=dd.dmp schemas=scott;impdp liang/pass directory=目录 dumpfile=tlht.dmp remap_schema=tlht:liang-从tlht导

25、出的数据,导入到liang用户中3、按表导入impdp user/pass directory=mytemp dumpfile=exptab.dmptables=(tbl1,tbl2)table_exists_action=replace;-table_exists_action参数说明1)skip:默认操作2)replace:先drop表,然后创建表,最后插入数据3)append:在原来数据的基础上增加数据4)truncate:先truncate,然后再插入数据,第五章 数据的闪回,3、数据库的闪回,闪回的概述 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候

26、,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成。闪回技术 Oracle提供了四种可供使用的闪回技术(闪回查询,闪回删除,闪回归档,闪回数据库),每种都有不同的底层体系结构支撑,但其实这四种不同的闪回技术部分功能是有重叠的,使用时也需要根据实际场景合理选择最合适的闪回功能。1,闪回查询 1.1 基本闪回查询:select*from dept as of timestamp to_timestamp(201

27、6-09-10 11:00:00,yyyy-mm-dd hh24:mi:ss),1.2 闪回表:alter table emp enable row movement;flashback table dept to timestamp to_timestamp(2016-09-10 11:00:00,yyyy-mm-dd hh24:mi:ss);2,闪回删除 闪回删除可以轻松将一个已经被Drop的表还原回来。相应的索引,数据库约束也会被还原(除了外键约束)flashback table emp to before;如果名字已经存在 flashback table emp to before d

28、rop rename to emp_new;3,闪回归档,闪回数据归档可使表具有回退到过去任何时间点的能力,前面提到的闪回查询,闪回表都会受限于撤销数据是否失效,如果撤销数据被覆盖重写了,闪回操作自然会失败,闪回删除则受限于表空间是否有足够可用空间,而闪回数据归档,则没有这些限制。1.创建一个用户闪回数据归档的表空间,当然,也可以使用已经存在的表空间。create tablespace test_tb datafile test.dbf size 20m;2、创建一个保留时间为2年的闪回归档 create flashback archive test_fa tablespace test_tb

29、 retention 2 year;3、赋予用户归档的权限 grant flashback archive on test_fa to scott;4、为emp表启用闪回归档 alter table emp flashback archive test_fa;,4,闪回数据库 闪回数据库可将整个数据库回退到过去某个时间点,闪回表是某张表的时空穿梭,闪回数据库则是整个数据库的时空穿梭。当然,闪回点之后的所有工作就丢失了,其实就相当于数据库的不完整恢复。4.1.指定闪回恢复区,也就是存放闪回日志的位置 alter system set db_recovery_file_dest=/flash_re

30、covery_area;4.2.指定恢复区大小 alter system set db_recovery_file_dest_size=4G;4.3.指定闪回日志保留时间为2小时,即通过闪回操作,可以将数据库回退到前两小时内的任意时间点 alter system set db_flashback_retention_target=120;4.4.配置闪回数据库,shutdown immediate;startup mount;alter database flashback on;alter database open;4.5.使用闪回功能 shutdown immediate;startup

31、 mount;flashback database to timestamp sysdate-60/1440;alter database open resetlogs;,闪回表是利用UNDO表空间的撤销数据,所以能把表闪回到多久之前受到undo_retention,UNDO表空间的数据文件是否启动自动增长功能,是否设置guarantee等三种因素的影响。关于undo的参数:show parameter undo oracle里对undo_retention默认时间是900秒,第六章数据的全备及增量备份,1、RMAN工具 RMAN是对数据库进行备份和恢复操作并自动管理相关备份策略的客户端工具。

32、2、启动RMAN并连接到目标数据库 rman target/;默认使用SYSDBA角色登陆 3、查看当前RMAN配置 通过show all;命令,可以查看当前的配置;4、不同模式下的数据库备份 1)若数据库开启归档,则数据库支持open状态进行RMAN备份,但此时的备份为非一致性备份,即在恢复时,需要使用到归档redo日志,才能使数据库恢复到一致性状态,2)在非归档模式下的数据库,只能进行一致性备份,备份前需要将数据库一致性关闭后,打开到mount状态,再进行备份 5、创建增量备份 增量备份分为累计增量备份(cumulative incremental backup)和差异增量备份(diffe

33、rential incremental backup)。oracle默认类型为差异增量备份 3、创建增量更新备份 3.1,需要0级数据文件镜像作为基础,并且这些镜像需要一个系统定义或者个人定义的标签 backup as compressed backupset incremental level 0 database format=S:orabackuporabackup_databaseInc_0_%d_%T_%U 其中:%U获得系统分配的一个唯一名;%d为DB_NAME;%T备份设置的时间戳;,3.2,定期备份期间,1级差异增量备份的标签需要和0级数据文件镜像的标签一致 backup as

34、 compressed backupset incremental level 1 database format=S:orabackuporabackup_databaseInc_0_%d_%T_%U 4、维护RMAN备份 核对所有备份集:crosscheck backup;删除过期的备份集:delete noprompt obsolete;检查控制文件和实际物理文件的差别:crosscheck archivelog all;同步控制文件的信息和实际物理文件的信息:delete noprompt expired backup;,第七章 数据库的死锁及处理,死锁的概念所谓死锁,是指两个会话,每

35、个会话都持有另外一个会话想要的资源,因争夺资源而造成的一种互相等待的现象,此时就会出现死锁,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。Oracle对于“死锁”采取的策略是回滚其中一个事务,让另外一个事务顺利进行。查找锁定的SQL语句及锁定机器名select username,lockwait,status,machine,program,sid,serial#,sql_text from v$sql a,v$session b,v$locked_object c where a.hash_value=b.sql_hash_value and b.sid=c.session_id 查询死锁的语句select alter system kill session|sess.sid|,|sess.serial#|;from v$locked_object lo,dba_objects ao,v$session sess where ao.object_id=lo.object_id and lo.session_id=sess.sid;,谢谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号