随着计算机网络应用的普及和提高,Oracle数据库应用在各个领域日新月异,它性能优异,操作灵活方便,是目前数据库系统中受到广泛青睐的几家之一。然而,随着应用的深入,数据信息的不断增加,数据库的安全性问题已提到了一个十分重要的议事日程上,它是数据库管理员日常工作中十分关注的一个问题。由于计算机软、硬件故障,导致数据库系统不能正常运转,造成大量数据信息丢失,甚至使数据库系统崩溃。为此,笔者围绕如何保证Oracle数据库具有较高的安全性,使数据库系统处于一个稳定安全的状态下,谈一些认识。
用户角色的管理
这是保护数据库系统安全的重要手段之一。它通过建立不同的用户组和用户口令验证,可以有效地防止非法的Oracle用户进入数据库系统,造成不必要的麻烦和损坏;另外在Oracle数据库中,可以通过授权来对Oracle用户的操作进行限制,即允许一些用户可以对Oracle服务器进行访问,也就是说对整个数据库具有读写的权利,而大多数用户只能在同组内进行读写或对整个数据库只具有读的权利。在此,特别强调对SYS和SYSTEM两个特殊账户的保密管理。
为了保护Oracle服务器的安全,应保证$ORACLE_HOME/bin目录下的所有内容的所有权为Oracle用户所有。
为了加强数据库在网络中的安全性,对于远程用户,应使用加密方式通过密码来访问数据库,加强网络上的DBA权限控制,如拒绝远程的DBA访问等。
数据保护
数据库的数据保护主要是数据库的备份,当计算机的软硬件发生故障时,利用备份进行数据库恢复,以恢复破坏的数据库文件或控制文件或其他文件。
另一种数据保护就是日志,Oracle数据库实例都提供日志,用以记录数据库中所进行的各种操作,包括修改、调整参数等,在数据库内部建立一个所有作业的完整记录。
再一个就是控制文件的备份,它一般用于存储数据库物理结构的状态,控制文件中的某些状态信息在实例恢复和介质恢复期间用于引导Oracle数据库。
Oracle数据库备份
日常工作中,数据库的备份是数据库管理员必须不断要进行的一项工作,Oracle 7数据库的备份主要有以下几种方式:
1.逻辑备份
逻辑备份就是将某个数据库的记录读出并将其写入到一个文件中,这是经常使用的一种备份方式。
● export(导出):此命令可以将某个数据文件、某个用户的数据文件或整个数据库进行备份。
● import(导入):此命令将export建立的转储文件读入数据库系统中,也可按某个数据文件、用户或整个数据库进行。
2.物理备份
物理备份也是数据库管理员经常使用的一种备份方式。它可以对Oracle数据库的所有内容进行拷贝,方式可以是多种,有脱机备份和联机备份,它们各有所长,在实际中应根据具体情况和所处状态进行选择。
● 脱机备份
其操作是在Oracle数据库正常关闭后,对Oracle数据库进行备份,备份的内容包括:所有用户的数据库文件和表;所有控制文件;所有的日志文件;数据库初始化文件等。可采取不同的备份方式,如:利用磁带转储命令(tar)将所有文件转储到磁带上,或将所有文件原样复制(copy,rcp)到另一个备份磁盘中或另一个主机的磁盘中。
● 联机备份
这种备份方式也是切实有效的,它可以将联机日志转储归挡,在 Oracle数据库内部建立一个所有进程和作业的详细准确的完全记录。
物理备份的另一个好处是可将Oracle数据库管理系统完整转储, 一旦发生故障,可以方便及时地恢复,以减少数据库管理员重新安装Oracle带来的麻烦。
数据库系统的恢复
有了上述几种备份方法,即使计算机发生故障,如介质损坏、软件系统异常等情况时,也不必惊慌失措,可以通过备份进行不同程度的恢复,使Oracle数据库系统尽快恢复到正常状态。
1.数据文件损坏
这种情况可以用最近所做的数据库文件备份进行恢复,即将备份中的对应文件恢复到原来位置,重新加载数据库。
2.控制文件损坏
若数据库系统中的控制文件损坏,则数据库系统将不能正常运行,那么,只须将数据库系统关闭,然后从备份中将相应的控制文件恢复到原位置,重新启动数据库系统。
3.整个文件系统损坏
在大型的操作系统中,如UNIX,由于磁盘或磁盘阵列的介质不可靠或损坏是经常发生的,这将导致整个Oracle数据库系统崩溃,这种情形只能:
● 将磁盘或磁盘阵列重新初始化,去掉失效或不可靠的坏块。
● 重新创建文件系统。
● 利用备份将数据库系统完整地恢复。
● 启动数据库系统。
以上几个方面是笔者通过日常工作中对Oracle数据库系统的管理和应用得到的一点认识和体会,总之,还有很多安全性方面的技术和措施有待于去总结,以便我们的数据库系统能更高效安全的运行。