oracle培训文档.docx

上传人:b****6 文档编号:6121522 上传时间:2023-01-04 格式:DOCX 页数:11 大小:23.08KB
下载 相关 举报
oracle培训文档.docx_第1页
第1页 / 共11页
oracle培训文档.docx_第2页
第2页 / 共11页
oracle培训文档.docx_第3页
第3页 / 共11页
oracle培训文档.docx_第4页
第4页 / 共11页
oracle培训文档.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

oracle培训文档.docx

《oracle培训文档.docx》由会员分享,可在线阅读,更多相关《oracle培训文档.docx(11页珍藏版)》请在冰豆网上搜索。

oracle培训文档.docx

oracle培训文档

3784057

老师:

李玉根

yugen.li@

OCP管理1

备份、恢复、迁移

Class

Oracledatabase11g

ASM数据存储

数据库的GRID防止单点

应用GRID

GRIDControl装DBserverEM12c可以管理一个云的管理数据中心性能非常好。

11G可以异地升级

高可用:

对单实例来说,有一个RESTART功能,GI对于单实例来说提供了一种重启进程的保护。

课程需要装GI,然后对于单实例数据库的管理。

关系数据库:

利用数据运算,关系-实体

实例在数据库之上。

实例:

内存结构、进程。

实例启动会运行一堆进程

数据库:

存储结构

Connection用户进程与服务器进程(实例)

Session:

PGA消耗内存、还有操作系统也会消耗内存:

建立连接会消耗7-14M内存。

两者都要计算进去。

2内存结构

SGA(调的时候合适就好,分配多了少了都是灾难)

Sharedpool解析SQL,只需要解析一次。

