- snjk
-
Oracle是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用SQL作为它的数据库语言。
1、Oracle主要包括数据定义、数据操纵和数据控制等三方面功能。
2、Oracle数据库由三种类型的文件组成:数据库文件、日志文件和控制文件。
3、Oracle本身也要利用数据库字典来管理和控制整个数据库。
4、Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的关系数据系统之一。
Oracle数据库体系架构概要
Oracle数据库系统是一个复杂的软件系统。所谓Oracle的体系架构,是指Oracle数据库管理系统的的组成部分和这些组成部分之间的相互关系,包括内存结构、后台进程、物理与逻辑结构等。下图为Oracle数据库体系总体图:Oracle数据库的体系很复杂,复杂的原因在于它最大限度的节约内存,从上图可以看出,它在整体上分实例和数据库文件两部分。一、实例(Instance):指数据库服务器的内存及相关处理程序,它是Oracle的心脏。与Oracle性能关系最大的是SGA(System Global Area,即系统全局区活共享内存区),SGA包含三个部分:1、数据缓冲区,可避免重复读取常用的数据;2、日志缓冲区,提升了数据增删改的速度,减少磁盘的读写而加快速度;3、共享池,使相同的SQL语句不再编译,提升了SQL的执行速度。二、数据库文件,由操作系统内的各种文件组组成。1、Oracle数据库逻辑结构:1)。表空间,数据库的基本逻辑结构,是一系列数据文件的集合;2)。段,不同类型数据在数据库中占用的空间,有许多区组合而成;3)。区,目的是为数据一次性预留一个较大的空间;4)。块,最小的存储单位,在创建数据库时指定。2、Oracle数据库物理结构:1)。数据文件(Data File),存储数据的文件;2)。重做日志文件(Redo Log File),负责记录数据库内任何数据的处理情况,可用于数据的恢复;3)。控制文件(Control File),控制和记录数据库的实体结构;4)。初始化参数文件(Initialization Parameter File),配置内存空间的依据;5)。口令文件(Password File),认证用户启动和关闭Oracle例程的权限。2023-07-12 17:27:561
数据库oracle简介
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。特点1、完整的数据管理功能:[2] 1)数据的大量性2)数据的保存的持久性3)数据的共享性4)数据的可靠性2、完备关系的产品:1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;2)保证访问的准则3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化4)数据物理性和逻辑性独立准则3、分布式处理功能:ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。4、用ORACLE能轻松的实现数据仓库的操作。这是一个技术发展的趋势,不在这里讨论。优点■ 可用性强■ 可扩展性强■ 数据安全性强■ 稳定性强2023-07-12 17:28:051
ORACLE实例和ORACLE数据库详解
导读:oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql, SQL server等数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle数据库而言,在处理大量数据方面有些不如。一、ORACLE实例1、ORACLE 实例——包括内存结构与后台进程System Global Area(SGA) 和 Background Process 称为数据库的实例。2、ORACLE 数据库——物理操作系统文件的集合一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)3、系统全局共享区System Global Area(SGA)System Global Area是一块巨大的共享内存区域,他被看做是Oracle数据库的一个大缓冲池,这里的数据可以被ORACLE的各个进程共用。其大小可以通过如下语句查看:SQL select * from v$sga;NAME VALUE-Fixed Size 39816Variable Size 259812784Database Buffers 1.049E+09Redo Buffers 327680更详细的信息可以参考V$sgastat、V$buffer_pool主要包括以下几个部分:a、 共享池(Shared pool)共享池是SGA中最关键的内存片段,特别是在性能和可伸缩性上。一个太小的共享池会扼杀性能,使系统停止,太大的共享池也会有同样的效果,将会消耗大量的CPU来管理这个共享池。不正确的使用共享池只会带来灾难。共享池主要又可以分为以下两个部分:SQL语句缓冲(Library Cache)当一个用户提交一个SQL语句,Oracle会将这句SQL进行分析(parse),这个过程类似于编译,会耗费相对较多的时间。在分析完这个SQL,Oracle会把他的分析结果给保存在Sharedpool的LibraryCache中,当数据库第二次执行该SQL时,Oracle自动跳过这个分析过程,从而减少了系统运行的时间。这也是为什么第一次运行的SQL比第二次运行的SQL要慢一点的原因。下面举例说明parse的时间SQL select count(*) fromscpass ;COUNT(*)--243Elapsed: 00:00:00.08这是在Share_pool 和Data buffer 都没有数据缓冲区的情况下所用的时间SQL alter system flush SHARED_POOL;System altered.清空Share_pool,保留Data bufferSQL select count(*) from scpass ;COUNT(*)--243Elapsed: 00:00:00.02SQL select count(*) from scpass ;COUNT(*)--243Elapsed: 00:00:00.00从两句SQL 的时间差上可以看出该SQL 的Parse 时间约为00:00:00.02对于保存在共享池中的SQL语句,可以从V$Sqltext、v$Sqlarea中查询到,对于编程者来说,要尽量提高语句的重用率,减少语句的分析时间。一个设计的差的应用程序可以毁掉整个数据库的Sharepool,提高SQL语句的重用率必须先养成良好的变成习惯,尽量使用Bind变量。数据字典缓冲区(Data Dictionary Cache)显而易见,数据字典缓冲区是ORACLE特地为数据字典准备的一块缓冲池,供ORACLE内部使用,没有什么可以说的。上文的内容相对来说还是很基础的,所以对于刚刚入门的初学者来说,学习初期,好好的研究一下本文中介绍的内容,相信对大家的入门学习会很有帮助的。2023-07-12 17:28:131
Oracle数据库的一些基本常识
Oracle数据库的一些基本常识一、Oracle所包含的组件:在Oracle,数据库是指整个 Oracle RDBMS 环境,它包括以下组件:1.Oracle 数据库进程和缓冲(实例)。2.SYSTEM 表空间包含一个集中系统类目,它可以由一个或多个数据文件构成。3.其它由数据库管理员 (DBA)(可选)定义的表空间,每个都由一个或多个数据文件构成。4.两个以上的联机恢复日志。5.归档恢复日志(可选)。6.其它文件(控制文件、Init.ora、Config.ora 等)。每个 Oracle 数据库都在一个中央系统类目和数据字典上运行,它位于SYSTEM 表空间。二、关于“日志”Oracle数据库使用几种结构来保护数据:数据库后备、日志、回滚段和控制文件。下面我们将大体上了解一下作为主要结构之一的“日志”:每一个Oracle数据库实例都提供日志,记录数据库中所作的全部修改。每一个运行的Oracle数据库实例相应地有一个在线日志,它与Oracle后台进程LGWR一起工作,立即记录该实例所作的全部修改。归档(离线)日志是可选择的,一个Oracle数据库实例一旦在线日志填满后,可形成在线日志归档文件。归档的在线日志文件被唯一标识并合并成归档日志。关于在线日志:一个Oracle数据库的每一实例有一个相关联的在线日志。一个在线日志由多个在线日志文件组成。在线日志文件(online redo log file)填入日志项(redo entry),日志项记录的数据用于重构对数据库所作的全部修改。关于归档日志:Oracle要将填满的在线日志文件组归档时,则要建立归档日志(archived redo log)。其对数据库备份和恢复有下列用处:1数据库后备以及在线和归档日志文件,在操作系统和磁盘故障中可保证全部提交的事物可被恢复。2在数据库打开和正常系统使用下,如果归档日志是永久保存,在线后备可以进行和使用。数据库可运行在两种不同方式下:NOARCHIVELOG方式或ARCHIVELOG 方式。数据库在NOARCHIVELOG方式下使用时,不能进行在线日志的归档。如果数据库在ARCHIVELOG方式下运行,可实施在线日志的归档。三、物理和逻辑存储结构:Oracle RDBMS是由表空间组成的,而表空间又是由数据文件组成的。表空间数据文件被格式化为内部的块单位。块的大小,是由DBA在Oracle第一次创建的时候设置的,可以在512到8192个字节的范围内变动。当一个对象在Oracle表空间中创建的时候,用户用叫做长度的单位(初始长度((initial extent)、下一个长度(next extent)、最小长度(min extents)、以及最大长度(max extents))来标明该对象的空间大小。一个Oracle长度的大小可以变化,但是要包含一个由至少五个连续的块构成的链。4.Oracle与Microsoft SQL Server比较下的联网协议:2023-07-12 17:28:201
Oracle调优(入门及提高篇)
在过去的十年中, Oracle 已经成为世界上最专业的数据库之一。对于 IT 专家来说,就是要确保利用 Oracle 的强大特性来提高他们公司的生产力。最有效的方法之一是通过 Oracle 调优。它有大量的调整参数和技术来改进你的 Oracle 数据库的性能。Oracle 调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善 Oracle 数据库的性能,有一些基本的概念是每个 Oracle DBA 都应该遵从的。在这篇简介中,我们将简要地介绍以下的 Oracle 主题:-- 外部调整:我们应该记住 Oracle 并不是单独运行的。因此我们将查看一下通过调整 Oracle 服务器以得到高的性能。--Row re-sequencing 以减少磁盘 I/O :我们应该懂得 Oracle 调优最重要的目标是减少 I/O 。--Oracle SQL 调整。 Oracle SQL 调整是 Oracle 调整中最重要的领域之一,只要通过一些简单的 SQL 调优规则就可以大幅度地提升 SQL 语句的性能,这是一点都不奇怪的。-- 调整 Oracle 排序:排序对于 Oracle 性能也是有很大影响的。-- 调整 Oracle 的竞争:表和索引的参数设置对于 UPDATE 和 INSERT 的性能有很大的影响。我们首先从调整 Oracle 外部的环境开始。如果内存和 CPU 的资源不足的话,任何的 Oracle 调整都是没有帮助的。外部的性能问题Oracle 并不是单独运行的。 Oracle 数据库的性能和外部的环境有很大的关系。这些外部的条件包括有:. CPU--CPU 资源的不足令查询变慢。当查询超过了 Oracle 服务器的 CPU 性能时,你的数据库性能就受到 CPU 的限制。.内存 -- 可用于 Oralce 的内存数量也会影响 SQL 的性能,特别是在数据缓冲和内存排序方面。.网络 -- 大量的 Net8 通信令 SQL 的性能变慢。许多新手都错误的认为应该首先调整 Oracle 数据库,而不是先确认外部资源是否足够。实际上,如果外部环境出现瓶颈,再多的 Oracle 调整都是没有帮助的。在检查 Oracle 的外部环境时,有两个方面是需要注意的:1 、当运行队列的数目超过服务器的 CPU 数量时,服务器的性能就会受到 CPU 的限制。补救的方法是为服务器增加额外的 CPU 或者关闭需要很多处理资源的组件,例如 Oracle Parallel Query 。2 、内存分页。当内存分页时,内存容量已经不足,而内存页是与磁盘上的交换区进行交互的。补救的方法是增加更多的内存,减少 Oracle SGA 的大小,或者关闭 Oracle 的多线程服务器。可以使用各种标准的服务器工具来得到服务器的统计数据,例如 vmstat,glance,top 和 sar 。 DBA 的目标是确保数据库服务器拥有足够的 CPU 和内存资源来处理 Oracle 的请求。以下让我们来看一下 Oracle 的 row-resequencing 是如何能够极大地减少磁盘 I/O 的。Row-resequencing (行的重新排序)就象我们上面提到的,有经验的 Oracle DBA 都知道 I/O 是响应时间的最大组成部分。其中磁盘 I/O 特别厉害,因为当 Oracle 由磁盘上的一个数据文件得到一个数据块时,读的进程就必须等待物理 I/O 操作完成。磁盘操作要比数据缓冲慢 10,000 倍。因此,如果可以令 I/O 最小化,或者减少由于磁盘上的文件竞争而带来的瓶颈,就可以大大地改善 Oracle 数据库的性能。如果系统响应很慢,通过减少磁盘 I/O 就可以有一个很快的改善。如果在一个事务中通过按一定的范围搜索 primary-key 索引来访问表,那么重新以 CTAS 的方法组织表将是你减少 I/O 的首要策略。通过在物理上将行排序为和 primary-key 索引一样的顺序,就可以加快获得数据的速度。就象磁盘的负载平衡一样,行的重新排序也是很简单的,而且也很快。通过与其它的 DBA 管理技巧一起使用,就可以在高 I/O 的系统中大大地减少响应的时间。在高容量的在线事务处理环境中( online transaction processing , OLTP ),数据是由一个 primary 索引得到的,重新排序表格的行就可以令连续块的顺序和它们的 primary 索引一样,这样就可以在索引驱动的表格查询中,减少物理 I/O 并且改善响应时间。这个技巧仅在应用选择多行的时候有用,或者在使用索引范围搜索和应用发出多个查询来得到连续的 key 时有效。对于随机的唯一 primary-key (主键)的访问将不会由行重新排序中得到好处。让我们看一下它是如何工作的。考虑以下的一个 SQL 的查询,它使用一个索引来得到 100 行:selectsalaryfromemployeewherelast_name like "B%";这个查询将会使用 last_name_index ,搜索其中的每一行来得到目标行。这个查询将会至少使用 100 次物理磁盘的读取,因为 employee 的行存放在不同的数据块中。不过,如果表中的行已经重新排序为和 last_name_index 的一样,同样的查询又会怎样处理呢?我们可以看到这个查询只需要三次的磁盘 I/O 就读完全部 100 个员工的资料(一次用作索引的读取,两次用作数据块的读取),减少了 97 次的块读取。重新排序带来的性能改善的程度在于在你开始的时候行的乱序性如何,以及你需要由序列中访问多少行。至于一个表中的行与索引的排序键的匹配程度,可以查看数据字典中的 dba_indexes 和 dba_tables 视图得到。在 dba_indexes 的视图中,查看 clustering_factor 列。如果 clustering_factor 的值和表中的块数目大致一样,那么你的表和索引的顺序是一样的。不过,如果 clustering_factor 的值接近表中的行数目,那就表明表格中的行和索引的顺序是不一样的。行重新排序的作用是不可以小看的。在需要进行大范围的索引搜索的大表中,行重新排序可以令查询的性能提高三倍。一旦你已经决定重新排序表中的行,你可以使用以下的工具之一来重新组织表格。. 使用 Oracle 的 Create Table As Select (CTAS) 语法来拷贝表格. Oracle9i 自带的表格重新组织工具以下,我们来看以下 SQL 语句的调优。SQL 调优Oracle 的 SQL 调优是一个复杂的主题,甚至是需要整本书来介绍 Oracle SQL 调优的细微差别。不过有一些基本的规则是每个 Oracle DBA 都需要跟从的,这些规则可以改善他们系统的性能。 SQL 调优的目标是简单的:. 消除不必要的大表全表搜索:不必要的全表搜索导致大量不必要的 I/O ,从而拖慢整个数据库的性能。调优专家首先会根据查询返回的行数目来评价 SQL 。在一个有序的表中,如果查询返回少于 40% 的行,或者在一个无序的表中,返回少于 7% 的行,那么这个查询都可以调整为使用一个索引来代替全表搜索。对于不必要的全表搜索来说,最常见的调优方法是增加索引。可以在表中加入标准的 B 树索引,也可以加入 bitmap 和基于函数的索引。要决定是否消除一个全表搜索,你可以仔细检查索引搜索的 I/O 开销和全表搜索的开销,它们的开销和数据块的读取和可能的并行执行有关,并将两者作对比。在一些情况下,一些不必要的全表搜索的消除可以通过强制使用一个 index 来达到,只需要在 SQL 语句中加入一个索引的提示就可以了。. 在全表搜索是一个最快的访问方法时,将小表的全表搜索放到缓存中,调优专家应该确保有一个专门的数据缓冲用作行缓冲。在 Oracle7 中,你可以使用 alter table xxx cache 语句,在 Oracle8 或以上,小表可以被强制为放到 KEEP 池中缓冲。. 确保最优的索引使用 :对于改善查询的速度,这是特别重要的。有时 Oracle 可以选择多个索引来进行查询,调优专家必须检查每个索引并且确保 Oracle 使用正确的索引。它还包括 bitmap 和基于函数的索引的使用。. 确保最优的 JOIN 操作:有些查询使用 NESTED LOOP join 快一些,有些则是 HASH join 快一些,另外一些则是 sort-merge join 更快。这些规则看来简单,不过它们占 SQL 调优任务的 90% ,并且它们也无需完全懂得 Oracle SQL 的内部运作。以下我们来简单概览以下 Oracle SQL 的优化。我们首先简要查看 Oracle 的排序,并且看一看排序操作是如何影响性能的。调整 Oracle 的排序操作排序是 SQL 语法中一个小的方面,但很重要,在 Oracle 的调整中,它常常被忽略。当使用 create index 、 ORDER BY 或者 GROUP BY 的语句时, Oracle 数据库将会自动执行排序的操作。通常,在以下的情况下 Oracle 会进行排序的操作:使用 Order by 的 SQL 语句使用 Group by 的 SQL 语句在创建索引的时候进行 table join 时,由于现有索引的不足而导致 SQL 优化器调用 MERGE SORT当与 Oracle 建立起一个 session 时,在内存中就会为该 session 分配一个私有的排序区域。如果该连接是一个专用的连接 (dedicated connection) ,那么就会根据 init.ora 中 sort_area_size 参数的大小在内存中分配一个 Program Global Area (PGA) 。如果连接是通过多线程服务器建立的,那么排序的空间就在 large_pool 中分配。不幸的是,对于所有的 session ,用做排序的内存量都必须是一样的,我们不能为需要更大排序的操作分配额外的排序区域。因此,设计者必须作出一个平衡,在分配足够的排序区域以避免发生大的排序任务时出现磁盘排序( disk sorts )的同时,对于那些并不需要进行很大排序的任务,就会出现一些浪费。当然,当排序的空间需求超出了 sort_area_size 的大小时,这时将会在 TEMP 表空间中分页进行磁盘排序。磁盘排序要比内存排序大概慢 14,000 倍。上面我们已经提到,私有排序区域的大小是有 init.ora 中的 sort_area_size 参数决定的。每个排序所占用的大小由 init.ora 中的 sort_area_retained_size 参数决定。当排序不能在分配的空间中完成时,就会使用磁盘排序的方式,即在 Oracle 实例中的临时表空间中进行。磁盘排序的开销是很大的,有几个方面的原因。首先,和内存排序相比较,它们特别慢;而且磁盘排序会消耗临时表空间中的资源。 Oracle 还必须分配缓冲池块来保持临时表空间中的块。无论什么时候,内存排序都比磁盘排序好,磁盘排序将会令任务变慢,并且会影响 Oracle 实例的当前任务的执行。还有,过多的磁盘排序将会令 free buffer waits 的值变高,从而令其它任务的数据块由缓冲中移走。接着,让我们看一下 Oracle 的竞争,并且看一下表的存储参数的设置是如何影响 SQL UPDATE 和 INSERT 语句的性能的。调整 Oracle 的竞争Oracle 的其中一个优点时它可以管理每个表空间中的自由空间。 Oracle 负责处理表和索引的空间管理,这样就可以让我们无需懂得 Oracle 的表和索引的内部运作。不过,对于有经验的 Oracle 调优专家来说,他需要懂得 Oracle 是如何管理表的 extent 和空闲的数据块。对于调整拥有高的 insert 或者 update 的系统来说,这是非常重要的。要精通对象的调整,你需要懂得 freelists 和 freelist 组的行为,它们和 pctfree 及 pctused 参数的值有关。这些知识对于企业资源计划( ERP )的应用是特别重要的,因为在这些应用中,不正确的表设置通常是 DML 语句执行慢的原因。对于初学者来说,最常见的错误是认为默认的 Oracle 参数对于所有的对象都是最佳的。除非磁盘的消耗不是一个问题,否则在设置表的 pctfree 和 pctused 参数时,就必须考虑平均的行长和数据库的块大小,这样空的块才会被有效地放到 freelists 中。当这些设置不正确时,那些得到的 freelists 也是 "dead" 块,因为它们没有足够的空间来存储一行,这样将会导致明显的处理延迟。Freelists 对于有效地重新使用 Oracle 表空间中的空间是很重要的,它和 pctfree 及 pctused 这两个存储参数的设置直接相关。通过将 pctused 设置为一个高的值,这时数据库就会尽快地重新使用块。不过,高性能和有效地重新使用表的块是对立的。在调整 Oracle 的表格和索引时,需要认真考虑究竟需要高性能还是有效的空间重用,并且据此来设置表的参数。以下我们来看一下这些 freelists 是如何影响 Oracle 的性能的。当有一个请求需要插入一行到表格中时, Oracle 就会到 freelist 中寻找一个有足够的空间来容纳一行的块。你也许知道, freelist 串是放在表格或者索引的第一个块中,这个块也被称为段头( segment header )。 pctfree 和 pctused 参数的唯一目的就是为了控制块如何在 freelists 中进出。虽然 freelist link 和 unlink 是简单的 Oracle 功能,不过设置 freelist link (pctused) 和 unlink (pctfree) 对 Oracle 的性能确实有影响。由 DBA 的基本知识知道, pctfree 参数是控制 freelist un-links 的(即将块由 freelists 中移除)。设置 pctfree=10 意味着每个块都保留 10% 的空间用作行扩展。 pctused 参数是控制 freelist re-links 的。设置 pctused=40 意味着只有在块的使用低于 40% 时才会回到表格的 freelists 中。许多新手对于一个块重新回到 freelists 后的处理都有些误解。其实,一旦由于一个删除的操作而令块被重新加入到 freelist 中,它将会一直保留在 freelist 中即使空间的使用超过了 60% ,只有在到达 pctfree 时才会将数据块由 freelist 中移走。表格和索引存储参数设置的要求总结以下的一些规则是用来设置 freelists, freelist groups, pctfree 和 pctused 存储参数的。你也知道, pctused 和 pctfree 的值是可以很容易地通过 alter table 命令修改的,一个好的 DBA 应该知道如何设置这些参数的最佳值。有效地使用空间和高性能之间是有矛盾的,而表格的存储参数就是控制这个方面的矛盾:. 对于需要有效地重新使用空间,可以设置一个高的 pctused 值,不过副作用是需要额外的 I/O 。一个高的 pctused 值意味着相对满的块都会放到 freelist 中。因此,这些块在再次满之前只可以接受几行记录,从而导致更多的 I/O 。. 追求高性能的话,可以将 pctused 设置为一个低的值,这意味着 Oracle 不会将数据块放到 freelists 中直到它几乎是空的。那么块将可以在满之前接收更多的行,因此可以减少插入操作的 I/O 。要记住 Oracle 扩展新块的性能要比重新使用现有的块高。对于 Oracle 来说,扩展一个表比管理 freelists 消耗更少的资源。让我们来回顾一下设置对象存储参数的一些常见规则:.经常将 pctused 设置为可以接收一条新行。对于不能接受一行的 free blocks 对于我们来说是没有用的。如果这样做,将会令 Oracle 的性能变慢,因为 Oracle 将在扩展表来得到一个空的块之前,企图读取 5 个 "dead" 的 free block 。.表格中 chained rows 的出现意味着 pctfree 太低或者是 db_block_size 太少。在很多情况下, RAW 和 LONG RAW 列都很巨大,以至超过了 Oracle 的最大块的大小,这时 chained rows 是不可以避免的。.如果一个表有同时插入的 SQL 语句,那么它需要有同时删除的语句。运行单一个一个清除的工作将会把全部的空闲块放到一个 freelist 中,而没有其它包含有任何空闲块的 freelists 出现。. freelist 参数应该设置为表格同时更新的最大值。例如,如果在任何时候,某个表最多有 20 个用户执行插入的操作,那么该表的参数应该设置为 freelists=20 。应记住的是 freelist groups 参数的值只是对于 Oracle Parallel Server 和 Real Application Clusters 才是有用的。对于这类 Oracle , freelist groups 应该设置为访问该表格的 Oracle Parallel Server 实例的数目。2023-07-12 17:28:271
Oracle学习的一些建议
学习Oracle是一个漫长艰辛的过程。如果没有兴趣,只是被迫学习,那么是很难学好的。学习到一定程度的时候,要想进一步提高,就不得不接触很多Oracle之外的东西,如Unix,如网络、存储等。因此,要真的决心学好Oracle,就一定要有兴趣。有了兴趣,就会一切变得简单快乐起来。简单总结一下,那就是:兴趣、学习、实践。如何入门是许多初学者最头疼的事情。Oracle涉及的方面太多了:SQL、管理、优化、备份恢复那么从哪开始学好呢?如果在大学期间学过数据库理论,或有一定的数据库基础自然很好;如果没有的话,真的是个大问题。我个人认为还是应该从SQL语句学起。比较好的教材是Oracle OCP认证的《SQL and PL/SQL》。学习SQL的时候,尽可能坚持使用Oracle自带的工具:SQLPLUS。有了一定的SQL基础后,就要尽可能的了解Oracle的体系结构,这就涉及到了Oracle管理的内容了。我学习的时候,机械工业出版社的《Oracle9i DBA手册》这本书对我的帮助挺大。或许现在都出11g版本的了吧。Oracle公司的《Oracle Concepts》是非常棒的书,对了解Oracle体系结构很有好处。每个Oracle版本都有对应的版本,可以认真多读几次,每次都会有新的收获。公司的产品现在几乎都采用Oracle了,我们做维护的时候,备份与恢复是不得不接触的内容。数据量少的,比如20、30多个G,还可以考虑用exp/imp来备份与恢复,但数据量大了,这种方法就根本不适合了。于是学习Oracle备份与恢复技术也是必然的事情。大数据量情况下,Oracle建议用RMAN来进行数据的备份与恢复。目前市场上有很多数据库备份恢复软件,其实好多也是后台调用RMAN。清华大学出版社出版的《Oracle 9i RMAN 备份与恢复技术》是一本非常不错的介绍RMAN的书。有了以上的基础,可以说已经入门了,对遇到的一些初级Oracle问题将不再束手无策。然而我们的学习之路仍然还很漫长。我们的用户可能经常抱怨数据库运行缓慢。这时,如果有一定的优化知识,那就好办了。有时你会看到优化前需要运行几个小时的作业,优化后也许几秒钟就能完成!Oracle9i的性能诊断工具包statspack、Oracle10g/11g的自动工作符合存储库AWR都是调优的好帮手。机械工业出版社出版的《Oracle9i STATSPACK高性能调整》是学习statspack不错的书。在数据库体系结构、编程优化方面,有一本书非常棒,这就是世界顶级的Oracle专家Thomas Kyte编写的《Oracle9i10g编程艺术》(英文名为“Expert Oracle Database Architecture”)。Tom以前还写了一本叫做《Expert One-on-One Oracle》的书,也非常的经典。这两本书被很多Oracle学习者视为宝典,如果想在Oracle上深入学习的话,强烈建议认真研读。掌握了以上内容,或者基本掌握以上内容,那么你在很多人的眼里也是Oracle的高手了,解决公司产品中的数据库问题应该不成问题。不过Oracle还有很多高级内容可以进一步学习。这里列举一些,仅供感兴趣的同仁参考。1. 高级复制技术2. Oracle Real Application Cluster (RAC)3. Data Guard4. Oracle Stream5. 数据仓库6. Proc、OCI编程以上列举的这些高级内容,参考资料主要是Oracle公司的电子文档。实话实说,上面的列的数据仓库、Proc、OCI编程,我一点也不熟悉。在学习Oracle过程中,充分利用网络资源可以起到事半功倍的作用。总之,Oracle最大的问题是复杂,复杂是Oracle的最大魅力。让我们为了驾驭Oracle而共同努力吧!2023-07-12 17:28:341
Oracle数据库安全
导读:随着计算机的普及以及网络的发展,数据库已经不再仅仅是那些程序员所专有的话题,更是被很多人所熟悉的,数据安全已经不再是以前的“老生长谈”,也更不是以前书本上那些“可望不可及”的条条框框。同时,安全问题也是现今最为热门的话题,也是企业比较关心的问题,可见安全问题的重要性,那就大家一起来探讨一下Oracle数据库安全问题。以下就数据库系统不被非法用户侵入这个问题作进一步的阐述。一、组和安全性:在操作系统下建立用户组也是保证数据库安全性的一种有效方法。Oracle程序为了安全性目的一般分为两类:一类所有的用户都可执行,另一类只DBA可执行。在Unix环境下组设置的配置文件是/etc/group,关于这个文件如何配置,请参阅Unix的有关手册,以下是保证安全性的几种方法:(1)在安装Oracle Server前,创建数据库管理员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。DBA能执行的程序只有710权限。在安装过程中SQL*DBA系统权限命令被自动分配给DBA组。(2)允许一部分Unix用户有限制地访问Oracle服务器系统,增加一个由授权用户组的Oracle组,确保给Oracle服务器实用例程Oracle组ID,公用的可执行程序,比如SQL*Plus,SQL*forms等,应该可被这组执行,然后该这个实用例程的权限为710,它将允许同组的用户执行,而其他用户不能。(3)改那些不会影响数据库安全性的程序的权限为711。(注:在我们的系统中为了安装和调试的方便,Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager。为了您数据库系统的安全,我们强烈建议您该掉这两个用户的密码,具体操作如下:在SQL*DBA下键入:alter user sys indentified by password;alter user system indentified by password;其中password为您为用户设置的密码。二、Oracle服务器实用例程的安全性:以下是保护Oracle服务器不被非法用户使用的几条建议:(1) 确保$ORACLE_HOME/bin目录下的所有程序的拥有权归Oracle软件拥有者所有;(2) 给所有用户实用便程(sqiplus,sqiforms,exp,imp等)711权限,使服务器上所有的用户都可访问Oracle服务器;(3) 给所有的DBA实用例程(比如SQL*DBA)700权限。Oracle服务器和Unix组当访问本地的服务时,您可以通过在操作系统下把Oracle服务器的角色映射到Unix的组的方式来使用Unix管理服务器的安全性,这种方法适应于本地访问。在Unix中指定Oracle服务器角色的格式如下:ora_sid_role[_dla]其中 sid 是您Oracle数据库的oracle_sid;role 是Oracle服务器中角色的名字;d (可选)表示这个角色是缺省值;a (可选)表示这个角色带有WITH ADMIN选项,您只可以把这个角色授予其他角色,不能是其他用户。以下是在/etc/group文件中设置的例子:ora_test_osoper_d:NONE:1:jim,narry,scottora_test_osdba_a:NONE:3:patora_test_role1:NONE:4:bob,jane,tom,mary,jimbin: NONE:5:root,oracle,dbaroot:NONE:7:root词组“ora_test_osoper_d”表示组的名字;词组“NONE”表示这个组的密码;数字1表示这个组的ID;接下来的是这个组的成员。前两行是Oracle服务器角色的例子,使用test作为sid,osoper和osdba作为Oracle服务器角色的名字。osoper是分配给用户的缺省角色,osdba带有WITH ADMIN选项。为了使这些数据库角色起作用,您必须shutdown您的数据库系统,设置Oracle数据库参数文件initORACLE_SID.ora中os_roles参数为True,然后重新启动您的数据库。如果您想让这些角色有connect internal权限,运行orapwd为这些角色设置密码。当您尝试connect internal时,您键入的密码表示了角色所对应的权限。SQL*DBA命令的安全性:如果您没有SQL*PLUS应用程序,您也可以使用SQL*DBA作SQL查权限相关的命令只能分配给Oracle软件拥有者和DBA组的用户,因为这些命令被授予了特殊的系统权限。(1) startup(2) shutdown(3) connect internal数据库文件的安全性:Oracle软件的拥有者应该这些数据库文件($ORACLE_HOME/dbs/*.dbf)设置这些文件的使用权限为0600:文件的拥有者可读可写,同组的和其他组的用户没有写的权限。Oracle软件的拥有者应该拥有包含数据库文件的目录,为了增加安全性,建议收回同组和其他组用户对这些文件的可读权限。网络安全性:当处理网络安全性时,以下是额外要考虑的几个问题。(1) 在网络上使用密码在网上的远端用户可以通过加密或不加密方式键入密码,当您用不加密方式键入密码时,您的密码很有可能被非法用户截获,导致破坏了系统的安全性。(2) 网络上的DBA权限控制您可以通过下列两种方式对网络上的DBA权限进行控制:A 设置成拒绝远程DBA访问;B 通过orapwd给DBA设置特殊的密码。[nextpage]三、建立安全性策略:系统安全性策略(1)管理数据库用户:数据库用户是访问Oracle数据库信息的途径,因此,应该很好地维护管理数据库用户的安全性。按照数据库系统的大小和管理数据库用户所需的工作量,数据库安全性管理者可能只是拥有create,alter,或drop数据库用户的一个特殊用户,或者是拥有这些权限的一组用户,应注意的是,只有那些值得信任的个人才应该有管理数据库用户的权限。(2) 用户身份确认:数据库用户可以通过操作系统,网络服务,或数据库进行身份确认,通过主机操作系统进行用户身份认证的优点有:A 用户能更快,更方便地联入数据库;B 通过操作系统对用户身份确认进行集中控制:如果操作系统与数据库用户信息一致,Oracle无须存储和管理用户名以及密码;C 用户进入数据库和操作系统审计信息一致。(3) 操作系统安全性A 数据库管理员必须有create和delete文件的操作系统权限;B 一般数据库用户不应该有create或delete与数据库相关文件的操作系统权限;C 如果操作系统能为数据库用户分配角色,那么安全性管理者必须有修改操作系统帐户安全性区域的操作系统权限。数据的安全性策略:数据的生考虑应基于数据的重要性。如果数据不是很重要,那么数据的安全性策略可以稍稍放松一些。然而,如果数据很重要,那么应该有一谨慎的安全性策略,用它来维护对数据对象访问的有效控制。用户安全性策略:(1) 一般用户的安全性:A 密码的安全性:如果用户是通过数据库进行用户身份的确认,那么建议使用密码加密的方式与数据库进行连接。这种方式的设置方法如下:在客户端的oracle.ini文件中设置ora_encrypt_login数为true;在服务器端的initORACLE_SID.ora文件中设置dbling_encypt_login参数为true。B 权限管理:对于那些用户很多,应用程序和数据对象很丰富的数据库,应充分利用“角色”这个机制所带的方便性对权限进行有效管理。对于复杂的系统环境,“角色”能大大地简化权限的理。(2) 终端用户的安全性:您必须针对终端用户制定安全性策略。例如,对于一个有很多用户的大规模数据库,安全性管理者可以决定用户组分类为这些用户组创建用户角色,把所需的权限和应用程序角色授予每一个用户角色,以及为用户分配相应的用户角色。当处理特殊的应用要求时,安全性管理者也必须明确地把一些特定的权限要求授予给用户。您可以使用“角色”对终端用户进行权限管理。数据库管理者安全性策略:(1) 保护作为sys和system用户的连接:当数据库创建好以后,立即更改有管理权限的sys和system用户的密码,防止非法用户访问数据库。当作为sys和system用户连入数据库后,用户有强大的权限用各种方式对数据库进行改动。(2) 保护管理者与数据库的连接:应该只有数据库管理者能用管理权限连入数据库,当以sysdba或startup,shutdown,和recover或数据库对象(例如create,drop,和delete等)进行没有任何限制的操作。(3) 使用角色对管理者权限进行管理应用程序开发者的安全性策略:(1) 应用程序开发者和他们的权限数据库应用程序开发者是唯一一类需要特殊权限组完成自己工作的数据库用户。开发者需要诸如create table,create,procedure等系统权限,然而,为了限制开发者对数据库的操作,只应该把一些特定的系统权限授予开发者。(2) 应用程序开发者的环境:A 程序开发者不应与终端用户竞争数据库资源;B 用程序开发者不能损害数据库其他应用产品。(3) free和controlled应用程序开发应用程序开发者有一下两种权限:A free development应用程序开发者允许创建新的模式对象,包括table,index,procedure,package等,它允许应用程序开发者开发独立于其他对象的应用程序。B controlled development应用程序开发者不允许创建新的模式对象。所有需要table,indes procedure等都由数据库管理者创建,它保证了数据库管理者能完全控制数据空间的使用以及访问数据库信息的途径。但有时应用程序开发者也需这两种权限的混和。(4) 应用程序开发者的角色和权限数据库安全性管理者能创建角色来管理典型的应用程序开发者的权限要求。A create系统权限常常授予给应用程序开发者,以至于他们能创建他的数据对象。B 数据对象角色几乎不会授予给应用程序开发者使用的角色。(5) 加强应用程序开发者的空间限制作为数据库安全性管理者,您应该特别地为每个应用程序开发者设置以下的一些限制:A 开发者可以创建table或index的表空间;B 在每一个表空间中,开发者所拥有的空间份额。应用程序管理者的安全在有许多数据库应用程序的数据库系统中,您可能需要一应用程序管理者,应用程序管理者应负责起以下的任务:a)为每一个应用程序创建角色以及管理每一个应用程序的角色;b)创建和管理数据库应用程序使用的数据对象;c)需要的话,维护和更新应用程序代码和Oracle的存储过程和程序包。我相信有了以上的这些建议,作为一个Oracle的管理者绝对可以做好他本职的工作了。可是,我们再怎么努力,都始终得面对这样一个现实,那就是Oracle毕竟是其他人开发的,而我们却在使用。所以,Oracle到底有多少漏洞--我想这个不是你和我所能解决的。不过既然作为一篇讨论Oracle数据安全的文章,我认为有必要把漏洞这一块也写进去,毕竟这也是“安全”必不可少的一部分。呵呵!所以Oracle漏洞举例:1.Oracle9iAS Web Cache远程拒绝服务攻击漏洞(2002-10-28)2.Oracle 8.1.6的oidldapd中的漏洞3.Oracle 9iAS OracleJSP 泄漏JSP文件信息漏洞4.Linux ORACLE 8.1.5漏洞总而言之一句话--“Oracle数据安全是一个博大而又精深的话题;如果你没有耐心,就永远不会得到它的精髓之所在。”希望大家能深入的去学习这篇文章,学好了也是百一而无一害。2023-07-12 17:28:411
浅谈应该如何理解Oracle的架构知识
1、物理结构Oracle物理结构由控制文件、数据文件、重做日志文件、参数文件、归档文件、口令文件组成一个数据库中的数据存储在磁盘上物理文件,被使用时,调入内存。其中控制文件、数据文件、重做日志文件、跟踪文件及警告日志(trace files,alert files)属于数据库文件;参数文件(parameter file)口令文件(password file)是非数据库文件。 数据文件:存储数据的文件.数据文件典型地代表了根据他们使用的磁盘空间和数量所决定的一个Oracle数据库的容积。由于性能原因,每一种类型的数据放在相应的一个或一系列文件中,将这些文件放在不同的磁盘中。types:.data dictionary .data.redo data .index.temporary data 等等 控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件.控制文件内容◆数据库名◆表空间信息◆所有数据文件的名字和位置◆所有redo日志文件的名字和位置◆当前的日志序列号◆检查点信息◆关于redo日志和归档的当前状态信息控制文件的使用过程控制文件把Oracle引导到数据库文件的其它部分。启动一个实例时,Oracle 从参数文件中读取控制文件的名字和位置。安装数据库时,Oracle 打开控制文件。最终打开数据库时,Oracle 从控制文件中读取数据文件的列表并打开其中的每个文件。重做日志文件含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件.跟踪文件及警告日志(Trace Files and Alert Files)在instance 中运行的每一个后台进程都有一个跟踪文件(trace file)与之相连。Trace file 记载后台进程所遇到的重大事件的信息。 警告日志( Alert Log)是一种特殊的跟踪文件,每个数据库都有一个跟踪文件,同步记载数据库的消息和错误. 参数文件:包括大量影响Oracle数据库实例功能的设定,如以下设定:◆数据库控制文件的定位◆Oracle用来缓存从磁盘上读取的数据的内存数量◆默认的优化程序的选择.和数据库文件相关,执行两个重要的功能1〉为数据库指出控制文件2〉为数据库指出归档日志的目标 归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。 口令文件:认证哪些用户有权限启动和关闭Oracle例程.2、逻辑结构(表空间、段、区、块)表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。段:是对象在数据库中占用的空间.区:是为数据一次性预留的一个较大的存储空间.块:ORACLE最基本的存储单位,在建立数据库的时候指定.3、内存分配(SGA和PGA)SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收.4、后台进程包括数据写进程(Database Writer,DBWR)、日志写进程(Log Writer,LGWR)、系统监控(System Monitor,SMON)、进程监控(Process Monitor,PMON)、检查点进程(Checkpoint Process,CKPT)、归档进程、服务进程、用户进程)数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控:负责在一个Oracle 进程失败时清理资源检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。该进程在检查点出现时,对全部数据文件的标题进行修改,指示该检查点。在通常的情况下,该任务由LGWR执行。然而,如果检查点明显地降低系统性能时,可使CKPT进程运行,将原来由LGWR进程执行的检查点的工作分离出来,由CKPT进程实现。对于许多应用情况,CKPT进程是不必要的。只有当数据库有许多数据文件,LGWR在检查点时明显地降低性能才使CKPT运行。CKPT进程不将块写入磁盘,该工作是由DBWR完成的。 init.ora文件中 CHECKPOINT_PROCESS 参数控制CKPT进程的使能或使不能。缺省时为FALSE,即为使不能。归档进程:在每次日志切换时把已满的日志组进行备份或归档服务进程:用户进程服务。用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询数据。5、SCN(System ChangeNumber):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。2023-07-12 17:28:481
如何查看oracle的安装目录?
1、首先,用XSell工具连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。在linux命令行下输入shell指令:whereisoracle。2、windows下可以通过注册表查找ORACLE_HOMElinux或者unix,通过命令env|grepORACLE查看ORACLE_HOME变了对应的路径。拓展:OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。3、虚拟光驱快速装载——选择你的Oracle数据库镜像——打开。点击setup。选择创建和配置数据库——点击下一步。选择桌面类——点击下一步。设置密码——点击下一步。点击完成。正在安装和配置。4、在桌面上找到计算机,右键管理,点击服务和应用程序,双击服务,找到oracle;点击电脑左下角的开始--运行,输入sqlplus,回车。5、su-oracle切换至oracle用户,set查看环境变量找到ORACLE_HOME或者ORACLE_BASE(oracle的家目录和基目录)su-oracle切换至oracle用户,whichsqlplus查看sqlplus命令的位置。2023-07-12 17:28:551
Oracle属于什么软件?
Oracle是系统软件。Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。Oracle,世界第一个支持SQL语言的商业数据库,定位于高端工作站,以及作为服务器的小型计算机,如IBMP系列服务器、HP的Integraty服务器、SunFire服务器。Oracle公司的整个产品线包括数据库服务器、企业商务应用套件、应用开发和决策支持工具2023-07-12 17:29:031
Oracle数据库系统使用经验
oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。1.having 子句的用法having 子句对 group by 子句所确定的行组进行控制,having 子句条件中只允许涉及常量,聚组函数或group by 子句中的列。2.外部联接"+"的用法外部联接"+"按其在"="的左边或右边分左联接和右联接。若不带"+"运算符的表中的一个行不直接匹配于带"+"预算符的表中的任何行,则前者的行与后者中的一个空行相匹配并被返回。若二者均不带?+?,则二者中无法匹配的均被返回。利用外部联接"+",可以替代效率十分低下的 not in 运算,大大提高运行速度。例如,下面这条命令执行起来很慢select a.empno from emp a where a.empno not in(select empno from emp1 where job=?SALE?);倘若利用外部联接,改写命令如下:select a.empno from emp a ,emp1 bwhere a.empno=b.empno(+)and b.empno is nulland b.job=?SALE?;可以发现,运行速度明显提高。3.删除表内重复记录的方法可以利用这样的命令来删除表内重复记录:delete from table_name awhere rowid (select max(rowid) from table_namewhere column1=a.column1 and column2=a.column2and colum3=a.colum3 and );不过,当表比较大(例如50万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法(可参看拙文《电信计费中长途重复话单的技术处理》,《计算机与通信》,1999-07)。4.set transaction 命令的用法在执行大事务时,有时oracle会报出如下的错误:ORA-01555:snapshot too old (rollback segment too small)这说明oracle给此事务随机分配的回滚段太小了,这时可以为它指定一个足够大的回滚段,以确保这个事务的成功执行。例如set transaction use rollback segment roll_abc;delete from table_name where commit;回滚段roll_abc被指定给这个delete事务,commit命令则在事务结束之后取消了回滚段的指定。5.使用索引的注意事项select,update,delete 语句中的子查询应当有规律地查找少于20%的表行。如果一个语句查找的行数超过总行数的20%,它将不能通过使用索引获得性能上的提高。索引可能产生碎片,因为记录从表中删除时,相应也从表的索引中删除。表释放的空间可以再用,而索引释放的空间却不能再用。频繁进行删除操作的被索引的表,应当阶段性地重建索引,以避免在索引中造成空间碎片,影响性能。在许可的条件下,也可以阶段性地truncate表,truncate命令删除表中所有记录,也删除索引碎片。6.数据库重建应注意的问题在利用import进行数据库重建过程中,有些视图可能会带来问题,因为结构输入的顺序可能造成视图的输入先于它低层次表的输入,这样建立视图就会失败。要解决这一问题,可采取分两步走的方法:首先输入结构,然后输入数据。命令举例如下 (uesrname:jfcl,password:hfjf,host sting:ora1,数据文件:expdata.dmp):imp jfcl/hfjf@ora1 file=empdata.dmp rows=Nimp jfcl/hfjf@ora1 file=empdata.dmp full=Y buffer=64000commit=Y ignore=Y第一条命令输入所有数据库结构,但无记录。第二次输入结构和数据,64000字节提交一次。ignore=Y选项保证第二次输入既使对象存在的情况下也能成功。以上六条小经验是从平时的工作中总结出来的,拿出来与大家分享,希望能帮到大家。2023-07-12 17:29:381
oracle数据库安装在什么地方
默认安装在磁盘空间最大的那个盘里面,在磁盘的根目录下面创建名为oracle的文件夹中。安装方法:虚拟光驱快速装载——选择你的Oracle数据库镜像——打开。点击setup。选择创建和配置数据库——点击下一步。首先解压下载下来的安装包,解压完成后,到相应路径下,找到【setup.exe】,双击运行,开始安装Oracle11g。这一步可将自己的电子邮件地址填写进去(也可以不填写,填了只会收到一些没什么用的邮件)。在安装的时候。oracle会默认存储在一个剩余空间较大的盘符下,同时一般不会在C盘,在安装的时候,第一个界面就是这个路径修改(仅限于windows安装,linux安装没有用过),还有就是当安装完成后。2023-07-12 17:29:471
如何自学oracle数据库
你想学oracle干嘛用,oracle数据库可是大型数据库,不说一般,就是中型企业也支付不起一年几千万的使用费。初学者可以先学mysql数据库。mysql和oracle一样都支持sql语法,都是关系型数据库。不同的是存储过程不一样,权限管理不一样。mysql现在是中小型企业的主流。你可以考虑一下。你可以想想一个oracle数据库工程师的要求,即使你达到了,企业也不敢用年轻人。所以先主要已mysql入手。最好买一本适合初学者的书,买别的书估计初学者看不懂。再结合网上的教程,资料。如何纯粹是为了好玩,那就随心所欲吧。首先学习什么是关系型数据库,关系型数据库的特点和数据是如何查询的这些都有助于你今后对数据库的理解。作为一个能写出高效的sql语句的程序员来说这个必须要理解。然后学习sql语句,sql语句主要是对表的操作。查询,删除,修改,添加等操作。然后再学习触发器,存储过程,视图,控制器。学到这里就有一定的基础了,接下来可以选择学习方向,你可以深入学习数据库权限管理,你可以学习更多的数据库函数来写出高效的sql语句。2023-07-12 17:29:541
oracle怎么查看服务器配置?
1、如果本机测试,可以不配置监听和连接串,直接使用用户名和密码就可以连接当然也可以使用按远程服务器配置一样使用NetConfigurationAssistant来配置连接串。2、通过命令来查看,如用户权限,表名,存储位置,版本等等。3、如果这些都安装了,你去配置一下监听文件tnsnames.ora即可。里面配置一下别名,IP,以及SID就可以。4、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。在命令行下输入shell指令:whereisoracle。最后,按下回车键执行shell指令,此时会看到数据库oracle的具体位置被打印了出来。5、察看本机oracle安装目录下的tns配置。HOME/network/admin/tnsnames.ora。6、oracle查看服务器IP方法。工具:plsql步骤:打开plsql,登录到指定数据库。2023-07-12 17:30:011
oracle数据库怎么建
有两种方式(1)图形化创建:DBCA,然后根据图形化提示一步一步的区创建(2)静默创建,也就是语句创建create database语句,这个语句很长,很麻烦,要写的内容很多,很多地方都有相关例子,这里就不赘述了。下面还有一种不算是创建数据库的建立方法:复制数据库或者导入数据库:将数据库整体复制或者导出,然后再新的地方导入。只是复制和导出时也要考虑一些配置文件与参数文件。2023-07-12 17:30:082
Oracle的数据字典
首先,Oracle的字典表和视图基本上可以分为三个层次。1.1 X$表这一部分表是Oracle数据库的运行基础,在数据库启动时由Oracle应用程序动态创建。这部分表对数据库来说至关重要,所以Oracle不允许SYSDBA之外的用户直接访问,显示授权不被允许。如果显示授权你会收到如下错误: SQL grant select on x$ksppi to eygle;grant select on x$ksppi to eygle*ERROR at line 1:ORA-02030: can only select from fixed tables/views1.2 GV$和V$视图从Oracle8开始,GV$视图开始被引入,其含义为Global V$.除了一些特例以外,每个V$视图都有一个对应的GV$视图存在。GV$视图的产生是为了满足OPS环境的需要,在OPS环境中,查询GV$视图返回所有实例信息,而每个V$视图基于GV$视图,增加了INST_ID列判断后建立,只包含当前连接实例信息。注意,每个V$视图都包含类似语句:where inst_id = USERENV("Instance")用于限制返回当前实例信息。我们从GV$FIXED_TABLE和V$FIXED_TABLE开始SQL select view_definition from v_$fixed_view_definitionwhere view_name="V$FIXED_TABLE";VIEW_DEFINITION----------------------------------------------------------select NAME , OBJECT_ID , TYPE , TABLE_NUM from GV$FIXED_TABLEwhere inst_id = USERENV("Instance")这里我们看到V$FIXED_TABLE基于GV$FIXED_TABLE创建。SQL select view_definition from v_$fixed_view_definitionwhere view_name="GV$FIXED_TABLE";VIEW_DEFINITION-----------------------------------------------------------select inst_id,kqftanam, kqftaobj, "TABLE", indx from x$kqftaunion allselect inst_id,kqfvinam, kqfviobj, "VIEW", 65537 from x$kqfviunion allselect inst_id,kqfdtnam, kqfdtobj, "TABLE", 65537 from x$kqfdt这样我们找到了GV$FIXED_TABLE视图的创建语句,该视图基于X$表创建。1.3 GV_$,V_$视图和V$,GV$同义词这些视图是通过catalog.ql创建。当catalog.sql运行时:create or replace view v_$fixed_table as select * from v$fixed_table;create or replace public synonym v$fixed_table for v_$fixed_table;create or replace view gv_$fixed_table as select * from gv$fixed_table;create or replace public synonym gv$fixed_table for gv_$fixed_table;我们注意到,第一个视图V_$和GV_$首先被创建,v_$和gv_$两个视图。然后基于V_$视图的同义词被创建。所以,实际上通常我们访问的V$视图,其实是指向V_$视图的同义词。而V_$视图是基于真正的V$视图(这个视图是基于X$表建立的)。而v$fixed_view_definition视图是我们研究Oracle对象关系的一个入口,仔细理解Oracle的数据字典机制,有助于深入了解和学习Oracle数据库知识。1.4 再进一步1.4.1 X$表关于X$表,其创建信息我们也可以从数据字典中一窥究竟。首先我们考察bootstrap$表,该表中记录了数据库启动的基本及驱动信息。 SQL select * from bootstrap$;LINE# OBJ# SQL_TEXT-------------------------------------------------------------------1 -1 8.0.0.0.00 0 CREATE ROLLBACK SEGMENT SYSTEM STORAGE ( INITIAL 112K NEXT 1024KMINEXTENTS 1 M8 8 CREATE CLUSTER C_FILE#_BLOCK#("TS#" NUMBER,"SEGFILE#" NUMBER,"SEGBLOCK#" NUMBER)9 9 CREATE INDEX I_FILE#_BLOCK# ON CLUSTER C_FILE#_BLOCK# PCTFREE 10INITRANS 2 MAXT14 14 CREATE TABLE SEG$("FILE#" NUMBER NOT NULL,"BLOCK#" NUMBER NOTNULL,"TYPE#" NUMBE5 5 CREATE TABLE CLU$("OBJ#" NUMBER NOT NULL,"DATAOBJ#" NUMBER,"TS#"NUMBER NOT NULL6 6 CREATE CLUSTER C_TS#("TS#" NUMBER) PCTFREE 10 PCTUSED 40 INITRANS2 MAXTRANS 2557 7 CREATE INDEX I_TS# ON CLUSTER C_TS# PCTFREE 10 INITRANS 2 MAXTRANS255 STORAGE (这部分信息,在数据库启动时最先被加载,跟踪数据库的启动过程,我们发现数据库启动的第一个动作就是: create table bootstrap$ ( line# number not null, obj# number not null,sql_text varchar2(4000) not null) storage (initial 50K objno 56 extents(file 1 block 377))这部分代码是写在Oracle应用程序中的,在内存中创建了bootstrap$以后,Oracle就可以从file 1,block 377上读取其他信息,创建重要的数据库对象。从而根据这一部分信息启动数据库,这就实现了数据库的引导,类似于操作系统的初始化。X$表由此建立。这一部分表可以从v$fixed_table中查到: SQL select count(*) from v$fixed_table where name like "X$%";COUNT(*)----------394共有394个X$对象被记录。1.4.2 GV$和V$视图X$表建立以后,基于X$表的GV$和V$视图得以创建。这部分视图我们也可以通过查询V$FIXED_TABLE得到。 SQL select count(*) from v$fixed_table where name like "GV$%";COUNT(*)----------259这一部分共259个对象。 SQL select count(*) from v$fixed_table where name like "V$%";COUNT(*)----------259同样是259个对象。v$fixed_table共记录了394 + 259 + 259 共 912 个对象。我们通过V$PARAMETER视图来追踪一下数据库的架构: SQL select view_definition from v$fixed_view_definition a wherea.VIEW_NAME="V$PARAMETER";VIEW_DEFINITION-------------------------------------------------------------------select NUM , NAME , TYPE , VALUE , ISDEFAULT , ISSES_MODIFIABLE ,ISSYS_MODIFIABLE , ISMODIFIED , ISADJUSTED , DESCRIPTION, UPDATE_COMMENT fromGV$PARAMETER where inst_id = USERENV("Instance")我们看到V$PARAMETER是由GV$PARAMETER创建的。 SQL select view_definition from v$fixed_view_definition a wherea.VIEW_NAME="GV$PARAMETER";VIEW_DEFINITION-------------------------------------------------------------------select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl,ksppstdf, decode(bitand(ksppiflg/256,1),1,"TRUE","FALSE"), decode(bitand(ksppiflg/65536,3),1,"IMMEDIATE",2,"DEFERRED", 3,"IMMEDIATE","FALSE"), decode(bit and(ksppstvf,7),1,"MODIFIED",4,"SYSTEM_MOD","FALSE"), decode(bitand(ksppstvf,2,2,"TRUE","FALSE"), ksppdesc, ksppstcmnt from x$ksppi x, x$ksppcvy where (x.indx = y.indx) and ((translate(ksppinm,"_","#") notlike "#%") or (ksppstdf = "FALSE"))在这里我们看到GV$PARAMETER来源于x$ksppi,x$ksppcv两个X$表。 x$ksppi,x$ksppcv 基本上包含所有数据库可调整参数,v$parameter展现的是不包含"_"开头的参数。以"_"开头的参数我们通常称为隐含参数,一般不建议修改,但很多因为功能强大经常使用而广为人知。2023-07-12 17:30:151
Oracle 体系架构--Oracle存储
一,表空间 tablespace系统表空间 一定要online辅助表空间回滚表空间 一定要online临时表空间应用表空间SELECT * FROM Database_Properties 记录db级的一些参数的缺省值如缺省表空间,缺省临时表空间,缺省表空间类型1,创建表空间:create tablespace ts datafile "/u1/oradata/a/ts.dbf" size 10Mextent management local autoallocate 也可为unifom size 1Msegment space management auto; 也可为manual创建临时表空间:create temporary tablespace mytemp tempfile "/u1/oradata/a/mytemp.dbf" size 10Mextent management local uniform size 1Msegment space management manual;临时表空间只可以用uniform size 和 manual设定表空间为DB的默认表空间alter database default tablespace ts设定某临时表空间为DB的默认表空间alter database temporary tablespace mytemp查 Database_Properties发现默认表空间改变2,临时表空间组 (10g新特性)用于解决同一用户多个会话表空间争用问题创建临时表空间组(添加组员):alter tablespace mytemp tablespace group g1;alter tablespace mytemp2 tablespace group g1;产生一个组后产生一个数据字典:SELECT * FROM Dba_Tablespace_Groups 可查将用户的临时表空间设置成该临时表空间组alter user scott temporary tablespace g1将DB默认的临时表空间设为该临时表空间alter database default temporary tablespace g1;将临时表空间成员从临时表空间组中删除alter tablespace mytemp tablespace group "";v$tempfile 和 dba_temp_files区别?v$tempfile 在控制文件中,mount状态可读。dba_temp_files在数据文件中设计这两个功能相近的数据字典是为了恢复方便3,辅助表空间,SELECT * FROM v$sysaux_occupants; 可查看辅助表空间有哪些工具二,数据块标准块:大小和db_block_size一样的块非标准块:大小和db_block_size不一样的块块的大小块小:每一块中的记录少,并发概率小,但是块比较多,查询速度慢块大:并发概率大,但是查询速度快若建表是块大小已经比较大了,事后发现并发量太大如和做?调整pct_free复合型:在内存中每个块的缓冲区大小show parameter cache_size可查若内存中默认cache_size 为8k有一个表的块大小是16k,则需要在内存中开辟一段空间,器cache_size为16k。所以 cache中既有8k的空间又有16k的空间,所以称为复合型alter system set db_32k_cache_size=20M 把32k的cache设置为20M大小可用dump oracle最底层剖析来分析三,对象管理1,表:分类:a,normal 对表b,分区表(方便维护,可以提高性能)c,索引组织表(IOT)d,簇表 会减少链接的代价:当需要两个表连接时会生成一个簇表,查询时减少链接代价表的属性: SELECT * FROM Dba_Tables;logging :默认写日志,参照表空间的属性initextent:不指定默认和表空间一致pct_freepct_usedini_trans 事务槽的初始长度max_trans 事务槽的最大长度事务槽位于块头下面,当块中记录被修改了事务槽就记录一条,如事务槽最大长度为200那么当修改第201次记录且之前事务都没结束时会报错创建表时指定事务槽大小:create table aaa(a int) max_trans=3;rowid 逻辑地址:rowid是不存在任何块中,存在索引中前6位:对象ID(表或索引) Dba_Objects7-9位:对象所在文件ID Dba_Data_Files v$datafile10-15位:数据块ID,针对数据文件的16-18位:块内行号SELECT dbms_rowid.rowid_object(ROWID) AS obj#,dbms_rowid.rowid_relative_fno(ROWID) AS file#,dbms_rowid.rowid_block_number(ROWID) AS block#,dbms_rowid.rowid_row_number(ROWID) AS row#FROM scott.dept;查dept表中所有记录的rowidrowid 如何映射到块内的行的?通过查询索引,查到要查信息的rowid。通过rowid的信息查找到块以及块内的行号,若块中那行记录曾经alter并且新记录没有记录在原来的部位,则原来的部位会记录一个偏移量,从而找到该记录的新位置消除碎片的方法:(1)move (8i,9i)alter table ts move TBSNAME;show parameter user_segment 可查注意:move时全表锁,做完后重建索引(2)shink (10g新特性)原理:先排序后释放空间要先让表有行移动的功能:alter table test1 enable row movement排序:alter table test1 shink space compact释放空间:alter table test1 shink spaceshink过程不会引发行级触发器,但索引要重建(3)exp imp 备份恢复技术面试题:如何清空一个大表?若delete from 要写日志若truncate 只在数据字典中标记,并不删除数据释放区间;所以要删除一个大表应该先回落HWL在系统空闲的时候在释放空间:所以先truncate然后系统空闲时 alter table scott.tab1 deallocate unused keep 100m 释放到还剩100malter table scott.tab1 deallocate unused keep 0m 完全释放建表时设定不记录日志:create table scott.tab as select * from dba.objects nologging;删除表并释放空间:truncate table scott.tab1 reuse storage2,索引:在无索引的情况下:要查找empno=7369的人的name时,要全表扫描,即使找到一个还是要继续扫描全表有索引的情况下2023-07-12 17:30:221
如何查看Oracle数据库版本
查看办法如下:sqlplus,cmd---plsql,登陆用户,建议用sysdba权限的账户登陆。proct_component_version,SQL> select * from proct_component_version。即可查询到版本,例如:Oracle 9.0.1.1.2。9:版本号 0:新特性版本号 1(第一个):维护版本号 1(第二个):普通的补丁设置号码 2:非凡的平台补丁设置号码拓展资料:oracle 在英语里面是 “甲骨文” 的意思。在 IT 业里面 oracle 是美国一家著名的软件公司, 其核心产生品是 Oracle 数据库,这是最著名是用范围很广泛的大型关系型数据库。因而很多公司或计算机岗位要求具有 ORACLE 数据库的使用、维护或开发技术。精通 oracle 数据库,并取得 oracle 公司的官方认证(如 OCP) 的人在 IT业里很抢手,找份好的工作很容易,是金饭碗。2023-07-12 17:30:291
数据库软件的Oracle
oracle以前是用C,现在出的都是java开发的。MS sqlsever是用VC开发的。2023-07-12 17:30:471
SAP和Oracle的区别是什么?
是一个erp系统,sap公司的SAP是一个领先的ERP软件.Systems,Application,andProctsinDataprocessingSAPR/3软件具备以下功能和主要特点:功能性:R/3以模块化的形式提供了一整套业务措施,其中的模块囊括了全部所需要的业务功能并把用户与技术性应用软件相联而形成一个总括的系统,用于公司或企业战略上和运用上的管理。集成化:R/3把逻辑上相关联的部分连接在一起。重复工作和多余数据被完全取消,规程被优化,集成化的业务处理取代了传统的人工操作。灵活性:R/3系统中方便的裁剪方法使之具有灵活的适应性,从而能满足各种用户的需要和特定行业的要求。R/3还配备有适当的界面来集成用户自己的软件或外来的软件。开放性:R/3的体系结构符合国际公认的标准,使客户得以突破专用硬件平台及专用系统技术的局限。同时,SAP提供的开放性接口,可以方便地将第三方软件产品有效地集成到R/3系统中来。用户友好:图标与图形符号简化了人机交互时的操作。统一设计的用户界面确保了工作人员能够运用同样的熟悉的技术从事不通的工作。模块化:R/3的模块结构使用户既可以一个一个的选用新的实用程序,也可以完全转入一个新的组织结构体系。可靠:作为用户的商业伙伴SAP始终不断地为集成化软件的质量设立越来越多的国际标准。低成本高效益:信息处理是取得竞争优势的要点之一。当竞争加剧时,企业必须更加努力地获取其市场占有量。这就要使用高度集成化的数据处理软件,而R/3正是这种软件的优秀典范。国际适用:R/3支持多种语言,而且是为跨国界操作而设计的。R/3可以灵活地适应各国的货币及税物要求。服务:R/3系统实施过程中,用户将得到SAP技术专家的全面支持与服务,包括组织结构方面与技术方面的咨询,项目计划与实施方面的协助,以及培训课程。1972年,德国,曼海姆的IBM公司。任职销售顾问的HassoPlattner在等待着公司对自己建议的回复。他的建议就是开发财务软件包,用现成的软件包取代昂贵的定制应用。当IBM公司回绝了他的建议之后,他和4名做软件工程师的同事离开了IBM,白手起家创办SAP软件公司。而今,每天早上,世界500强中80%的公司都会进入由SAP公司提供的管理和协同商务平台,进行高效率的工作。一向好斗、性格倔强、勇于接受挑战的SAP联合主席兼首席执行官Plattner在经历了SAP的诸多风浪之后,当他看到SAP在软件市场低迷的情况下,2001年第三季度仍旧实现了赢利预期,前三个月的收入达到50亿欧元,收入增长率为23%,高兴地评论道:“虽然近来软件市场,特别是美国市场有巨大的变化,客户纷纷推迟软件的购买计划,但对于现在最有效的解决方案,企业还是愿意投资的。越来越多的企业转向SAP,因为他们相信SAP能给他们带来更高的投资回报率、更优秀的功能和便捷的集成。”这家总部位于德国沃尔多夫市,号称“全球最大的企业管理解决方案供应商、全球第三大独立软件供应商、全球领先的协同电子商务解决方案供应商”的软件巨人目前在全球的120多个国家和地区拥有1.65多万家客户,向全球提供基于“五大支柱”战略的产品,这就是mySAPSCM(供应链管理)、mySAPPLM(产品生命周期管理)、mySAPCRM(客户关系管理)、SAPPortals的EnterprisePortals(企业门户)和SAPMarkets的Exchanges(交易集市)。在全球,SAP拥有员工2.5万多名,在总部,SAP的开发人员有5000多名,而SAP的开发实验室和开发中心更是遍布全球多个角落。下面是他的某一个版本的介绍=========================SAPR/3软件具备以下功能和主要特点:功能性:R/3以模块化的形式提供了一整套业务措施,其中的模块囊括了全部所需要的业务功能并把用户与技术性应用软件相联而形成一个总括的系统,用于公司或企业战略上和运用上的管理。集成化:R/3把逻辑上相关联的部分连接在一起。重复工作和多余数据被完全取消,规程被优化,集成化的业务处理取代了传统的人工操作。灵活性:R/3系统中方便的裁剪方法使之具有灵活的适应性,从而能满足各种用户的需要和特定行业的要求。R/3还配备有适当的界面来集成用户自己的软件或外来的软件。开放性:R/3的体系结构符合国际公认的标准,使客户得以突破专用硬件平台及专用系统技术的局限。同时,SAP提供的开放性接口,可以方便地将第三方软件产品有效地集成到R/3系统中来。用户友好:图标与图形符号简化了人机交互时的操作。统一设计的用户界面确保了工作人员能够运用同样的熟悉的技术从事不通的工作。模块化:R/3的模块结构使用户既可以一个一个的选用新的实用程序,也可以完全转入一个新的组织结构体系。可靠:作为用户的商业伙伴SAP始终不断地为集成化软件的质量设立越来越多的国际标准。低成本高效益:信息处理是取得竞争优势的要点之一。当竞争加剧时,企业必须更加努力地获取其市场占有量。这就要使用高度集成化的数据处理软件,而R/3正是这种软件的优秀典范。国际适用:R/3支持多种语言,而且是为跨国界操作而设计的。R/3可以灵活地适应各国的货币及税物要求。服务:R/3系统实施过程中,用户将得到SAP技术专家的全面支持与服务,包括组织结构方面与技术方面的咨询,项目计划与实施方面的协助,以及培训课程。★生产计划和控制★销售与分销★物料管理★财务会计★管理会计★资产管理★系统技术基础2023-07-12 17:30:571
oracle打开请求
您要问的是oracle打开请求怎么操作吗?操作步骤如下。1、打开OracleSupport网站:在浏览器中输入support.oracle.com,进入OracleSupport网站。2、登录账号:使用Oracle账号登录OracleSupport网站。3、选择请求:在请求列表中,选择想要打开的请求,点击请求编号即可进入请求详情页面。2023-07-12 17:31:041
数据库是什么?Oracle又是啥玩意?
经常会有人问我数据库是干啥的,其实一开始我是拒绝回答的,因为我也不能做到通俗易懂的表达出来,毕竟我接触这个概念也没有多长时间,但随着问的人多了,我觉得是时候脑补一下我的第一堂课了,万一哪天冒出来个货跟你掰扯这事儿,你没分分钟给他说清,最后弄个丢里儿丢面儿,好尴尬呀。数据库,说白了就是按照数据结构来组织、存储和管理数据的仓库,这些数据是结构化的,并可为多种应用服务。也就是说,数据库是使用计算机服务器来存储数据的,专门用来提供各种数据服务。可以这样想像,过去一个公司的所有财务数据都是放在保险柜里面,而现在我们就可以针对这些财务数据搭建一个数据库放在某台计算机或服务器上面;再比如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个"数据仓库"我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种"数据库",使其可以利用计算机实现财务、仓库、生产的自动化管理。最常见的数据库有:银行储蓄系统、手机话费系统、美容美发会员系统、超市会员积分系统、水电费系统、机票或火车票系统等,这些都需要后台数据库基础设施的支撑。举了这么多例子,应该是把数据库说明白了,至少能在大脑里面有个概念,知道这个东西是干啥的。现在大数据被炒的红得发紫,而大数据的基础也是数据,由此可见,数据是一个企业的核心资源,说它是企业的立身之本、发展之基都不为过,因此,维护数据库的数据库管理员(DBA)是企业不可或缺的。目前市面上的数据库产品有很多,单从规模上分可分为大型、中型、小型几种,典型的数据库产品如下:大型数据库:Oracle、DB2、Sybase;中型数据库:MySQL、SQLServer、Infomix;小型数据库:Access、VisualFoxpro。在众多的数据库产品中,Oracle数据库一直处于行业领导先地位,也是当今最流行的关系型数据库。Oracle可翻译成"甲骨文",它是一家以数据库为主业的全球化公司,是全球第二大软件公司(第一名是微软公司),目前Oracle在数据库软件市场已经排名第一,数据库软件市场份额达到48.6%,遥遥领先于第二名占有率仅为20.7%的IBM公司的DB2。在中国市场上的计算机专业系统后台所使用的数据库尤以Oracle数据库居多。但是购买Oracle数据库需要很大一笔费用,一般的大型企业使用,需要有专业人员进行管理和维护,中小企业承担不起。中小企业为了节省成本,一般使用MySQL、PostgreSQL这类免费开源的数据库,所以Oracle数据库相关的工作岗位一般是在大型企业中。对于为什么选择Oracle数据库,而不是其他的数据库?第一,是因为Oracle数据库占据最大的市场份额,并且越来越大,市场需要很多Oracle数据库方面的人才,中国有句老话说"做对事,选对人",是同样的道理;第二,是很多非Oracle数据库的老系统正往Oracle数据库迁移,其他数据库市场占有率在减少,其他数据库工作者有面临失业的风险;第三,Oracle有大量的官方学习文档,还有部分中文文档,可以有效地进行学习;第四,Oracle有大量的从业人员,有共同方向的朋友可以互相帮助,不再是孤胆英雄;第五,是可以很容易地从Oracle官方网站下载功能齐全的数据库最新版本进行学习,可以让你了解数据库方面的最新发展趋势等。在此说明,以后的所有内容都是基于Oracle11g数据库产品的,下面我们就简单介绍一下Oracle11g的系列产品:企业版(EnterpriseEdition)此版本包含了数据库的所有组件,并且能够通过购买选项和程序包来进一步对其增强。能支持例如大业务量的在线事务处理OLTP(On-LineTransactionProcessing联机事务处理系统)环境、查询密集的数据仓库和要求苛刻的互联网应用程序。标准版1(StandardEditionOne)此版本为工作组、部门级和互联网、内联网应用程序提供了前所未有的易用性和性价比。从针对小型商务的单服务器环境到大型的分布式部门环境,该版本包含了构建重要商务应用程序所必需的全部工具。它仅许可在最高容量为2个处理器的服务器上使用,支持Windows/Linux/UNIX操作系统,并支持64位平台操作系统。标准版(StandardEdition)此版本提供了StandardEditionOne所不具有的易用性、能力和性能,并且利用真正的应用集群(RAC)提供了对更大型计算机和服务集群的支持。它可以在最高容量为4个处理器的单台服务器上、或者在一个支持最多4个处理器的集群上使用,可支持Windows、Linux和UNIX操作系统,并支持64位平台操作系统。简化版此版本支持与标准版1、标准版和企业版完全兼容的单用户开发和部署。通过将Oracle数据库获奖的功能引入到个人工作站中,该版本提供了结合世界上最流行的数据库功能的数据库,并且该数据库具有桌面产品通常具有的易用性和简单性,可支持Linux和Windows操作系统。从存储结构上来说,目前流行的数据库主要包含以下两种:RDBMS:关系型数据库,是指采用了关系模型来组织数据的数据库;NoSQL数据库,是指那些非关系型的、分布式的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系型数据库优点:1、容易理解二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。2、使用方便通用的SQL语言使得操作关系型数据库非常方便。3、易于维护丰富的完整性大大减低了数据冗余和数据部移植的概率。4、事务安全所有关系型数据库都不同程度的遵守事物的四个基本属性,因此对于银行、电信、证券等交易型业务是不可或缺的。关系型数据库的瓶颈:1、高并发读写需求网站的用户并发性非常高,往往达到每秒上万次读写请求,对于传统型数据库来说,硬盘I/O是一个很大的瓶颈。2、海量数据的高效率读写互联网上每天产生的数据量是巨大的,对于关系型数据库来说,在一张包含海量数据的表中查询,效率是非常低的。3、高扩展性和可用性在基于WEB的结构中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,数据库却没有办法像WEBServer和APPLICATIONServer那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。NoSQL数据库NoSQL一词首先是CarloStrozzi在1998年提出的。2009年再次提出了NoSQL一词,用于指那些非关系型的、分布式的,且一般不保证遵循ACID原则的数据存储系统。NoSQL具有以下特点:1、可以弥补关系型数据库的不足2、针对某些特定的需求而设计,可以具有极高的性能3、大部分都是开源的,由于成熟度不够,存在潜在的稳定性和维护性问题。关系型数据库适用于结构化数据,而非关系型数据库适用于非结构化数据,二者优势互补,相得益彰。Oracle数据库未来的发展方向是提供结构化、非结构化、半结构化的解决方案,实现关系型数据库和NoSQL共存互补。值得强调的是,目前关系型数据库仍是主流数据库。虽然NoSQL数据库打破了关系型数据库存储的观念,可以很好地满足WEB2.0时代数据的存储要求,但NoSQL数据库也有自己的缺陷。在现阶段的情况下,可以将关系型数据库和NoSQL数据库结合使用,相互弥补各自的不足。关于数据库及其代表产品Oracle今天就介绍这么多,有兴趣的可以继续深挖,希望我的介绍能让你对数据库有一个更深入的认识。如果有志于在这方面发展的话,就让我们一起跟往事干杯从头再来。2023-07-12 17:31:111
向oracle数据库中添加数据时提示ORA-00947:没有足够的值。
向oracle数据库中添加数据时提示ORA-00947: 没有足够的值。是表1的结构有4个column,显然插入的值只有三个,才会出现这个问题,再加个column的值。解决方法如下:1、首先在计算机中,打开Oracle的连接程序,用新建的数据库管理员,鼠标左键单击【服务器】按钮,如下图所示。2、接着,在【Oracle服务器】的窗口上,鼠标左键单击【SQL工作表】按钮,如下图所示。3、然后,在【SQL工作表】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,在提示窗口中没有查询出来,需要给这个用户重新创建表格。4、在【SQL工作表】的窗口上,输入创建表格的SQL语句,并单击【执行】按钮。5、可以看到SQL语句执行成功的提示信息。2023-07-12 17:31:181
oracle安装教程 详细的安装步骤
1、安装以win7 64位系统为例:将win64_11gR2_database_1of2win64_11gR2_database_2of2解压到同个文件夹下合并(可以直接左键框住右键点击一起解压),打开运行其中的setup开始安装。 2、稍后进入Oracle 11g安装界面,【配置安全更新】邮箱以及口令可以不写,点击下一步,出现提醒,直接点是即可。 3、【安装选项】直接选择默认创建和配置一个数据库(安装完Oracle后,系统会自动创建一个数据库实例)。 4、【系统类】个人用户直接选择默认的桌面类就可以了。 5、【典型安装】Oracle基目录,软件目录,和数据库文件目录,Oracle一般会自动帮你选择空间最大的盘和你解压文件的盘符,全部默认即可。管理口令需要输入(大写+小写+数字)的八位密码,也有网友指出此处可以随意设置简单好记的密码,无视软件提醒即可。 6、【先决条件检查】安装程序会检查软硬件系统是否满足此Oracle版本的最低要求,安装需要占用约2G的C盘空间,内存2G以上即可。如果还是通不过要求,选择全部忽略。 7、【概要】安装前的一些相关选择配置信息,点击完成。安装正在进行中,请耐心等待。 8、Oracle实例创建启动完成后,会自动创建安装一个实例数据库名称orcl123。安装完成,运行开始菜单>Oracle - OraDb11g_home1>Database Control - orcl123,以IE运行进入登录界面或打开ie直接输入https://localhost:1158/em即可 (此处如果出现证书错误的话,点击继续浏览此网站即可)。 9、登录界面,输入用户名SYS,口令为之前注册设置的管理密码,将连接身份改为SYSDBA,点击登录,成功之后你就可以管理你的数据库实例了。2023-07-12 17:31:551
oracle是应用软件吗
Oracle不是一个应用程序。oracle是系统软件;系统软件主要包括操作系统、数据库管理系统和服务程序,而应用软件是为完成某项特定工作和解决某些特定问题而编写的程序,oracle是甲骨文公司的关系数据库管理系统,属于系统软件。2023-07-12 17:32:031
ORACLE中有哪些数据类型
1、Oracle数据库的核心是表,表中的列使用到的常见数据类型如下:对应NUMBER类型的示例:对于日期类型,可以使用sysdate内置函数可以获取当前的系统日期和时间,返回DATE类型,用systimestamp函数可以返回当前日期、时间和时区。2、Oracle数据库提供了专为浮点数的两种数值数据类型:BINARY_FLOATBINARY_FLOAT是32位、单精度浮点数字数据类型。可以支持至少6位精度,每个BINARY_FLOAT的值需要5个字节,包括长度字节。3、Oracle本身是没有的这些数据类型的,但是integer是sql标准,所以也兼容的,如下,在oracle中是可以执行的。4、number类型就是包括了所有的数字类型。可以是integer也可以是numericOracle数据类型之numberoracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型。2023-07-12 17:32:121
oracle是硬件吗
不是。Oracle是一个历史悠久的关系型数据库管理系统,即不是硬件,支持ANSISQL(美国国家标准协会结构化查询语言),用于储存和检索复杂的数据,它可以在各种操作系统中使用,但是Orcale主要使用在以Linux和Windows系统上。硬件是计算机硬件的简称,是指计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。2023-07-12 17:32:191
Oracle数据库的实例是什么(oracle数据库和实例的关系)
数据库实例(instance_name)是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例。数据库名和实例名可以相同也可以不同。在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。用系统sysdba权限登录后:查询oracle实例的方法:方法一:sql”selectinstance_namefromv$instance“;方法二:使用show命令”showparameterinstance“。2023-07-12 17:32:271
oracle日期为什么最早是公元前4712年1月1日?是能追溯的 最早的人类文明吗?
不是最早的——最早的有700万年前了。2023-07-12 17:32:554
Oracle的索引类型
有两大类索引:唯一索引:对于被索引列,索引表中每一行包含一个唯一值;非唯一索引:行中的索引值可重复;从索引中读取数据的操作取决于使用的索引类型和查询中访问索引的方法。对于CTXCAT类型的索引来说,当对基表进行DML操作的时候,Oracle自动维护索引。对文档的改变马上反映到索引中。CTXCAT是事务形的索引。索引的同步在对基表插入,修改,删除之后同步索引。推荐使用sync同步索引。Oracle中的索引包含有如下几种类型:B*树索引:这是Oracle中最常用的索引,它的构造类似于二叉树,能根据键提供一行或一个行集的快速访问,通常只需要很少的读操作就能找到正确的行。在oracle中物理结构不一样。createindexINDEX_NAMEonTABLE_NAME(ACCNO,ZONENO,CINO)会根据ACCNO,ZONENO,CINO生成一个BTree索引树。createindexINDEX_NAMEonTABLE_NAME(ACCNO)。也是比较难于发现的性能问题之一。比如:bdcs_qlr_xz中的zjh是NVARCHAR2类型,在zjh字段上有索引。如果使用下面的语句将执行全表扫描。2023-07-12 17:33:021
用oracle创建用户和数据库登录
对于oracle来说创建数据库的时候,会有几个默认的用户,其中包括 scott、sys、system、sysman等几个用户,这几个用户不是你创建的,而是你建数据库的时候默认的用户。如果你在创建数据库的时候,用的是数据库统一口令,那么你输入的那个密码就是这所有默认用户的密码,如果你不是用的统一口令,那么你就回忆一下你sys设立的是哪个密码。输入这个密码就可以用sys以特权用户的身份登陆数据库。2023-07-12 17:33:101
oracle进程和数据库对应关系
一个Oracle数据库实例包括多个进程。一个Oracle数据库实例通常包括多个进程,这些进程一起协同工作以处理客户端请求、数据处理、事务管理等任务,以确保数据库的可靠性和高性能。Oracle进程是指在Oracle数据库实例运行期间所创建的进程,这些进程用于处理与这个实例相关的客户端请求和服务器端任务。2023-07-12 17:33:161
影响oracle数据库默认排序的因素
desc。1、oracle本身不具有任何默认排序功能,要想排序,必须使用orderby,而orderby后的数据行默认是asc(升序排列),要降序选择desc。2、oracle是按块进行读取数据的,Oracle会根据具体的数据块的存储返回记录,如果数据按顺序存储,则可能使读取出来的数据是按顺序的。2023-07-12 17:33:231
oracle安装卡在96%
导致oracle安装卡在96%的原因如下:1、网络传输慢:安装Oracle所需的文件需要通过网络下载或从远程服务器获取,会出现传输速度慢的情况。2、硬盘读写慢:计算机硬盘的读取速度较慢,会导致Oracle安装时间过长。3、安装参数设置不当:Oracle安装参数设置不当,也导致安装时间过长。在安装Oracle之前,需要对计算机进行系统优化和网络优化,确保计算机配置满足Oracle的运行要求,避免因计算机配置过低而导致的卡顿问题。2023-07-12 17:33:301
有谁可以告诉我,Oracle的主要组件是什么啊?
SQLServer2000的服务器端组件:1:SQLServerSQLServer在操作系统中,以服务的形式实现,具体表现为:MSSQLServerService,它是数据库管理系统的核心数据库引擎。该服务随系统启动运行;管理着整个SQLServer2000系统拥有的所有问题,是系统中唯一可以直接读取和修改数据的组件。客户对数据库的所有请求,最终会体现成一组Transact-SQL命令。MSSQLServerService负责协调和安排这些服务请求的执行顺序,然后逐步解释和执行SQL命令,并递交返回执行的结果。2:SQLServerAgent一直以来都不知道Agent用来干什么,今天查看了一些资料,解释如下:SQLServerAgent(SQL服务器代理)在操作系统中以服务的形式运行,体现为:SQLServerAgentService。SQLServerAgent为SQLServer提供调度服务,能够自动执行数据库管理员预先安排好的作业,监视SQLServer事件并根据事件触发警报或运行实现安排好的程序。通过配置和使用SQLServerAgent,可以实现数据库系统的定时与自动管理。SQLServerAgent必须和SQLServer一同使用。3:MSDTC(分布式事物协调器)MSDTC也是以服务的形式存在和运行,MSDTC是一个事物管理器,它允许客户的应用程序在一个事物中对分布在多个服务器上的数据源进行操作。4:MicrosoftSearchMicrosoftSearch是一个全文搜索和查询服务,是一个可选的组件,为数据库系统提供强大的查询能力,分为索引支持和查询支持两个功能。SQLServer2000客户端组件1:企业管理器企业管理器是图形化的集成管理工具,可以实现对SQLServer2000服务器的有效配置和管理。2:查询分析器SQLServer2000提供查询分析器作为编写Transact-SQL脚本程序的开发工具,通过彩色代码编辑器和上下文敏感帮助提高了应用程序的可用性3:SQLServer管理工具向导4:SQLServer命令提示管理工具2023-07-12 17:33:371
如何将oracle的日期格式转换为yyyymmdd?
oracle软件已经在中国使用了很多年,这种软件专业性特别强,而且数据库功能非常强大,它的数据库系统在银行业使用是比较多的,对于初学者来说,想踏入这个领域却不知道从哪儿开始学才好,还是从基础操作学起,日期格式转换也是大家在操作时经常用到的,下面来分享一下oracle日期格式转换yyyymmdd的操作方法,这是oracle的基础操作,都是由浅入深的。有各种软件的课程教程,非常适合想要自学的小伙伴。oracle日期格式转换yyyymmdd的操作教程:1.日期转化为字符串,我们以(以2016年10月20日为例),操作如下图所示。2.字符串和时间相互转换,操作如下图所示。3.查询某天是星期几,操作如下图所示。4.两个日期间的天数,操作如下图所示。以上就是oracle日期格式转换yyyymmdd的操作过程了,以上四种操作就是常用到的最基本的日期转换格式。2023-07-12 17:33:431
oracle使用什么保存运行期间的主要事件
oracle使用保存运行期间的主要事件的原因:1、日志文件(RedoLog):Oracle数据库在运行期间记录所有关键操作的日志信息,包括数据修改操作、事务开始和结束等。日志文件能够用于恢复数据库到某个特定的时间点或者故障发生前的状态。它包含了在数据库中发生的所有变更信息。2、归档日志文件(ArchiveLog):归档日志文件是指已经完成并关闭的RedoLog文件。Oracle数据库使用日志文件(RedoLog)和归档日志文件(ArchiveLog)来保存运行期间的主要事件。Oracle是一种关系型数据库管理系统(RDBMS),由Oracle公司开发和维护,它以可靠性、可扩展性和安全性而闻名,并被广泛应用于企业级应用程序和大型数据管理系统。2023-07-12 17:33:511
oracle数据库哪些函数(oracle数据库功能介绍)
1.单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果,比如:MOD(x,y)返回x除以y的余数(x和y可以是两个整数,也可以是表中的整数列)。常用的单行函数有:字符函数:对字符串操作。数字函数:对数字进行计算,返回一个数字。转换函数:可以将一种数据类型转换为另外一种数据类型。日期函数:对日期和时间进行处理。2.聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如SUM(x)返回结果集中x列的总和。2023-07-12 17:34:091
windows下怎么查看oracle的安装路径
查看oracle安装在本地的目录除了搜索注册表还可以怎么查询?查看oracle安装在本地的目录除了搜索注册表还可以怎么查询?windows下可以通过注册表查找ORACLE_HOMElinux或者unix,通过命令env|grepORACLE查看ORACLE_HOME变了对应的路径。拓展:OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。在桌面上找到Oracle的启动程序plsqldeveloper,并右键打开菜单。在打开的菜单界面中,找到属性选项,并点击打开。在跳转的属性界面面板中,找到目标选项,即为Oracle的安装路径。可以看出来,Oracle安装在是个目录里。如果你没有安装Oracle或者Oracle安装没成功,则不会显示文件路径出来。首先打开oracle程序并用管理员的用户名和密码登录。进入后点击“新建”建立一个新的SQL窗格。然后按照下图的代码输入窗格中。输入完毕即可点击齿轮按钮执行命令。使用“查看oracle中创建的所有目录”方法进行查询。查询语句:SQLconn/assysdba已连接。SQLcreatedirectorysscFjSscasD:hisdatasscfj目录已创建。windows下怎么查看oracle的安装路径windows下怎么查看oracle的安装路径1、在桌面上找到计算机,右键管理,点击服务和应用程序,双击服务,找到oracle;点击电脑左下角的开始--运行,输入sqlplus,回车。2、windows下可以通过注册表查找ORACLE_HOMElinux或者unix,通过命令env|grepORACLE查看ORACLE_HOME变了对应的路径。拓展:OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。3、虚拟光驱快速装载——选择你的Oracle数据库镜像——打开。点击setup。选择创建和配置数据库——点击下一步。选择桌面类——点击下一步。设置密码——点击下一步。点击完成。4、在ORACLE如何查看自己建立的所有表,而不是系统表?在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】,如下图所示。oracle数据库安装在什么地方oracle数据库安装在什么地方默认安装在磁盘空间最大的那个盘里面,在磁盘的根目录下面创建名为oracle的文件夹中。安装方法:虚拟光驱快速装载——选择你的Oracle数据库镜像——打开。点击setup。选择创建和配置数据库——点击下一步。首先解压下载下来的安装包,解压完成后,到相应路径下,找到【setup.exe】,双击运行,开始安装Oracle11g。这一步可将自己的电子邮件地址填写进去(也可以不填写,填了只会收到一些没什么用的邮件)。在安装的时候。oracle会默认存储在一个剩余空间较大的盘符下,同时一般不会在C盘,在安装的时候,第一个界面就是这个路径修改(仅限于windows安装,linux安装没有用过),还有就是当安装完成后。如何查看oracle的安装目录?如何查看oracle的安装目录?1、首先,用XSell工具连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。在linux命令行下输入shell指令:whereisoracle。2、windows下可以通过注册表查找ORACLE_HOMElinux或者unix,通过命令env|grepORACLE查看ORACLE_HOME变了对应的路径。拓展:OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。3、虚拟光驱快速装载——选择你的Oracle数据库镜像——打开。点击setup。选择创建和配置数据库——点击下一步。选择桌面类——点击下一步。设置密码——点击下一步。点击完成。正在安装和配置。4、在桌面上找到计算机,右键管理,点击服务和应用程序,双击服务,找到oracle;点击电脑左下角的开始--运行,输入sqlplus,回车。5、su-oracle切换至oracle用户,set查看环境变量找到ORACLE_HOME或者ORACLE_BASE(oracle的家目录和基目录)su-oracle切换至oracle用户,whichsqlplus查看sqlplus命令的位置。oracle怎么查看服务器配置?oracle怎么查看服务器配置?1、如果本机测试,可以不配置监听和连接串,直接使用用户名和密码就可以连接当然也可以使用按远程服务器配置一样使用NetConfigurationAssistant来配置连接串。2、通过命令来查看,如用户权限,表名,存储位置,版本等等。3、如果这些都安装了,你去配置一下监听文件tnsnames.ora即可。里面配置一下别名,IP,以及SID就可以。4、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。在命令行下输入shell指令:whereisoracle。最后,按下回车键执行shell指令,此时会看到数据库oracle的具体位置被打印了出来。5、察看本机oracle安装目录下的tns配置。HOME/network/admin/tnsnames.ora。6、oracle查看服务器IP方法。工具:plsql步骤:打开plsql,登录到指定数据库。2023-07-12 17:34:181
oracle怎么查看服务器配置?
1、如果本机测试,可以不配置监听和连接串,直接使用用户名和密码就可以连接当然也可以使用按远程服务器配置一样使用NetConfigurationAssistant来配置连接串。2、通过命令来查看,如用户权限,表名,存储位置,版本等等。3、安装了oracle客户端以及PLSQLdeveloper了吗?如果这些都安装了,你去配置一下监听文件tnsnames.ora即可。里面配置一下别名,IP,以及SID就可以。4、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。在命令行下输入shell指令:whereisoracle。最后,按下回车键执行shell指令,此时会看到数据库oracle的具体位置被打印了出来。5、察看本机oracle安装目录下的tns配置。HOME/network/admin/tnsnames.ora。6、步骤1:打开企业管理器,如下。步骤2:选择数据库,安全性,点击新建链接服务器。步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。步骤4:进行安全性设置。2023-07-12 17:34:251
如何使用oracle客户端?
首先去下载oracleclient客户端工具小编这里已经下载的有了,目录结构如下所示请点击输入图片描述打开PLSQL,点取消进去,然后弹出PLSQL主界面,找到菜单栏的tools选择属性preferences进去请点击输入图片描述请点击输入图片描述请点击输入图片描述弹出如下界面,配置oracleclient配置好两个设置项,点apply,然后点ok,关闭PLSQL,重启PLSQL请点击输入图片描述上边的两个填写项就是第一步中的目录,以及目录下的一个文件如下图所示,在哪个目录就对应的去找就可以了。请点击输入图片描述重启PLSQL进入到登录界面,输入相关信息,用户名密码,以及连接信息连接信息:可以是ip:1521/实例名也可以是network/admin目录下的tnsname.ora中配置的TNS别名。请点击输入图片描述连接进去成功之后可以随便写一个语句查查,是否正常select * from dual;请点击输入图片描述2023-07-12 17:34:321
启动oracle数据库命令
linux下可以用ipcs查看,windows下可以查看服务,也可以进到数据库里面看数据库当前状态 select status from v$instance,如果status = open 就说明oracle服务正常。oracle数据库文件结构:1、控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=“路径”。V$CONTROLFILE。2、数据文件:存储数据,以.dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。3、日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。4、参数文件:记录基本参数。spfile和pfile。5、警告文件:show parameter background_mp_dest=使用共享服务器连接6、跟踪文件:show parameter user_mp_dest=使用专用服务器连接2023-07-12 17:35:241
向oracle数据库中添加数据时提示ORA-0094。怎么解决?
向oracle数据库中添加数据时提示ORA-00947: 没有足够的值。是表1的结构有4个column,显然插入的值只有三个,才会出现这个问题,再加个column的值。解决方法如下:1、首先在计算机中,打开Oracle的连接程序,用新建的数据库管理员,鼠标左键单击【服务器】按钮,如下图所示。2、接着,在【Oracle服务器】的窗口上,鼠标左键单击【SQL工作表】按钮,如下图所示。3、然后,在【SQL工作表】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,在提示窗口中没有查询出来,需要给这个用户重新创建表格。4、在【SQL工作表】的窗口上,输入创建表格的SQL语句,并单击【执行】按钮。5、可以看到SQL语句执行成功的提示信息。2023-07-12 17:35:301
查看oracle安装在本地的目录除了搜索注册表还可以怎么查询?
windows下可以通过注册表查找ORACLE_HOMElinux或者unix,通过命令env|grepORACLE查看ORACLE_HOME变了对应的路径。拓展:OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。在桌面上找到Oracle的启动程序plsqldeveloper,并右键打开菜单。在打开的菜单界面中,找到属性选项,并点击打开。在跳转的属性界面面板中,找到目标选项,即为Oracle的安装路径。可以看出来,Oracle安装在是个目录里。如果你没有安装Oracle或者Oracle安装没成功,则不会显示文件路径出来。首先打开oracle程序并用管理员的用户名和密码登录。进入后点击“新建”建立一个新的SQL窗格。然后按照下图的代码输入窗格中。输入完毕即可点击齿轮按钮执行命令。使用“查看oracle中创建的所有目录”方法进行查询。查询语句:SQLconn/assysdba已连接。SQLcreatedirectorysscFjSscasD:hisdatasscfj目录已创建。2023-07-12 17:36:071
oracle数据库哪些函数(oracle数据库功能介绍)
1、OracleDatabase,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。2、函数可以认为是一个输入端一个输出端的转换程序。3、OracleSQL提供了用于执行特定操作的专用函数。这些函数大大增强了SQL语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。4、比如SilverStream就是基于数据库的一种中间件。2023-07-12 17:36:151
oracle报错is not a valid date and time的原因是什么
oracle报错is not a valid date and time的原因是系统错误导致的,具体解决方法步骤如下:1、首先打开计算机,在计算机内找到【更改日期和时间设置】选项并单击。2、然后在界面内使用鼠标单击【更改日期和时间设置(D)...】选项。3、然后在弹出的界面内找到【更改日历设置】选项并单击。4、然后将日期格式中的短日期从yyyy/M/d修改成yyyy-M-d即可解决oracle报错is not a valid date and time的问题了。2023-07-12 17:36:221
SAP和Oracle的区别是什么?
是一个erp系统,sap公司的 SAP是一个领先的ERP软件. Systems ,Application,and Procts in Data processing SAP R/3软件具备以下功能和主要特点: 功能性:R/3以模块化的形式提供了一整套业务措施,其中的模块囊括了全部所需要的业务功能并把用户与技术性应用软件相联而形成一个总括的系统,用于公司或企业战略上和运用上的管理。 集成化: R/3把逻辑上相关联的部分连接在一起。重复工作和多余数据被完全取消,规程被优化,集成化的业务处理取代了传统的人工操作。 灵活性:R/3系统中方便的裁剪方法使之具有灵活的适应性,从而能满足各种用户的需要和特定行业的要求。R/3还配备有适当的界面来集成用户自己的软件或外来的软件。 开放性:R/3的体系结构符合国际公认的标准,使客户得以突破专用硬件平台及专用系统技术的局限。同时,SAP提供的开放性接口,可以方便地将第三方软件产品有效地集成到R/3系统中来。 用户友好:图标与图形符号简化了人机交互时的操作。统一设计的用户界面确保了工作人员能够运用同样的熟悉的技术从事不通的工作。 模块化:R/3的模块结构使用户既可以一个一个的选用新的实用程序,也可以完全转入一个新的组织结构体系。 可靠:作为用户的商业伙伴SAP始终不断地为集成化软件的质量设立越来越多的国际标准。 低成本高效益:信息处理是取得竞争优势的要点之一。当竞争加剧时,企业必须更加努力地获取其市场占有量。这就要使用高度集成化的数据处理软件,而R/3正是这种软件的优秀典范。 国际适用:R/3支持多种语言,而且是为跨国界操作而设计的。R/3可以灵活地适应各国的货币及税物要求。 服务:R/3系统实施过程中,用户将得到SAP技术专家的全面支持与服务,包括组织结构方面与技术方面的咨询,项目计划与实施方面的协助,以及培训课程。 1972年,德国,曼海姆的IBM公司。任职销售顾问的Hasso Plattner在等待着公司对自己建议的回复。他的建议就是开发财务软件包,用现成的软件包取代昂贵的定制应用。 当IBM公司回绝了他的建议之后,他和4名做软件工程师的同事离开了IBM,白手起家创办SAP软件公司。 而今,每天早上,世界500强中80%的公司都会进入由SAP公司提供的管理和协同商务平台,进行高效率的工作。一向好斗、性格倔强、勇于接受挑战的SAP联合主席兼首席执行官Plattner在经历了SAP的诸多风浪之后,当他看到SAP在软件市场低迷的情况下,2001年第三季度仍旧实现了赢利预期,前三个月的收入达到50亿欧元,收入增长率为23%,高兴地评论道: “虽然近来软件市场,特别是美国市场有巨大的变化,客户纷纷推迟软件的购买计划,但对于现在最有效的解决方案,企业还是愿意投资的。越来越多的企业转向SAP,因为他们相信SAP能给他们带来更高的投资回报率、更优秀的功能和便捷的集成。” 这家总部位于德国沃尔多夫市,号称“全球最大的企业管理解决方案供应商、全球第三大独立软件供应商、全球领先的协同电子商务解决方案供应商”的软件巨人目前在全球的120多个国家和地区拥有1.65多万家客户,向全球提供基于“五大支柱”战略的产品,这就是mySAP SCM(供应链管理)、mySAP PLM(产品生命周期管理)、mySAP CRM(客户关系管理)、SAP Portals 的Enterprise Portals(企业门户)和SAPMarkets 的Exchanges(交易集市)。 在全球,SAP拥有员工2.5万多名,在总部,SAP的开发人员有5000多名,而SAP的开发实验室和开发中心更是遍布全球多个角落。 下面是他的某一个版本的介绍 ========================= SAP R/3软件具备以下功能和主要特点: 功能性:R/3以模块化的形式提供了一整套业务措施,其中的模块囊括了全部所需要的业务功能并把用户与技术性应用软件相联而形成一个总括的系统,用于公司或企业战略上和运用上的管理。 集成化: R/3把逻辑上相关联的部分连接在一起。重复工作和多余数据被完全取消,规程被优化,集成化的业务处理取代了传统的人工操作。 灵活性:R/3系统中方便的裁剪方法使之具有灵活的适应性,从而能满足各种用户的需要和特定行业的要求。R/3还配备有适当的界面来集成用户自己的软件或外来的软件。 开放性:R/3的体系结构符合国际公认的标准,使客户得以突破专用硬件平台及专用系统技术的局限。同时,SAP提供的开放性接口,可以方便地将第三方软件产品有效地集成到R/3系统中来。 用户友好:图标与图形符号简化了人机交互时的操作。统一设计的用户界面确保了工作人员能够运用同样的熟悉的技术从事不通的工作。 模块化:R/3的模块结构使用户既可以一个一个的选用新的实用程序,也可以完全转入一个新的组织结构体系。 可靠:作为用户的商业伙伴SAP始终不断地为集成化软件的质量设立越来越多的国际标准。 低成本高效益:信息处理是取得竞争优势的要点之一。当竞争加剧时,企业必须更加努力地获取其市场占有量。这就要使用高度集成化的数据处理软件,而R/3正是这种软件的优秀典范。 国际适用:R/3支持多种语言,而且是为跨国界操作而设计的。R/3可以灵活地适应各国的货币及税物要求。 服务:R/3系统实施过程中,用户将得到SAP技术专家的全面支持与服务,包括组织结构方面与技术方面的咨询,项目计划与实施方面的协助,以及培训课程。 ★生产计划和控制 ★销售与分销 ★物料管理 ★财务会计 ★管理会计 ★资产管理 ★系统技术基础2023-07-12 17:36:571
oracle可以多个账号吗?
可以。根据酷米网查询显示oracle可以多个账号。而且可以在使用应用程序时在不同账户之间轻松切换。2023-07-12 17:37:161
oracle报错is not a valid date and time怎么办?
oracle报错is not a valid date and time的原因是系统错误导致的,具体解决方法步骤如下:1、首先打开计算机,在计算机内找到【更改日期和时间设置】选项并单击。2、然后在界面内使用鼠标单击【更改日期和时间设置(D)...】选项。3、然后在弹出的界面内找到【更改日历设置】选项并单击。4、然后将日期格式中的短日期从yyyy/M/d修改成yyyy-M-d即可解决oracle报错is not a valid date and time的问题了。2023-07-12 17:37:231
什么是OracleRAC
RAC(RealApplicationCluster,真正应用集群)是Oracle9i数据库中采用的一项新技术,也是Oracle数据库支持网格计算环境的核心技术。它的出现解决了传统数据库应用中面临的一个重要问题:高性能、高可伸缩性与低价格之间的矛盾.2023-07-12 17:37:561