oracle数据库精讲与疑难解析第2版
Ⅰ Oracle数据库精讲与疑难解析的介绍
本书是一本毫无保留的Oracle学习宝典。通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理以及应用程序开发等相关知识。本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。作者赵振平。
Ⅱ Oracle数据库精讲与疑难解析的图书目录
第1篇 创建属于自己的Oracle数据库
第1章 认识Oracle的世界——Oracle的体系结构
1.1 Oracle的发家史
1.2 数据库
1.3 数据库管理系统(DBMS)
1.4 关系数据库的概念(RDBMS)
1.4.1 关系数据库模型
1.4.2 表
1.5 Oracle的总体框架结构
1.5.1 Oracle实例(Oracle Instance)
1.5.2 Oracle的存储结构
1.6 数据字典(Data Dictionary)
1.6.1 数据字典概述
1.6.2 数据字典的结构
1.6.3 数据字典的使用
第2章 迈出第1步——Oracle的安装/卸载
2.1 Oracle的安装
2.1.1 Oracle安装的几个概念
2.1.2 Oracle g(10.1)的安装——Windows篇
2.1.3 Oracle g的安装——Solaris篇
2.1.4 Oracle安装疑难解析
2.2 Oracle的卸载
2.2.1 Oracle完全卸载——Windows篇
2.2.2 Oracle完全卸载——UNIX篇
第3章 有米之炊——数据库的创建与删除
3.1 创建数据库
3.1.1 数据库创建概述
3.1.2 Solaris下用DBCA创建数据库
3.1.3 DIY——Solaris下手工创建数据库
3.1.4 数据库创建疑难解析
3.2 删除数据库
3.2.1 数据库删除概述
3.2.2 数据库删除——手工篇
3.2.3 数据库删除——DBCA篇
第2篇 网 络 管 理
第4章 Oracle网络管理并不难
4.1 Oracle网络体系结构
4.1.1 Oracle应用的几种网络结构
4.1.2 Oracle Net
4.1.3 OSI模型
4.1.4 Oracle Net的堆栈结构
4.1.5 Oracle监听器
4.1.6 连接描述符(connect identifier)
4.1.7 网络服务名(Net Service Name)
4.1.8 命名方法
4.1.9 配置Oracle网络的工具
4.2 Oracle网络管理
4.2.1 Oracle网络服务器端配置
4.2.2 Oracle网络客户端配置
4.3 Oracle网络管理疑难解析
4.3.1 Oracle网络服务器端配置疑难解析
4.3.2 Oracle网络客户端配置疑难解析
4.3.3 Oracle网络与防火墙(Firewall)
第3篇 系 统 管 理
第5章 系统管家婆——sql*Plus的使用
5.1 系统管理工具SQL*Plus
5.2 SQL缓冲区(SQL Buffer)
5.3 SQL*Plus的环境配置
5.3.1 SQL*Plus的环境变量
5.3.2 SQL*Plus站点配置文件(Site Profile)
5.3.3 SQL*Plus用户配置文件(User Profile)
5.4 SQL*Plus的启动
5.5 SQL*Plus专有命令介绍
5.5.1 登录,注销命令
5.5.2 编辑命令
5.5.3 其他有用的SQL*Plus命令
5.6 SQL*Plus 与疑难解析
第6章 有始有终——数据库的启动与关闭
6.1 数据库启动
6.1.1 数据库启动原理
6.1.2 数据库启动
6.1.3 数据库启动疑难解析
6.2 数据库关闭
6.2.1 数据库关闭原理
6.2.2 数据库的关闭(SHUTDOWN)
6.2.3 数据库关闭疑难解析
第7章 理清两个模式问题——专有/共享服务器模式
7.1 理解专有服务器模式(Dedicated Server Mode)
7.2 共享服务器模式(Shared Server Mode)原理
7.2.1 共享服务器模式(Shared Server Mode)的架构
7.2.2 监听器和调度进程的关系
7.2.3 请求队列(Request Queue)/响应队列(Response Queue)
7.2.4 调度进程(Dispatcher Processes,Dnnn)
7.2.5 共享服务器进程(Shared Server Processes,Snnn)
7.3 共享服务器模式(Shared Server Mode)
7.4 共享服务器模式(Shared Server Mode)疑难解析
第8章 掌握两个管理问题——表空间和数据文件的管理
8.1 数据库存储结构
8.1.1 物理结构
8.1.2 逻辑结构
8.2 深刻理解表空间
8.2.1 大文件表空间
8.2.2 系统表空间
8.2.3 辅助表空间
8.2.4 回滚表空间(Undo Tablespace)
8.2.5 临时表空间
8.2.6 表空间中区的管理方式
8.2.7 表空间中段的管理方式
8.2.8 非标准块表空间
8.2.9 表空间的离线(Offline)与在线(Online)
8.2.10 只读表空间(Read-Only Tablespace)
8.3 深刻理解数据文件
8.3.1 数据文件的内容
8.3.2 数据文件的尺寸(Size)
8.3.3 离线数据文件
8.3.4 临时数据文件(Temporary Datafiles)
8.4 表空间管理 与疑难解析
8.4.1 永久表空间管理
8.4.2 临时表空间管理 与疑难解析
8.4.3 回滚表空间管理 与疑难解析
8.5 数据文件管理 与疑难解析
8.5.1 数据文件管理
8.5.2 数据文件管理疑难解析
第9章 进程管理
9.1 Oracle进程简介
9.2 用户进程
9.3 Oracle进程
9.3.1 服务器进程
9.3.2 后台进程
9.4 进程综合管理 与疑难解析
9.5 会话管理 与疑难解析
第10章 内存管理
10.1 Oracle内存结构简介
10.2 系统全局区
10.3 SGA自动管理
10.4 SGA组成介绍
10.4.1 数据库高速缓冲区
10.4.2 日志缓冲区
10.4.3 共享池
10.4.4 大池
10.4.5 java池
10.4.6 流池
10.5 程序全局区
10.6 内存管理 与疑难解析
第11章 用户管理
11.1 用户验证
11.1.1 口令认证
11.1.2 外部认证
11.1.3 全局认证
11.2 Oracle的安全大门——权限(Privileges)
11.2.1 系统权限
11.2.2 对象权限
11.3 使权限管理变得更加容易——角色(Role)
11.4 限制用户的资源消耗——资源限制文件(Profile)
11.4.1 资源限制的级别
11.4.2 限制资源的参数
11.5 用户与权限管理 与疑难解析
11.5.1 用户管理 与疑难解析
11.5.2 权限管理 与疑难解析
11.5.3 角色管理 与疑难解析
11.5.4 资源限制文件管理 与疑难解析
第4篇 移动你的数据库
第12章 数据导出
12.1 数据导出方法介绍
12.1.1 Oracle最新导出工具——Data Pump Export
12.1.2 Oracle原来的导出工具——Export
12.2 数据导出
12.3 数据导出疑难解析
第13章 数据导入
13.1 数据导入方法介绍
13.1.1 Oracle最新导入工具——Data Pump Import
13.1.2 Oracle以前的导入方法——Import
13.2 数据导入
13.3 数据导入疑难解析
第5篇 Oracle文件管理
第14章 重中之重——控制文件的管理
14.1 控制文件的概念
14.2 控制文件管理 与疑难解析
第15章 成为数据库的最高统治者——口令文件(Password File)管理
15.1 超级用户权限(SYSDBA、SYSOPER)介绍
15.2 口令文件的基本概念
15.3 启用口令文件认证
15.4 口令文件管理 与疑难解析
第16章 联机日志文件管理
16.1 联机日志文件的概念
16.1.1 联机日志文件的内容
16.1.2 联机日志文件的循环利用
16.2 联机日志文件管理 与疑难解析
第17章 参数文件(PFILE/SPFILE)管理
17.1 参数文件的基本概念
17.2 初始化参数文件
17.3 服务器参数文件
17.4 初始化参数的修改
17.5 参数管理 与疑难解析
第6篇 Oracle高级专题
第18章 全球应用——分布式数据库疑难攻略
18.1 分布式数据库系统的概念
18.1.1 同构分布式数据库系统
18.1.2 异构分布式数据库系统
18.1.3 数据库链接(Database Link)
18.2 分布式数据库管理 与疑难解析
第19章 并不陌生的问题——裸设备
19.1 裸设备的概念
19.2 裸设备管理 与疑难解析
第7篇 数据库备份/恢复
第20章 备份/恢复之基石——归档(Archivelog)管理
20.1 归档的基本概念
20.1.1 非归档模式
20.1.2 归档模式
20.1.3 归档路径
20.2 归档管理 与疑难解析
第21章 必行之举——数据库备份
21.1 理解数据库备份
21.1.1 数据库失败的种类
21.1.2 备份和恢复的解决方案
21.1.3 备份和恢复的物理结构
21.1.4 备份的类型
21.1.5 执行用户管理的备份
21.2 恢复管理器(RMAN)
21.2.1 通道
21.2.2 备份集的维护
21.2.3 RMAN资料库
21.2.4 RMAN的使用
21.3 数据库备份 与疑难解析
21.4 恢复目录管理 与疑难解析
第22章 失而复得——数据库恢复
22.1 数据库恢复
22.1.1 实例恢复
22.1.2 介质恢复
22.1.3 用户错误(User Error)的恢复
22.2 数据库闪回(Flashback Database)
22.3 用户管理的恢复(User-managed Recovery)
22.4 联机日志文件丢失的恢复
22.5 控制文件损坏的恢复
22.6 数据文件损坏的恢复
22.7 表的恢复(用户错误的恢复)
第8篇 Oracle程序设计
第23章 数据库通用语言——SQL语句
23.1 结构化查询语言简介
23.2 SELECT语句
23.2.1 理解SELECT 语句
23.2.2 SELECT语句使用 与疑难解析
23.3 INSERT语句
23.3.1 理解INSERT语句
23.3.2 INSERT语句使用 与疑难解析
23.4 UPDATE语句
23.4.1 理解UPDATE语句
23.4.2 UPDATE语句使用 与疑难解析
23.5 DELETE语句
23.5.1 理解DELETE语句
23.5.2 DELETE语句的使用
23.6 SQL语句中,集合函数使用 与疑难解析
第24章 模式对象(Schema Object)的管理
24.1 模式(Schema)的概念
24.2 模式对象管理
24.2.1 表(Table)
24.2.2 索引(Index)
24.2.3 外部表(External Table)
24.2.4 临时表(Temporary Table)
24.2.5 分区表(Partition Table)
24.2.6 聚簇(Cluster)
24.2.7 索引组织表(Index-Organized Table,IOT)
24.2.8 视图
24.2.9 同义词
24.2.10 序列
第25章 PL/SQL应用程序开发
25.1 PL/SQL简述
25.1.1 PL/SQL块结构
25.1.2 数据类型
25.1.3 运算符
25.1.4 PL/SQL语句控制结构
25.2 存储过程(Stored Procere)
25.2.1 存储过程的基本原理
25.2.2 存储过程管理 与疑难解析
25.3 函数(Function)
25.3.1 函数的基本原理
25.3.2 函数的管理 与疑难解析
25.4 包
25.4.1 包的基本原理
25.4.2 包管理 与疑难解析
25.5 触发器
25.5.1 触发器的基本原理
25.5.2 触发器管理 与疑难解析
25.6 游标
25.6.1 游标的基本原理
25.6.2 游标管理 与疑难解析
速查目录
第2章 迈出第1步——Oracle的安装/卸载
第3章 有米之炊——数据库的创建与删除
第4章 Oracle网络管理并不难
第5章 系统管家婆——SQL*Plus的使用 实务
第6章 有始有终——数据库的启动与关闭
第7章 理清两个模式问题——专有/共享服务器模式
第8章 掌握两个管理问题——表空间和数据文件的管理
第9章 进程管理 实务
第10章 内存管理 实务
第11章 用户管理 实务
第12章 数据导出 实务
第13章 数据导入 实务
第14章 重中之重——控制文件的管理
第15章 成为数据库的最高统治者——口令文件(Password File)管理
第16章 联机日志文件管理 实务
第17章 参数文件(PFILE/SPFILE)管理
第18章 全球应用——分布式数据库疑难攻略 实务
第19章 并不陌生的问题——裸设备 实务
第20章 备份/恢复之基石——归档(Archivelog)管理 实务
第21章 必行之举——数据库备份
第22章 失而复得——数据库恢复
第23章 数据库通用语言——SQL语句
第24章 模式对象(Schema Object)的管理
第25章 PL/SQL应用程序开发 实务
Ⅲ Oracle数据库精讲与疑难解析的作者简介
赵振平,生于20世纪末中国西南的一个边陲小镇。21世纪初,那是一个IT业动荡的日子,多少网站林立,又有多少网站倒闭;多少英雄冲锋,又有多少豪杰流泪。华尔街金融巨子们疯狂涌入IT业,克林顿总统先生的”信息高速公路”政策,为我们描绘了IT业的宏伟蓝图,不知天有多高、地有多厚的我们.被卷入了全球IT业的激流中。但是,在激流中有过倒下,在激流中有过彷徨……在彷徨中思考未来。于是公元2001年,我正式主攻数据库和数据仓库。开始的岁月,Sybase、Oracle与SQL Server三座大山压得我无法喘息,从不低头的我们仍然要继续前行的路。N年以后,我们越过了Sybase、Oracle、SQL Server、MySQL、DB2这几座大山。但是,中国至今仍然没有自主知识产权的数据库,路还很远…很长…还需要更多的人与我们一起努力!!
Ⅳ win7安装Oracle数据库11g第二版出现的问题 求解决
上图的失败都可以忽略,没有什么影响。原因时Oracle安装时要检测本机的C$共享,如果一定要检测成功才安装,可以按照下面步骤操作,以下步骤需要管理员权限执行:
1、把C盘共享为c$
可以在命令行敲 net share c$=C:\
2、测试一下c$是否共享成功
方法是在命令行敲 net use \\localhost\c$
失败会是这样子...: 系统错误53 The network path was not found.
成功是这样子: 命令成功完成。
3、如果第2步失败, 检查"服务"里的"Server"和"TCP/IP NetBIOS Helper"服务是否已开启, 没有的话启动它并共享
解决系统错误53的经过:
第一步:检查AutoShareServer和AutoShareWks注册表值,以确保未将它们设置为0。依次点击“开始→运行”,输入regedit,然后按回车键进入注册表编辑器。
第二步:找到并单击HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters。
第三步:如果LanmanServerParameters子项中的AutoShareServer 和AutoShareWks DWORD值配置的数值为0,则将该值更改为1,重启操作系统。
Ⅳ 安装好oracle数据库11g第二版之后,“仅安装软件”没有在安装的时候创建数据库,安装好之后如何创建。。
点击 电脑左下角 开始>所有程序>oracle-Db11g_home >配置和移植工具>Database configuration Assistant ,然后就可以创建数据库了。 如果答的可以望采纳。谢谢。
Ⅵ Oracle数据库基本知识
Oracle数据库基本知识
Oracle Database,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。本文为大家分享的是Oracle数据库的基本知识,希望对大家有所帮助!
它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
介绍
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为OracleDatabase 12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
就业前景
从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展中的最佳选择。
其一、就业面广:ORACLE帮助拓展技术人员择业的广度,全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位,大学生在校期间兴趣广泛,每个人兴趣特长各异,不论你想进入金融行业还是电信行业或者政府机构,ORACLE都能够在你的职业发展中给你最强有力的支撑,成为你最贴身的金饭碗。
其二、技术层次深:如果期望进入IT服务或者产品公司,Oracle技术能够帮助提高就业的深度。Oracle技术已经成为全球每个IT公司必选的软件技术之一,熟练掌握Oracle技术能够为从业人员带来技术应用上的优势,同时为IT技术的深入应用起到非常关键的作用。掌握 Oracle技术,是IT从业人员了解全面信息化整体解决方案的基础。
其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。
Oracle数据库漏洞分析:无需用户名和密码进入你的数据库
一般性的数据库漏洞,都是在成功连接或登录数据库后实现入侵;本文介绍两个在2012年暴露的Oracle漏洞,通过这两种漏洞的结合,可以在不掌握用户名/密码的情况下入侵Oracle,从而完成对数据的窃取或者破坏。这两个漏洞就是CVE-2012-1675和CVE-2012-3137。
引言
国内外很多重要的系统都采用Oracle作为数据存储的数据库;在Oracle中存储着企业或政府大量敏感的信息,在金钱或政治的诱导下,内外部黑客会想法利用管理、网络、主机或数据库的自身漏洞尝试入侵到数据库中,以达到自身的目的。
本文的作者通过对Oracle俩种漏洞的组合研究,设计了一套在不掌握用户名/密码的方式入侵到Oracle中;这种方法,比传统的需要登录到数据库中的入侵方法,具有更大的安全隐患和破坏性。
本文希望通过对这两个漏洞和攻击方法的介绍,能够引起相关人员的重视,完善对数据库安全的措施。
1、概要介绍
本文提供的方法是基于漏洞CVE-2012-1675和CVE-2012-3137对oracle数据库的攻击测试的方法。
CVE-2012-1675漏洞是Oracle允许攻击者在不提供用户名/密码的'情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞。攻击者可利用此漏洞将数据库服务器的合法“TNS Listener”组件中的数据转向到攻击者控制的系统,导致控制远程组件的数据库实例,造成组件和合法数据库之间的中间人攻击、会话劫持或拒绝服务攻击。
CVE-2012-3137漏洞是Oracle Database 10g/11g身份验证协议实现中存在一个设计缺陷,攻击者无需认证即可远程获取数据库用户密码哈希相关数据,从而可以离线暴力破解用户密码,进一步控制数据库系统。
我们通过如下的步骤和过程可以实现对Oracle的入侵:
(1)利用CVE-2012-1675进行TNS劫持,在监听下利用远程注册,注册同名数据库实例;
(2)新登陆的用户,在TNS的负载均衡策略下,有可能流量登录到伪造的监听服务上;
(3)该监听服务对用户的登陆过程进行监控,并将相关数据流量转发到真实的数据库上;
(4)利用CVE-2012-3137获得通讯过程中的认证相关信息;
(5)对认证相关信息进行离线的暴力破解,获得登陆的密码;
(6)试用破解的用户名/密码登陆Oracle,完成对Oracle中数据的访问;
2、通过CVE-2012-1675进行TNS劫持
该漏洞存在于Oracle的所有版本,并且Oracle至今仅是发布了警告性通知,并未提供解决方案。
要想利用CVE-2012-1675漏洞做TNS劫持,首先需要了解TNS机制。如下图所示oracle 通过在本地解析网络服务名到目标主机IP地址,服务端口号,目标数据库名,把这些信息发送到oracle服务器端监听程序,最后再由监听程序递送DBMS。
其中关键点在于监听会按照目标数据库名递送到名称正确的数据库。那么如果一个监听下有2个同名数据库。监听将自动按照负载均衡把这次访问发送到负载低的数据库上,进行连接访问。数据库注册到监听的方法就决定了,能否同时注册同名数据库在同一个监听下。注册方式分为本地注册和远程注册,通过修改参数可以调整为远程注册。
下面是一段可用的TNS劫持的过程:
1.在劫持机上创建一个和目标数据库实例同名的数据库实例。
2.在劫持机上修改 tnsnames.ora 文件
添加
listener_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=目标机器IP)(PORT=目标机器端口)))
3.在劫持机上用SQL*Plus 顺序执行下面步骤。
1.$ sqlplus / as sysdba
2. SQL> ALTER SYSTEM SETREMOTE_LISTENER='LISTENER_NAME';
3. SQL> ALTER SYSTEM REGISTER;
4.多个客户端,向数据库发起登录。会劫持到一部分客户端的登录信息。
最终达到效果如下图所示:
按照猜想同一个监听下有2个同名实例。客户端访问监听,监听按照客户端中的数据库名信息分配数据库,由于监听下有2个同名数据库,客户端链接很可能会被分配到劫持者的数据库实例下,再通过配置劫持者的本地监听把客户端请求指回原数据库。结构图如下:
测试客户端链接196次。目标数据库实例获得113次,劫持数据库实例获得83次基本满足负载均衡的假设。(注上面实例是local server 下面实例是 remote server)
通过以上方式我们可以截获约一半左右客户端发送到服务器的合法链接。其中获得了服务器IP、端口号、数据库位置、实例名、登录用户名等一系列明文信息和4组密文信息(AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA)。
3、通过CVE-2012-3137进行密码破解
CVE-2012-3137受影响的数据库版本有11.2.0.3,11.2.0.2,11.1.0.7,有使用了SHA-1加密算法的10.2.0.5和10.2.0.4,还有使用了SHA-1的10.2.0.3(运行在z/OS下)版本。
虽然这个漏洞在11.2.0.3中已经解决,但是仅仅数据库客户端和服务器都升级到11.2.0.3并且sqlnet.ora文件中增加SQLNET.ALLOWED_LOGON_VERSION=12才有效。
正如CVE-2012-3137所描述Oracle为了防止第三方通过网络获取登录信息包。而对密码进行了加密处理。本部分只以oracle11.1密码如何破解为例进行说明。
在发起连接之后(oracle牵手完成),客户端和服务器经过协商确定要使用的验证协议。要完成这个任务,客户端首先向数据库发送一个包。包中包含客户端主要信息和所请求的加密方式。数据库确认加密方式有效后,发送一个确认服务包如下图所示:
在通过安全网络服务完成任何所要求的协议之后,数据库用户被O3logon(oracle验证方式) 进行验证,这个协议执行一个序列来向数据库证明客户端拥有密码。为了避免网络第三方截获到密码。首先客户端发送用户名到数据库来表明用户身份。数据库端根据加密协议,其中96位的作为数据库端密钥,20位的作为偏移量,它对每个连接都是不同的。一个典型的数据库端发给客户端的密钥如下:
AUTH_SESSKEY.....COCDD89FIGODKWASDF……………………
客户端根据加密算法向服务器端发送96位的客户端密钥和64位的密码密钥。服务器端计算客户端传入的密码密钥。如果计算后密码密文和数据库中存储的16位密码密文一致则验证通过。
根据这个过程可知上面TNS劫持包中取得的加密信息:AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA这四个值是解密的关键。我们把他们按照SHA1,MD5,AES192进行一系列处理。最终通过数据字典碰撞得到密码明文。
下面这段网上公布的一段示例代码,这段代码与笔者的思路不完全相同,但也能大概地说明这个漏洞的攻击过程:
import hashlib
from Crypto.Cipher import AES
def decrypt(session,salt,password):
pass_hash= hashlib.sha1(password+salt)
key =pass_hash.digest() + 'x00x00x00x00'
decryptor= AES.new(key,AES.MODE_CBC)
plain =decryptor.decrypt(session)
returnplain
session_hex ='6EAAB5422553A7598143E78767'
salt_hex = 'A7193E546377EC56639E'
passwords = ['test','password',''oracle','demo']
for password in passwords:
session_id= decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)
print'Decrypted session_id for password "%s" is %s' %(password,session_id.encode('hex'))
ifsession_id[40:] == 'x08x08x08x08x08x08x08x08':
print'PASSWORD IS "%s"' % password
break
4、建议的预防措施
根据以上两段分析,我们可以有如下的预防措施:
(1)在条件许可的情况下,对Oracle进行补丁升级,对Oracle打cpuoct2012-1515893补丁;注意对于cpuoct2012-1515893补丁要求服务器端和应用服务器端同时升级,否则应用系统将无法访问Oracle;
(2)若无法对Oracle升级,要购买或安装具备虚拟补丁功能的数据库安全产品,防止对CVE-2012-3137和CVE-2012-1675的利用;
(3)建立足够强健的口令,不要使用8位以下密码,或者字典库中的口令。
;Ⅶ oracle数据库如何解析XML数据获取值
实现思路:可以通过w3c的dom解析器进行操作,之后通过getName获取到xmltpye中的属性值。
举例:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class DomTest1
{
public static void main(String[] args) throws Exception
{
// step 1: 获得dom解析器工厂(工作的作用是用于创建具体的解析器)
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// System.out.println("class name: " + dbf.getClass().getName());
// step 2:获得具体的dom解析器
DocumentBuilder db = dbf.newDocumentBuilder();
// System.out.println("class name: " + db.getClass().getName());
// step3: 解析一个xml文档,获得Document对象(根结点)
Document document = db.parse(new File("candidate.xml"));
NodeList list = document.getElementsByTagName("PERSON");
for(int i = 0; i < list.getLength(); i++)
{
Element element = (Element)list.item(i);
String content = element.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
System.out.println("name:" + content);
System.out.println("--------------------------------------");
}
}
}
Ⅷ 有没有《ORACLE数据库精讲与疑难解析》的电子版
这种资源还是在网络搜一下,如果曾经有人在网上发布,或有网站下载,一般都会被搜索引擎收录;如果搜不到,你可以找一下相关的论坛,最好是那种人气比较高的论坛,注册会员,发帖求助,会有高手帮你的。
Ⅸ Oracle数据库精讲与疑难解析的编辑推荐
为你解决Oracle的疑难问题:安装Oracle时,不能启动安装界面……、安装Oracle时,安装界面显示乱码……、数据库不能启动……、不能归档数据库、数据库被挂起。
本书内容:1认识Oracle的世界——Oracle的体系结构,2迈出第1步——OracIe的安装/卸载含35个实务,3有米之炊数据库的创建与删除含14个实务,4 Oracle网络管理并不难含31个实务,5系统管家婆——SQL*PIus的使用合28个实务,6有始有终一数据库的启动关闭含43个实务,7理清两个模式问题——专有/共享服务器模式含16个实务,8掌握两个管理问题——表空间和数据文件的管理含76个实务,9进程管理含14个实务,10内存管理含25个实务,11用户管理含38个实务,12数据导出含39个实务,13数据导入含26个实务,,,14重中之重——控制文件的管理合个实务,15成为数据库的最高统治者——口令文件(Password File)管理含14个实务,16联机日志文件管理含19个实务,17参数文件(PFILE/SPFILE)管理含9个实务,18全球应用——分布式数据库疑难攻略含12个实务,19并不陌生的问题——裸设备含6个实务,20备份恢复之基石——归档(Archivelog)管理含25个实务,21必行之举一数据库备份含38个实务,22失而复得——数据库恢复含32个实务,23数据库通用语言——SQL语句含26个实务,24模式对象(Schema Object)的管理含110 个实务,25 PL/SQL应用程序开发含70个实务。
毫无保留:
·耗时3年,作者曾为本书辞职在家专心写作
·754个实务,件件源自实际工作的经验与教训,配有实务速查目录
·分享经验,现在作者管理数据库时,就通过复制本书内容来搞定问题
·为初学者去除Oracle的神秘面纱,少走弯路
·为专业人士提供速查手册,遇到故障不求人
Ⅹ 有没有《ORACLE数据库精讲与疑难解析》的电子版
V3.0是一套大型机械设计专业技术工具软件,主要由机械设计数据资源、机械设计计算和查询程序、机械工程常用公式计算、机械标准件2D和3D图库、机械工程常用英汉词汇等分系统组成。(1)机械设计数据资源包括:常用基础资料,零部件设计基础标准,常用工程材料(金属、非金属),零件结构设计工艺性,连接与紧固,弹簧,起重运输零部件、操作件和小五金,机架、箱体及导轨,润滑与密封装置,管道与管道附件,摩擦轮及螺旋传动,带传动和链传动,减速器和变速器,齿轮传动,轴承,轴,联轴器、离合器和制动器,常用电动机,常用低压电器,液压传动,气压传动与控制等数据资源模块。(2)机械设计计算和查询程序包括:公差与配合查询,形状与位置公差查询,螺栓连接设计校核,键连接设计校核,弹簧设计,摩擦轮传动设计,螺旋传动设计,带传动设计,链传动设计,渐开线圆柱齿轮传动设计,普通圆柱蜗杆传动设计计算,平面凸轮机构设计与分析,平面连杆机构设计,滚动轴承设计与查询,轴设计计算等软件模块。(3)机械工程常用公式计算是一个能便捷地进行机械设计中的常用公式计算的工具软件,亦可以自定义公式进行计算,包括:常用几何体的几何及物性计算,各种截面的力学性能、杆件计算,不同形状截面中性轴的曲率半径,受静载荷梁的内力及变位计算公式,接触应力计算公式,冲击载荷计算公式,厚壁旋转圆盘计算公式,等厚旋转圆盘计算公式,薄壳中应力与位移计算公式,平面弯曲计算,圆盘平板计算等数百项数学、力学计算公式。