数据库操作与管理语言OracleSQL教书育人匠:胡琦光本章目标介绍Oracle公司Oracle下载安装Oracle用户类型EnterpriseManager管理工具SQL*Plus管理工具数据库基础知识:数据库的发展网状数据库关系数据库对象数据库关系数据库的特点约束安全主流的数据库Oracle–主要版本:oracle9i,oracle10g,oracle11g。MSSQLServerDB2MySQLSybase数据库产品:数据库公司跨平台收费/开源其他OracleOracle是收费/不开源目前非常流行的数据库最成功的数据库产品。DB2IBM是收费/不开源晚于Oracle的RDBMSSybaseSybase是收费/不开源SqlServer微软MS否收费/不开源在NET上应用广泛。MySQLOracle是免费/开源开源组织的优秀数据库产品于2008年被SUN公司收购,后来SUN又被Oracle收购。Oracle的发展iteye:最右边这个拉里.爱利森是Oracle的创始人,而第二位布鲁斯则是Oracle的核心设计师。然而在Oracle成功以后V3,scott即离开了Oracle。Scott也是oracle的一个默认用户名,tiger是scott的密码,而tiger是scott家的一只小猫的名字。BruceScott为什么在上面的简介中没有BruceScott呢?由于Scott已经在Oracle3.0版本还没有开发完成时,由于工这个核心工程师压力太大而离开了Oracle。以下是从google找到的相关scott的说明。Oracle公司简介Oracle(甲骨文)公司1977年6月,LarryEllison,BobMinor和EdOates三人合伙创办(SoftwareDevelopmentLaboratories,SDL)1979年,更名为RelationalSoftwareInc.,RSI1983年,为了突出核心产品,RSI更名为Oracle1997年6月,Oracle第八版发布2002年04月26日,启用“甲骨文”作为中文注册商标2003年9月,Ellison宣布下一代数据库产品“Oracle10g”,“g”代表“grid,网格”2007年11月,Oracle11g正式发布,功能上大大加强2013年06月26日,最新版本Oracle12c正式发布。Oracle11g数据库产品企业版(EnterpriseEdition)此版本是为企业级应用设计的标准版(StandardEdition)此版本是为部门或工作组级应用设计的。也适用与中小企业标准版1(StandardEditionOne)此版本是为部门,工作组级或Web应用设计的。简化版(Express)此版本近支持要求与企业版和标准版完全兼容的单用户开发环境和部署环境。安装Oracle11g下载地址下载安装文件,以下是适合Windows32位操作系统的文件Oracle11g服务器相关文件win32_11gR2_database_1of2.zipwin32_11gR2_database_2of2.zipOracle11g客户端相关文件win32_11gR2_client.zip下载安装前的准备工作:OracleEE安装要求:1、物里内存至少1G,建议2~4G。2、交换空间是物理内存的两倍3、空闲空间(/tmp目录)至少1G4、需要一个名称为oracle的系统帐户5、需要名称为dba和oinstall的用户组6、不少于4G的disk空间。OracleXE安装要求:内存最低配置为128MB,建议使用256MB硬盘交换分区至少是400MB或者是内存的二倍以上也可以限制:最多保存4G数据。默认数据库管理员用户在安装Oracle数据库时,自动创建用户名SYS和SYSTEM,用户密码在安装时被设定,并自动授予数据库管理员(DBA)的角色。SYS用户这个账号具有所有数据库管理的功能,所有数据库数据字典中的基本表和视图都存储在用户SYS的方案(Schema)中,这些基本表和视图对于Oracle数据库的操作都非常重要。SYSTEM用户该账号除了不能用于数据库备份及恢复、数据库升级外,可以执行其他所有的日常管理管理工作。启动SQL*Plus连接数据库在Windows环境下,可以通过命令行方式和Windows菜单两种方式启动SQL*Plus操作命令行方式启动SQL*Plus1.打开DOS窗口2.配置操作系统环境变量(有时可省略)3.可以使用以下命令启动SQL*Plussqlplus{用户名|/}[assysdba]例如:sqlplusSYSASSYSDBA输入口令:password远程连接到其他机器:sqlplussys/pwd@192.168.56.103/ORCLassysdba;Windows菜单启动SQL*Plus依次点击:开始所有程序Oracle-OraDb11g_home1应用程序开发SQLPlus打开登录窗口之后,输入用户名及密码SQL*Plus编辑器使用SQL*Plus可以方便的编辑和管理编程的过程,其中包括编辑命令、保存命令、加入注释、运行命令、编辑交互命令、使用绑定变量、跟踪语句等。以下是Sqlplus工具:命令行登录Sqlplus:Sqlplus是Oracle的SQL编写工具。在Oracle10及以前的版本中,还有一个sqlplusw工具。目前已经被SqlDeveloper工具所替代。Sqlplus的使用非常简单,以scott/tiger用户为例。Sqlplus远程登录:D:netca然后根据图形对话框进行相应的配置之后,以图方式连接(或查看远程连接图解)。OracleDatabase的基本概念Oracle数据库是一个物理概念。Oracle为数据文件放在oradata/orcl中。Oracle实例是一个逻辑概念。将数据文件读取到内存中就是实例。Oracle数据库和Oracle实例Oracle服务器由两大部分组成,Oracle数据库和Oracle实例。Oracle数据库:位于硬盘上实际存放数据的文件,这些文件组织在一起,成为一个逻辑整体,即为Oracle数据库.因此在Oracle看来,“数据库”是指硬盘上文件的逻辑集合,必须要与内存里实例合作,才能对外提供数据管理服务。Oracle实例:位于物理内存里的数据结构.它由一个共享的内存池和多个后台进程所组成,共享的内存池可以被所有进程访问.用户如果要存取数据库(也就是硬盘上的文件)里的数据,必须通过实例才能实现,不能直接读取硬盘上的文件。区别:实例可以操作数据库;在任何时刻一个实例只能与一个数据库关联;大多数情况下,一个数据库上只有一个实例对其进行操作。Oracle数据库的结构:Oracle的体系结构包括三个方面:物理结构逻辑结构内存结构PGA/SGA一个实例只会有一个SGA.全局共享区。PGA,一个连接,就是一个PGA(程序全局区);Oracle数据库,采用两阶段提交。物理结构数据文件-DataFile–用于保存数据库中的全部数据。如表、数据和索引。数据文件一般以*.dbf命名。日志文件-RedoLogFile–用于记录数据库所做任何变更(CRUD),以便于在数据库发生错误时,恢复数据。通常以log*.dbf/*.log命名。控制文件-ControlFile–每一个Oracle数据库,都有相应的控制文件,它们是较小的二进制文件。用于记录数据库的物理结构。如数据库名,数据库的数据文件、日志文件位置等信息。通常以ctrl*.ctl命名。配置文件–配置文件记录了Oracle数据库的一些重要参数,如数据块大小,内存结构的配置等等。通常以init*.ora格式命名。–这些文件我们不可以直接操作,只可以通过Oracle实例去操作这些文件。物理结构:这是配置文件逻辑结构:Oracle数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数据。逻辑结构包括表空间、段、区、数据块和模式对象。数据库的逻辑结构将支配一个数据库如何使用系统的物理空间.模式对象及其之间的联系则描述了关系数据库之间的设计.一个数据库从逻辑上说是由一个或多个表空间所组成,表空间是数据库中物理编组的数据仓库,每一个表空间是由段(segment)组成,一个段是由一组区(extent)所组成,一个区是由一组连续的数据库块(databaseblock)组成,而一个数据库块对应硬盘上的一个或多个物理块。一个表空间存放一个或多个数据库的物理文件(即数据文件).一个数据库中的数据被逻辑地存储在表空间上。逻辑结构:表空间(tablespace)Oracle数据库被划分为一个或多个称为表空间的逻辑结构,它包括两类表空间,System表空间和非System表空间,其中,System表空间是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。除此之外,还能包含用户数据。每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间数据库块(databaseblock)数据库块也称逻辑块或ORACLE块,它对应磁盘上一个或多个物理块,它的大小由初始化参数db-block-size(在文件init.ora中)决定,典型的大小是2k。区(extent)区是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位。段(segment)段是一个或多个不连续的区的集合,它包括一个表空间内特定逻辑结构的所有数据,段不能跨表空间存放。Oracle数据库包括数据段、索引段、临时段、回滚段等。模式对象(schemaobject)Oracle数据库的模式对象包括表、视图、序列、同意词、索引、触发器、存储.过程等。逻辑结构:数据库的逻辑和物理结构-关系图内存结构当在计算机服务器上启动Oracle数据库后,称服务器上启动了一个Oracle实例(Instance)。ORACLE实例(Instance)是存取和控制数据库的软件机制,它包含系统全局区(SGA)和ORACLE进程两部分。SGA是系统为实例分配的一组共享内存缓冲区,用于存放数据库实例和控制信息,以实现对数据库中数据的治理和操作。Oracle的客户端:在Oracle安装好以后,可以在远程,连接并操作Oracle数据库。Oracle提供了instanceclient简易客户端工具:Instancelient11.2的配置Instanceclient11.2的中文乱码解决方案添加客户机环境变量NLS_LANG=SIMPLIFIEDCHINESE几个与语言有关的表:–Nls_database_parameters–数据库编码–V$nls_parameters–客户端–Nls_session_parameters-本次会话sqlDeveloper界面客户端工具:这个没有乱码问题。SQLDeveloper客户端:本章总结介绍Oracle公司Oracle下载安装Oracle用户类型EnterpriseManager管理工具SQL*Plus管理工具