深入分析Oracle数据库的安全策略

深入分析Oracle数据库的安全策略,第1张

Oracle是关系型数据库管理系统 它功能强大 性能卓越 在当今大型数据库管理系统中占有重要地位 在正常情况下 Oracle数据库会保证数据的安全 稳定 为用户提供正确的数据 但由于计算机系统的故障(硬件故障 软件故障 网络故障和系统故障)影响数据库系统的 *** 作 影响数据库中数据的正确性 甚至破坏数据库 使数据库中全部或部分数据丢失 整个系统都将处于瘫痪状态 因此 如何保证Oracle数据库的安全就成为整个系统安全的重要组成部分

Oracle数据库的安全策略包括数据库的备份和恢复 用户角色管理

一 数据库备份所使用的结构

Oracle数据库使用几种结构来保护数据 数据库后备 日志 回滚段和控制文件

数据库后备是由构成Oracle数据库的物理文件的 *** 作系统后备所组成 当介质故障时进行数据库恢复 利用后备文件恢复毁坏的数据文件或控制文件

每一个Oracle数据库实例都提供日志 记录数据库中所作的全部修改 每一个运行的Oracle数据库实例相应地有一个在线日志 它与Oracle后台进程LGWR一起工作 立即记录该实例所作的全部修改 归档(离线)日志是可选择的 一个Oracle数据库实例一旦在线日志填满后 可形成在线日志归档文件 归档的在线日志文件被唯一标识并合并成归档日志

回滚段用于存储正在进行的事务(为未提交的事务)所修改值的老值 该信息在数据库恢复过程中用于撤消任何非提交的修改

控制文件 一般用于存储数据库的物理结构的状态 控制文件中某些状态信息在实例恢复和介质恢复期间用于引导Oracle

二 在线日志

一个Oracle数据库的每一实例有一个相关联的在线日志 一个在线日志由多个在线日志文件组成 在线日志文件(online redo log file)填入日志项(redo entry) 日志项记录的数据用于重构对数据库所作的全部修改

三 归档日志

Oracle要将填满的在线日志文件组归档时 则要建立归档日志(archived redo log) 其对数据库备份和恢复有下列用处

数据库后备以及在线和归档日志文件 在 *** 作系统和磁盘故障中可保证全部提交的事物可被恢复

在数据库打开和正常系统使用下 如果归档日志是永久保存 在线后备可以进行和使用

数据库可运行在两种不同方式下 NOARCHIVELOG方式或ARCHIVELOG 方式 数据库在NOARCHIVELOG方式下使用时 不能进行在线日志的归档 如果数据库在ARCHIVELOG方式下运行 可实施在线日志的归档

四 Oracle的备份特性

Oracle备份包括逻辑备份和物理备份

逻辑备份

数据库的逻辑备份包含读一个数据库记录集和将记录集写入文件

( )输出(Export)输出可以是整个数据库 指定用户或指定表

( )输入(Import)输入将输出建立的二进制转储文件读入并执行其命令

物理备份

物理备份包含拷贝构成数据库的文件而不管其逻辑内容

Oracle支持两种不同类型的物理文件备份 脱机备份(offline backup)和联机备份(online backup)

( ) 脱机备份

脱机备份用在当数据库已正常关闭 数据库处于 offline 时 要备份下列文件

所有数据文件

所有控制文件

所有联机日志

init ora(可选的)

( ) 联机备份

联机备份可用来备份任何运作在ARCHIVELOG方式下的数据库 在这种方式下 联机日志被归档 在数据库内部建立一个所有作业的完整记录

联机备份过程具备强有力的功能 第一 提供了完全的时间点(point in time)恢复 第二 在文件系统备份时允许数据库保持打开状态

备份方式特性比较

五 Oracle数据库的角色管理

Oracle数据库系统在利用角色管理数据库安全性方面采取的基本措施有

通过验证用户名称和口令 防止非Oracle用户注册到Oracle数据库 对数据库进行非法存取 *** 作

授予用户一定的权限 限制用户 *** 纵数据库的权力

授予用户对数据库实体的存取执行权限 阻止用户访问非授权数据

提供数据库实体存取审计机制 使数据库管理员可以监视数据库中数据的存取情况和系统资源的使用情况

采用视图机制 限制存取基表的行和列集合

六 Oracle数据库的安全策略

由于Oracle数据库备份有三种方式 每种方式具有不同的恢复特性 因此应集成数据库与文件系统备份 集成逻辑备份和物理备份

(一) 备份策略

在 *** 作系统级别 使用大容量磁盘阵列 通过磁盘映像技术使每一个数据库文件自动分布于每个物理磁盘 这样 当某个磁盘出现物理损坏时 *** 作系统会自动引发映像磁盘来取代失效的磁盘 保证数据库的正常运行

在多个不同的物理磁盘上保持多个控制文件的备份 控制文件在数据库恢复期间用于引导Oracle 因此保持多个控制文件的备份 可以确保在出现磁盘故障后 能有可用的控制文件用于数据库恢复