((调的时候合适就好,分配多了少了都是灾难,上线前要做压力测试,他与DBbuffercache对应,可手动设置一个最小值)

Dbbuffercache减少IO

Redologbuffer发生变换的块他会记录。

备份的时候这个块回暴涨

Keepbufferpool放在这个里面的对象不会被清除出去,节省IO

Recyclebufferpool利用清除

标准块8K可以定义一个表空间

Streamspool

Largepool缓解标准库的压力

Javapool用java写存储过程时候会保留

PGA-programglobalarea一般自动默认设置调大一些好

从数据库里面读出来的是什么:

3进程架构

连数据库之前要先连接Listener进程,然后是serverprocess

实例里面:

1.必须进程:

脏块进程、检查点进程、恢复进程、监控进程(PMON)(监控userprocess)

2.可选进程;…….recovererprocess(恢复交易进程,协调两个库,用于做分布式交易,有时候交易要等其他库,网络上延迟。

分布式交易时,通过DB-link来传数,这样开发成本低,但是有SCN问题,SCN暴涨会导致张得快库挂了,其他有这种连接的库也会挂,挂了后只能隔离自己后打补丁,在这之前要知道数据库之间的连接关系,从9i往上都有这个问题);

归档进程(格式和redo一样)

数据库存储结构

控制文件:

最重要,要有多个,如果这个文件坏了,没有备份,数据库就挂了

数据文件:

参数文件:

备份文件:

段:

表或者是索引。

小文件表空间可以有多个数据文件,他们比较小;,大文件只能有数据文件,但是这个文件可以很大。

SYSTEM表空间不能出问题。

经常变换。

里面放system01.dbfORACLE启动时候会扫描他。

如果他坏了,256块坏了,没备份,最后用dul(能抓数据、源代码)读数据转成dump文件。

或者从好的数据库中把256号好的块拷贝过来。

SYSAUX分担SYSTEM的压力

ASM:

集群文件系统等等。

要用ASM创建diskgroup.ASM文件RDBMS和ASM实例都能访问

数据库最重要的是数据库的备份:

全备、增备、归档、演练。

大部分的问题:

升级新版本、统计信息导致执行计划不当

安装时候如果是自己参数错误可以忽略,如果是补丁的问题不能忽略。

安装时候脚本要用ROOT权限来运行

安装时候不要把库一块建了,如果失败方便排查。

创建数据库

通用目的

数据仓库

客户生产上要选择这个!

重要

生产上要选择字符集,(以后不能随意改!

改了风险极大),安装前要问清楚!

客户端如果字符集如果指错了,与数据库里面的字符集不同,数据库里面就乱了,废了。

数据库的生命周期中DB_BLOCK_SIZE参数不能改。

安装好之后可以查看进程:

Ps-ef|grepsmon

ps-ef|grepinit

Ps-ef|greppmon

培训中安装了GRID,实现了高可用,在杀死smon,pmon在GRID的监控下它们被杀死后能够立即重启。

另外,init自己还有一个守护进程。

数据库的管理

数据库实例

数据库通过listener来监听端口,可以纳入GI管理,实现高可用。

数据库管理通过AGENT管理

查状态emctlstatusdbconsole查询实例的状态

Emctl

别用DBcontrol来管理。

Sqlplus在生产上用这个容易产生JAVA的问题,同时用他连接数据库也给黑客留了一道口子,黑客容易利用它攻进来。

Echo$ORACLE_SID

Pfile是一个文本文件,可以自己编辑。

Createpfile=’/temp

注意pfile中instance_type=’asm’需要把一个参数改为>1136M!

控制文件必须多个,

DB_BLOCK_SIZE标准块大小要先设置好。

PROCESSES这个设置包括很多进程。

UNDO_TABLESPACE同时只能写一个表空间,!

这个坏了要宕机的。

MEMORY_YARGET11G的时候只需呀设置一个参数就可以了。

10G的话要设两个。

静态参数:

在数据库打开的情况下不能改。

动态参数:

1.记录会话:

自己的2.记录系统的:

整个库的。

DBcontrol不能管理多个数据库,那是GRIDcontrol工作。

启动数据库的3种方式:

Nomount实例起来了。

Mount状态才能做备份恢复。

这时候控制文件打开了。

OPEN控制文件打开了,他会找数据文件。

ORACLE操作数据库有多种方式。

Startupnomount

Alterdatabasemount

Alterdatabaseopen

Shutdownmodes:

使用ABORT比较危险,

下面3种,数据库是一致的。

IMMERTIATE

TRANCTION

SHUTDOWN:

ABORTfailureFORCE这时候数据库是不一致的

通过视图来了解数据库。

视图GV是在集群下用的V的是当前实例的。

可以看出是谁被谁锁了,杀掉。

数据字典:

DBA_所有库所有的

ASM实例

从11G开始有的,推荐用他来管理存储。

有SGA系统全局区

进程:

1.RBAL增加盘协调进程,但不干活

2.ARBN

3.GMON

4.MARK

5.ONNN

6.PZ9N

ASM参数文件:

ASM_POWER_LIMIT负载均衡的速度,对系统性能影响大

ASM_DISKSTRING只有这些盘ASM能够找到。

以SYSASM登陆才能启停ASM

如果把ASM杀掉:

SHUTDOWNABORT实例也挂了,因为实例是建立在ASM上的。

Srvctlstopasm–f停ASM

Srvctlstatusasm查看状态

Asmcmd单独管理ASM登陆进去相当于进去一个文件系统。

有点像进去一个操作系统

Shutdown–abort

Quit

Srvctlstartasm

生产中先停应用,然后一个个停数据库的实例。

ASM磁盘:

实现要是普通磁盘,有接口、有权限

AU太大会成为热点,太小影响效率。

ASM文件格式,会被创建一个LINK,格式上会有一些改变。

AU往磁盘上写东西叫AU

ASM可对数据做条带化:

分散在各个盘上,细粒度:

数据分得更散,适合数据小、速度快。

Failgroup要求容量要2倍

Compatible参数选择

ASM如果一个块坏吧,不是立刻调整负载均衡,在容忍时间内先写日志,如果恢复了那么根据日志重写恢复。

Oracle网络

Lister:

Listener配置它的2个文件sqlnet.oralistener.ora

配置listenerIP端口协议服务

管理工具EM或者NETManager或者命令行

Lsnrctlstatus

Lsnrctlstart(LsnrctllistenerName)

Lsnrctlserver

服务的祖册分为2种:

动态和静态

服务先启动,listener后启动,那么要手动注册一下了解

LocalNaming

DirectoryNaming:

ExternalNamingmethod

配置服务名:

一个服务可以分配多个服务名,再将服务名分配给应用,这时候可以对于不同的应用进行管理。

测试连通性:

tnsping

服务器模式:

专用服务器:

每一个连接有一个serverprocess

共享服务器:

批处理、数据仓库、备份恢复。

别用这种模式。

Createdatabaselinkconnecttoidentifiedbyusing’

数据的存储结构

数据放在表空间,表空间相当于容器。

表、视图-----段

创建表空间:

本地管理—性能高些、数据字典管理

增加表空间:

2种,ASM\文件系统中。

文件大小,别太大,坏了不方便恢复。

SYSTEM

UNDOTBS

最关键的2个表空间

删除表空间:

删除了数据文件之后表空间恢复不会来了。

扩大数据库:

扩大表空间、增加数据文件、增加数据文件大小、增加磁盘

数据库用户账户

创建了一个用户—对应创建一个schemaschema和对象不是一个东西。

SYS:

数据字典属于他

DBSNMP数据库的简单网络管理协议。

数据库认证:

远程通过DBA过来,需要验证。

系统权限A->B>CA给B权限,B给C权限,B的权限没有了,C还有。

对象权限是级联收的A->B->cB的权限没有了C的权限也没有了

角色:

CONNECT等等

Grantselectonscott.emptorl:

Createuseru2identifiedbyu2:

Grantcreatesessiontou2:

Grantr1tou2:

重新登录之后(在登录的时候分配权限的)

U2select*fromdba_可以看权限了

锁放在事务曹中

行级排他锁不会升级

在插入、修改、删除时候会上锁

同一个块支持修改是有限的。

修改记录时候会加上一个行级排他锁。

这是日照排队的机制来实现的。

有时候长时间不提交就是会锁。

如果被堵了要么KILL他,要么提交它。

锁的机制默认是行级的。

Undo

回滚、散读、一致读

一致读:

一个事务在执行查数据,但是没有执行完的时候,数据被改了,而它需要的原始的数据。

用undo来保证,原始数据从undo的数据过来。

Undo保存的是旧数据,redo保存的是新数据。

Redo记录变化,防止数据丢失。

让数据库向前跑。

一个实例一个时间点有多个undo回滚段,读可以读多个回滚段,写只能写一个回滚段。

Undo不能太小,它必须存放得下事务。

否则发生错误。

审计

记录DBA所做的操作

要有多个DBA,互相看到各自做的事

监控系统上异常的活动。

DBA强制审计,默认打开。

标准数据库审计:

改一个数据库的参数:

audit_trail

基于值的审计:

可以制定审计策略:

对象、值、行、列。

等等

创建策略的时候视图必须是存在的,审计的列表中必须有。

Oracleauditvault审计日志传送到这里。

提高吧数据库的性能。

AWRautomaticworkloadrepository资料库可以对典型的时间段快照成一个基线。

统计信息:

数据库的和查询优化器

优化器的统计信息是基于时刻点。

收集审计信息,可以按用户名,时间点,表收集。

锁的统计信息。

数据字典的统计信息不要轻易收集,风险比较大。

用了柱状图,就尽量别用绑定变量。

ADDM对采集到的快照等的信息做分析,然后得出一个结论,建议怎么改。

Advisoryframework自动优化的工具。

可以创建告警,有时候告警的信息不全要调用更多的信息查原因

性能监控

千兆网络建议绑定使用,高可用。

私网要传心跳的,如果没有绑,可能是用了多个私网芯片。

(绑网卡,将2个网卡看成一个逻辑的,只给他一个IP,可以做成负载均衡)

Throughput吞吐量,常常登陆消耗listener资源。

Topsession

数据库的征用可以通过等待事件来解决。

逻辑读进入内存,如果逻辑读异常可能是执行计划错了。

有一个物理读一定有一个逻辑读

Topservices:

可以看哪个服务消耗的资源,可以针对这个services做优化。

内存管理:

自动内存管理。

内存可以有很多进行监控。

内存手动设置可以防范诸如内存收缩等等产生的一些极端情况。

应用上的问题最好由应用来解决,BDA只能尽力帮忙。

AMM图形管理,可以看到加内存对于系统性能的提升。

静态参数改它需要更改数据库。

数据库备份和恢复的概念

备份要放在卡特罗哥日志中,放置好,各种东西不要弄乱。

网络用双链路、网卡用双网卡。

网络失败。

用户的错误。

闪回:

通常解决人为的错误。

事务回退、闪回表、DROP、闪回数据库:

记一个时刻点,

数据库的实例恢复:

CKPT

REDO日志:

发生每一次COMMIT的时候

实例恢复,通常发生在异常宕机时候。

没有COMMIT,发生的变化仍然要写到redolog中。

写脏快之前一定要写到日志文件中,反之不一定。

实例恢复:

MTTR这个参数设置重启实例恢复需要的时间,时间短可能对IO造成很大压力?

介质恢复:

数据文件坏了

恢复中归档必须连续,中间断了不行。

为了保护redo信息,创建归档日志来保存它。

如果归档坏了,数据库好的,那么重新做全备,就可以了。

Redo日志文件是会被覆盖掉的。

Mount控制文件打开了,数据文件没有打开,?

备份和恢复

Oracle:

recoverymanager最经典的工具

Oraclesecurebackup还可以备份非数据库的文件:

端对端

可以把数据文件备份到闪回区。

Imagecopies完全copy

Backuppieces(由backupset备份出来的东西)对于备份加密、解压等等速度比较慢

全备和整体备份不一样

全备:

备份所有有数据的数据块

增量备份:

原来备份过一次,在0级备份的基础上备份新动向。

(谈到几级就是增量备份)

差异增量备份、累计增量备份-速度快。

恢复的话至少得有一个归档日志。

在线的备份-热备份必须备份到归档模式。

注意闪回区大小。

优化备份备份只读和优化的表空间

oracle归档日志不能手动删除,手动删除可能会出问题。

控制文件的备份

系统表分区挂了要先把数据库宕掉,然后再mount再回复,再启动才行。

控制文件坏了先nomount再恢复,再mount再启动。

数据库的恢复

控制文件好的

所有在线数据文件必须一致

Redo一个组别坏

Undo表空间坏了

以上4个有一个坏了数据库就挂了

Datarecoveryadvisor支持单实例数据库

如果控制文件坏了,宕机,可以用好的数据文件替换一下坏的数据文件。

GeneralArchitecture

数据泵:

可以做数据或metadata的移动

可以把源端的表导入到目标地,不用落地。

要用数据泵首先:

创建directory,这个对象是SYS他可以分给某个对象

在旧模式下用了新的指令,就会报错。

Sqlloader

将文本文件加载到数据库中,首先生成一个控制文件。

加载文件文件进入数据库,会生成大量日志,是普通DML方式,不会锁很多表,如果要求不能停业务,那么应该采用这种方式。

外部表:

文本的和二进制的(二进制必须用数据泵来驱动),可以通过一些视图来了解外部表的信息。

不能建立索引。

Workwithsupport

打补丁能停机时候就尽量停机来打补丁

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

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1