oracle服务器端的 程序是(客户端程序和服务器端程序)

      最后更新:2024-04-04 11:40:56 手机定位技术交流文章

      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 sysdba2. 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 hashlibfrom Crypto.Cipher import AESdef 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)returnplainsession_hex ='EA2043CB8B46E3864311C68BDC161F8CA170363C1E6F57F3EBC6435F541A8239B6DBA16EAAB5422553A7598143E78767'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"' % passwordbreak4、建议的预防措施根据以上两段分析,我们可以有如下的预防措施:(1)在条件许可的情况下,对Oracle进行补丁升级,对Oracle打cpuoct2012-1515893补丁;注意对于cpuoct2012-1515893补丁要求服务器端和应用服务器端同时升级,否则应用系统将无法访问Oracle;(2)若无法对Oracle升级,要购买或安装具备虚拟补丁功能的数据库安全产品,防止对CVE-2012-3137和CVE-2012-1675的利用;(3)建立足够强健的口令,不要使用8位以下密码,或者字典库中的口令。 ;
      Oracle数据库基本知识

      oracle数据库题,求答案

      答案如下,正确为T,错误为F 1、 oracle数据库系统中, 启动数据库的第一步是启动一个数据库实例。 ( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客 户机的连接请求。( F) 3、 oracle数据库中实例和数据库是一一对应的 (非ORACLE并行服务, 非集群) 。 ( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享 的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。 ( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的 条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F)11、 表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间 组成。 一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表 空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、 如果需要向表中插入一批已经存在的数据, 可以在INSERT语句中使用WHERE 语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T )17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作 时候保证操作能正常进行。( F )18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表 的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中, 那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接 将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、 隐式游标与显式游标的不同在于显式游标仅仅访问一行, 隐式的可以访问多行。( F )25、隐式游标由PL/SQL维护,当执行查询时自动打开和关闭。( T ) 26、显式游标在程序中显式定义、打开、关闭,游标有一个名字。( T )27、隐式游标的游标属性前缀是SQL。( T ) 28、显式游标的游标属性的前缀是游标名。( T ) 29、隐式游标的属性%ISOPEN总是为FALSE。(T ) 30、显式游标的%ISOPEN根据游标的状态确定值(F )31、隐式游标的SELECT语句带有INTO子串,只有一行数据被处理。( T ) 32、 显式游标可以处理多行数据, 在程序中设置循环, 取出每一行数据。 ( T)34、可以在PL/SQL中使用GOTO语句使运行流程进行跳转。( F )35、因为存储过程不返回值,使用时只能单独调用;而函数却能出现在能放置表 达式的任何位置。( Y )查看页面:http://wenku.baidu.com/view/d64574cd8bd63186bcebbc8c.html
      select * from t_Account t1 where t1.userName like '%zoomkey%'and rownum〈=10 order by t1.id desc
      select * from t_Account where userName like '%zoomkey%' order by id desc limit 10
      oracle数据库题,求答案

      oracle数据库的题目,求答案。。。。

      答案如下,正确为T,错误为F 1、 oracle数据库系统中, 启动数据库的第一步是启动一个数据库实例。 ( T ) 2、Oracle服务器端的监听程序是驻留在服务器上的单独进程,专门负责响应客 户机的连接请求。( F) 3、 oracle数据库中实例和数据库是一一对应的 (非ORACLE并行服务, 非集群) 。 ( T) 4、系统全局区SGA 是针对某一服务器进程而保留的内存区域,它是不可以共享 的。( F ) 5、数据库字典视图ALL_***视图只包含当前用户拥有的数据库对象信息。 ( F ) 8、数据字典中的内容都被保存在SYSTEM表空间中。( T ) 9、HAVING后面的条件中可以有聚集函数,比如SUM(),AVG()等, WHERE 后面的 条件中也可以有聚集函数。( F ) 10、"上海西北京" 可以通过like ‘%上海_’查出来。( F)11、 表空间是oracle 最大的逻辑组成部分。Oracle数据库由一个或多个表空间 组成。 一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表 空间。( T ) 12、表空间分为永久表空间和临时表空间两种类型。( T ) 13、truncate是DDL操作,不能 rollback。( T ) 14、 如果需要向表中插入一批已经存在的数据, 可以在INSERT语句中使用WHERE 语句。( F ) 15、Oracle数据库中字符串和日期必须使用双引号标识。( F ) 16、Oracle数据库中字符串数据是区分大小写的。( T )17、Oracle数据库中可以对约束进行禁用,禁用约束可以在执行一些特殊操作 时候保证操作能正常进行。( F )18、为了节省存储空间,定义表时应该将可能包含NULL值的字段放在字段列表 的末尾。( T ) 20、在连接操作中,如果左表和右表中不满足连接条件的数据都出现在结果中, 那么这种连接是全外连接。( T ) 21、自然连接是根据两个表中同名的列而进行连接的,当列不同名时,自然连接 将失去意义。( T ) 23、PL/SQL代码块声明区可有可无。( T ) 24、 隐式游标与显式游标的不同在于显式游标仅仅访问一行, 隐式的可以访问多行。( F )25、隐式游标由PL/SQL维护,当执行查询时自动打开和关闭。( T ) 26、显式游标在程序中显式定义、打开、关闭,游标有一个名字。( T )27、隐式游标的游标属性前缀是SQL。( T ) 28、显式游标的游标属性的前缀是游标名。( T ) 29、隐式游标的属性%ISOPEN总是为FALSE。(T ) 30、显式游标的%ISOPEN根据游标的状态确定值(F )31、隐式游标的SELECT语句带有INTO子串,只有一行数据被处理。( T ) 32、 显式游标可以处理多行数据, 在程序中设置循环, 取出每一行数据。 ( T)34、可以在PL/SQL中使用GOTO语句使运行流程进行跳转。( F )35、因为存储过程不返回值,使用时只能单独调用;而函数却能出现在能放置表 达式的任何位置。( Y )查看页面:http://wenku.baidu.com/view/d64574cd8bd63186bcebbc8c.html
      oracle数据库的题目,求答案。。。。

      怎样安装oracle数据库服务器

      1 找台服务器,安装oracle服务器端,这个是关键。2安装成功后,建立监听,使用本机名或者本机ip都可以。3可以使用安装时的orcl数据库的名称,或者新建一个数据库名称。4 安装oracle客户端,配置好后,进行测试。
      首先,您需要获取Oracle的安装程序,可以从网上找一个对应的版本下载好放到硬盘内。 确认你的操作系统版本是Windows或者Linux。 如果只是Windows那么安装可能会比较简单了,直接运行setup.exe文件就可以进入安装向导了,出了自身的参数设置外没有什么难的!而Linux版本的则需要先创建独立的用户以及相应的目录并赋予相关权限,要设置好Oracle用户的环境变量以及内核参数等
      你在安装oracle的时候9i以上的就自带的用客户端服务器。我这有oracle9的客户端非常好用不带安装库的哦。有意,请联系。+秋秋
      怎样安装oracle数据库服务器

      oracle客户端和服务器端

      搂主为什么要在同一台机器上安了服务端又安客户端呢? oracle的服务端自带客户端的全部内容如果全部默认安装的话应该已经建立了了一个示例数据库,实例名称应该叫做orcl。如果想确认服务是否已经开始运行可以netstat -an 一下找找1521端口开始监听了没有,也可以进入监听器 lnsrctl 打个status看一下监听器的状态,如果orcl处于监听状态就可以使用了。登录的时候你可以使用企业管理器,也可以用net manager先配置好服务,之后用sqlplus登录就可以了,不过建议使用plsqldeveloper,毕竟图形化界面要好看得多。这里就写这么多,如果搂主想要更详细的步骤,真的建议去买一本oracle的DBA用书去系统的学习一下,在这里只几个字根本说不清楚。 ps:这年头还学什么oracle啊?虽然老系统基本用oracle,但是oracle的服务费一年比一年高,连移动都承受不住要改sybase了。。。。。。
      Oracle 的 Windows 安装并不难,只要确保满足最小需求就可以了,内存一定要 1G 以上,分给 SGA 至少要 300M,不然 DBCA 创建数据库时就会出错。 接下来:1. sys, system 是两个预设的管理账号,会要求你改密码,务必记住这个密码;2. Global DB Name 和 sysid 设置完后一定要记一下;3. 装完后,Oracle 的两个 Service 会自动启动,可以去 service 里看,一个是 database instance,另一个是 listener; 4. 启动了进程,就可以连接数据库了,可以用 oem 进入,记得第一次使用 sys 账号,用 SYSDBA 的身份连接数据库。
      一般通过sqlplus连接到服务器端进行交互,或者是应用程序通过ODBC访问数据库。 SQLPlus连接方法1)建立帐户到命令行下,输入sqlplus /nologconn / as sysdba;create user admin identified by admin;2)授权grant create session to admin;grant dba to user admin;3)连接从开始菜单启动 sqlplus用户名 admin 密码 admin 登陆,就可以看到 sql> 提示符了, 接下来就可以执行SQL了.
      你应该是用的10G或者之后的版本。9I是不分客户端和服务端单独安装的。 你先安装数据,然后用数据库配置助手,创建数据库。创建好数据库之配置网络服务名。你问的东西太基础了,没法一一给你详细描述,你找本入门书籍看看,或者去一些ORACLE的论坛,一般都有新手教学贴。http://www.cnoug.org/index.php
      不需要的,看自己喜好了! 如果有服务器的话,只要安装一个客户端就可以了;让客户端与服务器连接,就可以访问(现在的oralce10g是web方式访问,也可以不安客户端),连接方式很多种的! 如果是个团队开发,随便找个不用的机器,安装服务器,成员连接服务器就可以了!
      oracle客户端和服务器端

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/316689.html

          热门文章

          文章分类