使数据库运行在ARCHIVELOG(归档)方式下 归档日志存放于另一映像的逻辑磁盘上 每晚进行一次联机备份 *** 作 备份所有数据文件 所有归档日志文件 一个控制文件 每周进行一次输出(Export) *** 作

(二) 恢复策略

实例失败

从实例失败中恢复是自动进行的 实例失败一般是由服务器失败引起的 当数据库实例失败后 重新启动服务器 启动数据库 Oracle检查数据文件和联机日志文件 并把所有文件同步到同一个时间点上

磁盘失败

如果丢失的是控制文件 只要关闭数据库 从保留有控制文件的地方拷贝一份即可

如果丢失的是数据文件 可用前一天晚上的联机备份进行恢复 步骤如下

)从备份中把丢失的文件存在原来位置

)加载数据库

)恢复数据库

)打开数据库

错误删除或修改对象

在这种情况下 一般希望能追溯返回到错误发生前的那个时间点上 这叫做时间点恢复 完成恢复的步骤如下

)从当前数据库输出(Export) 输入(Import)到备用数据库 使备用数据库与当前数据库保持一致

)向前滚动备用数据库到错误发生前的那个时间点

)从备用数据库输出受错误影响的逻辑对象

)使用上一步产生的输出文件输入那些受影响的对象到当前数据库

(三) 用户角色管理

对所有客户端按工作性质分类 分别授予不同的用户角色

对不同的用户角色 根据其使用的数据源 分别授予不同的数据库对象存取权限

lishixinzhi/Article/program/Oracle/201311/16847

记录。由oracle官网得知,Oracle记录日志,Oracle的数据库日志称为redolog。Oracle是甲骨文公司的一款关系数据库管理系统,它是在数据库领域一直处于领先地位的产品。

在Oracle数据库中,有一种日志文件叫做重做日志文件,他就是大家俗称的:redolog。在redolog中又分为两种:在线重做日志与归档日志。

ONLINE Redo log

在线重做日志(online redo log )主要用于:Oracle数据库所在服务器突然掉电、突然重启或者执行shutdown abort等命令使得在服务器重新启动之后,Oracle数据库没有办法正常的启动实例。此时,在线重做日志就派上了用场,Oracle会使用在线重做日志,把数据库恢复到服务器掉电前的那一个时刻,从而使得数据库能正常的启动起来 。

在Oracle数据库中,默认情况下,至少会有两个重做日志组,而且每个组里面至少包含了一个重做日志文件。日志组不会自动增加,在一个写满之后,会自动去写下一个。在下一个被写满之后会又从第一个开始写起。

Archive redo log

归档日志(archive log)主要用于硬件级别的错误:磁盘的坏道导致无法读写、写入的失败、磁盘受损导致数据库数据丢失。这就要使用归档日志文件,通过归档日志文件,把数据库恢复到归档日志所在的时间点上然后再通过在线重做日志文件把数据库恢复到当前的时间点上。

对于归档日志文件,可以理解为在线重做日志文件的备份。即当一个重做日志文件被填满了之后,归档日志文件就会把其备份保留一份。(因为上面说了,在线重做日志文件会自动的覆盖)所以,归档日志文件就是旧的在线日志文件的备份。

Oracle数据库的日志有:

Redo logfile ----重做日志

Archive logfile ----归档日志

Trace file ---- 跟踪日志

backupground_dump_dest ---- 后台进程跟踪

core_dump_dest ---- Oracle内核日志

User_dump_dest ---- 用户跟踪(服务器进程)

简称日志一般指的是联机重做日志文件(Redlog)。主要功能是恢复异常关闭的数据库和保证数据的完整性、一致性。还有可恢复近期丢失的数据(这要看重做日志文件的容量)。

重做文件的原理是:把DML(Insert、Update、Delete)语句所处理的前后记录都写入重做日志文件中。当数据库的数据出故障时利用重做日志文件中的数据重新运行一次之前做过的业务,以此来恢复数据库中除了故障的数据。

重做日志文件至少要有两组,一般是三组。写满第一组写第二组,写满第二组写第三组,写满第三组返回覆盖写第一组,以此类推。

Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数 据等,对这些 *** 作都会记录在联机重做日志里。

一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做 日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。

如果数据库处于非归 档模式,联机日志在切换时就会丢弃 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志 2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。数据库使用归档方式运行时才可以进行灾难性恢复。

1归档日志模式和非归档日志模式的区别

非归档模式只能做冷备份,并且恢复时只能做完全备份最近一次完全备份到系统出错期间的数据不能恢复。

归档模式可以做热备份,并且可以做增量备份,可以做部分恢复。

用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式。

记录系统日志,比如日志切换的记录,修改系统参数等系统事件。

位置在参数background_mp_dest指定的路径下,一般为:%ORACLE_BASE%admin%ORACLE_SID%mp

以上就是关于深入分析Oracle数据库的安全策略全部的内容,包括:深入分析Oracle数据库的安全策略、oracle记录日志吗、oracle数据库日志有什么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9871042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存