基于已经接触过关系型数据库 SQL Server,对数据库、表、记录、表的增删改查操作等这些基本的概念已经了解。Oracle是基于对象的关系型数据库,Oracle也是用表的形式对数据存储和管理,并且Oracle增加了一些面向对象的思想。
Oracle 数据库是 Oracle(中文名称叫甲骨文)公司的核心产品,Oracle 数据库是一个适合于大中型企业的数据库管理系统。在所有的数据库管理系统中 (比如:微软的 SQL Server,IBM 的 DB2 等) ,Oracle 的主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务和跨国公司等。Oracle 产品是免费的,可以在 Oracle 官方网站上下载到安装包,另一方面 Oracle 服务是收费的。Oracle 公司成立以来,从最初的数据库版本到 Oracle7、Oracle8i、Oracle9i,Oracle10g到 Oracle11g,虽然每一个版本之间的操作都存在一定的差别,但是 Oracle 对数据的操作基本上都遵循 SQL 标准。因此对 Oracle 开发来说版本之间的差别不大。
Oracle 主目录位置就是 Oracle 准备安装的位置,称为“Oracle_Home” ,一般 Oracle 根据当前计算机的硬盘大小默认给出一个合适的位置。Oracle 安装时可以只安装 Oracle 软件,然后单独创建数据库,也可以在上图中选中“创建启动数据库”复选框,在安装 Oracle 产品时,同时创建一个数据库,对初学者来说,推荐这样安装。填写全局数据库名,以及管理员的密码。全局数据库名是数据库在服务器网络中的唯一标识。
数据库创建后会有一系列为该数据库提供服务的内存空间和后台进程, 称为该数据库的实例。 每一个数据库至少会有一个实例为其服务。 实例中的内存结构称为系统全局区 (SGA) ,系统会根据当前计算机系统的性能给 SGA 分配非常可观的内存空间。
Oracle创建数据库不能像SQL Server那样用一个简单的CREATE DATABASE命令就能完成,在创建数据库的过程中还需要配置各种参数。虽然有 DBCA 工具向导,但是仍然需要进行比较麻烦的配置。
虽然一个 Oracle 数据库服务器中可以安装多个数据库,但是一个数据库需要占用非常大的内存空间,因此一般一个服务器只安装一个数据库。每一个数据库可以有很多用户,不同的用户拥有自己的数据库对象(比如:数据库表) ,一个用户如果访问其他用户的数据库对象,必须由对方用户授予一定的权限。不同的用户创建的表,只能被当前用户访问。因此在 Oracle 开发中,不同的应用程序只需使用不同的用户访问即可。
Oracle 服务器安装成功后,就可以通过客户端工具连接 Oracle 服务器了,可以到 Oracle官方下载 Oracle 专用的客户端软件,大多客户端工具都是基于 Oracle 客户端软件的。接下来介绍几种常用的 Oracle 客户端工具。? SQL*Plus 工具该工具是 Oracle 系统默认安装下,自带的一个客户端工具。在 Windows 命令行中输入“sqlplusw”命令,就能够启动该工具了。
输入用户名和密码后,如果 SQL*Plus 与数据库服务器在同一台计算机上,并且当前服务器下只有一个数据库实例,那么“主机字符串”可以不用填写
SQL*Plus 命令行工具该命令行工具,提供了与数据库交互的能力和维护数据库的能力,包括了 Oracle 自带的 SQL*Plus 工具的全部功能,在 Oracle 管理中经常使用。在命令行中输入: “sqlplus /nolog”即可启动该工具。
Oracle 数据库中,默认情况下,所有系统的数据,SQL 关键字等都是大写的,在操作过程中, Oracle 会自动把这些内容转换为大写, 因此用户操作时不需考虑大小写问题,一般情况下,为了良好的程序风格,程序中建议关键字用大写,非关键字可以使用小写。
Oracle数据库学习1--简介,基本了解
标签:
小编还为您整理了以下内容,可能对您也有帮助:
数据库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能轻松的实现数据仓库的操作。
这是一个技术发展的趋势,不在这里讨论。
优点
■ 可用性强
■ 可扩展性强
■ 数据安全性强
■ 稳定性强
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比较下的联网协议:
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 39816
Variable Size 259812784
Database Buffers 1.049E+09
Redo 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(*)
--
243
Elapsed: 00:00:00.08
这是在Share_pool 和Data buffer 都没有数据缓冲区的情况下所用的时间
SQL alter system flush SHARED_POOL;
System altered.
清空Share_pool,保留Data buffer
SQL select count(*) from scpass ;
COUNT(*)
--
243
Elapsed: 00:00:00.02
SQL select count(*) from scpass ;
COUNT(*)
--
243
Elapsed: 00:00:00.00
从两句SQL 的时间差上可以看出该SQL 的Parse 时间约为00:00:00.02
对于保存在共享池中的SQL语句,可以从V$Sqltext、v$Sqlarea中查询到,对于编程者来说,要尽量提高语句的重用率,减少语句的分析时间。一个设计的差的应用程序可以毁掉整个数据库的Sharepool,提高SQL语句的重用率必须先养成良好的变成习惯,尽量使用Bind变量。
数据字典缓冲区(Data Dictionary Cache)
显而易见,数据字典缓冲区是ORACLE特地为数据字典准备的一块缓冲池,供ORACLE内部使用,没有什么可以说的。
上文的内容相对来说还是很基础的,所以对于刚刚入门的初学者来说,学习初期,好好的研究一下本文中介绍的内容,相信对大家的入门学习会很有帮助的。