Oracle数据库讲义(第五章)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

讲义Oracle数据库2009.3李明俊第五章Oracle连接配置结构及数据库启动与关闭本章内容5.1Oracle连接配置结构5.2Oracle数据库标识5.3Oracle网络配置5.4关于数据库的SYS用户5.5数据库启动与关闭5.1Oracle连接配置结构连接配置结构是指客户端和服务器端的连接方法。在客户机服务器工作方式下,用户执行两个代码模块来完成对数据库实例的访问。一是客户端应用向数据库发出SQL命令;二是服务器软件负责解释和处理来自客户的SQL语句。Oracle数据库的有3中连接结构。5.1.1组合用户与服务器结构在这种连接方式中,客户端与服务器同处一台机器中,对于每一个用户,其客户端应用程序与服务器程序组合成单个服务器进程。全局区(SGA)服务器进程客户端应用服务器软件5.1.2专用服务器结构(DEDICATEDSERVER)在这种连接方式中,客户端与服务器端是分开的机器。用户进程与服务器进程一一对应的。每一个用户进程就有一个服务器进程为之服务。专用服务器的工作过程①客户端向服务器应用请求,同时产生用户进程。②服务器向用户返回连接成功信息,并为创建一个专用服务器进程。③客户直接与专用服务器进程进行交互,在共享池处理SQL语句。④交互在PGA中建立一个专用SQL区,专用服务器检查用户存取权限。⑤服务器进程从SGA的数据缓存区读取相应数据块。⑥处理结果返回给用户。⑦修改后的数据由DBWR进程写入数据文件,日志由LGWR进程写入日志文件。用户进程服务器进程数据缓存区日志缓存区共享池库缓冲字典缓冲全局区(SGA)数据文件日志文件程序区PGAProgramGlobalArea排序区5.1.3多线程服务器结构(MULTITHREADEDSERVER)多线程服务器结构(MTS结构,也叫共享服务器)。在这种结构下允许多个用户进程连接到少数的服务器进程。由调度进程Dnnn来管理用户进程与服务器进程交互。下面是多线程服务器MTS的工作过程:①客户端向服务器应用请求,同时产生用户进程。②服务器向用户返回连接成功信息,调度进程把请求放入请求队列中。③服务器进程在请求队列中检索用户发出的SQL语句,并在共享池处理SQL语句。④服务器进程把处理完的结果放入响应队列中。⑤调度进程检查响应队列把请求结果送回用户进程。⑥修改后的数据由DBWR进程写入数据文件,日志由LGWR进程写入日志文件。用户进程服务器进程Snnn请求队列:::全局区(SGA)服务器进程Snnn响应队列D001调度进程D001响应队列D002响应队列D003调度进程D002调度进程D0035.2Oracle数据库标识Oracle数据库的几个概念和标识类参数,一定要搞清楚,以免在实际应用中出现错误。5.2.1数据库名数据库名是区分一个数据库的内部标识。1.确定数据库名.Oracle数据库安装的同时要创建一个数据库(实例),并确定数据库名。.修改数据库名要同时修改PFILE文件和控制文件。原则上不允许修改。2.数据库名的位置在数据库参数文件PFILE(INIT.ORA)中,用参数DB_NAME表示。3.数据库名的作用.创建数据库、控制文件、修改库结构、备份数据库时需要数据库名。.数据库名做为物理文件结构的存放目录。D:\Oracle\Oradata\数据库名。4.数据库名查询select*fromv$database;select*fromv$parameterwherename='db_name';5.2.2Oracle实例名(INSTANCENAME)Oracle实例名是区分一个数据库的外部标识,操作系统标识。1.确定Oracle实例名Oracle数据库安装的同时要创建一个数据库,并确定缺省Oracle实例名。2.Oracle实例名的位置在数据库参数文件PFILE(INIT.ORA)中,用参数INTANCE_NAME表示。3.Oracle实例名与数据库名关系数据库名与实例名之间是一一对应关系,有一个数据库名就有一个实例名(单服务器下)。Oracle实例名与数据库名可以不同。4.Oracle实例名查询select*fromv$instance;select*fromv$parameterwherename='instance_name';5.2.3数据库环境变量名ORACLE_SIDORACLE_SID是数据库环境变量名,但它作为操作系统环境变量来使用。1.ORACLE_SID的产生确定数据库名同时ORACLE_SID被写入WINDOWS注册表中。2.ORACLE_SID的位置在WINDOWS注册表:HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOMEn中。3.INSTANCE_NAME与ORACLE_SID的区别.INSTANCE_NAME是数据库参数,是数据库内部参数。.ORACLE_SID是操作系统环境变量,是数据库外部参数。.INSTANCE_NAME=ORACLE_SID(默认),可以不一致。.ORACLE_SID名被用于参数文件INIT.ORA名,变成INIT$ORACLE_SID.ORA。例:设实例ORACLE_SID名='ORA9i',则INIT.ORA==INITORA9i.ORA5.2.4数据库域名DB_DOMAIN数据库域名是在分布式系统中唯一区分数据库的网络域名。1.确定数据库域名Oracle数据库安装的同时要创建一个数据库,并确定数据库域名。商业大学网络南区数据库域名SOUTH.HRBCU.EDU北区数据库域名NORTH.HRBCU.EDU2.数据库域名的位置在数据库参数文件PFILE(INIT.ORA)中,用参数DB_DOMAIN表示。3.数据库域名查询select*fromv$parameterwherename='db_domain';直接打开INIT.ORA文件查看DB_DOMAIN参数值。4.全局数据库名(GLOBAL_DNAME)数据库名+数据库域名南区全局数据库名:ORA1.SOUTH.HRBCU.EDUORA2.SOUTH.HRBCU.EDU北区全局数据库名:ORA1.NORTH.HRBCU.EDUORA2.NORTH.HRBCU.EDU全局数据库名查询:selectglobal_namefromglobal_name;HRBCU.EDUSOUTHNORTHORA2ORA1ORA2ORA15.缺省数据库域名(US.ORACLE.COM)没有设数据库域名时,认为缺省域名。此时数据库名=全局数据库名。5.2.5数据库服务名SERVICE_NAMES数据库服务名是全局数据库名。有数据库域名时:数据库服务名=全局数据库名没有数据库域名时:数据库服务名=数据库名1.数据库服务名的作用在设置网络连接时使用数据库服务名。服务器端网络连接设置时参数名:SERVICE_NAME客户端网络连接设置时参数名:SID2.数据库服务名的位置在数据库参数文件PFILE(INIT.ORA)中,用参数SERVICE_NAMES表示。3.数据库服务名查询select*fromv$parameterwherename='service_names';直接打开INIT.ORA文件查看SERVICE_NAMES参数值。5.3Oracle网络配置Oracle数据库的网络配置是通过OracleNet(旧版SQL*NET)进行的。5.3.1OracleNet(SQL*NET)1.OracleNet有多种叫法,SQL*NET、NET8、NET等。主要有两种功能。①OracleNet是图形界面的工具。用来配置服务器和客户端连接配置文件。共有三个配置文件。.服务器端配置文件有SQLNET.ORATNSNAMES.ORALISTENER.ORA。.客户端配置文件有SQLNET.ORATNSNAMES.ORA。②OracleNet是数据库服务器与客户机之间的数据通讯协议。2.OracleNet实现机制①用户向服务器发出连接请求,并生成用户进程。②用户进程通过OracleNet来与服务器交互,并生成服务器进程。③服务器进程则与Oracle数据库实例进行交互。④数据库实例通过后台进程交互来完成数据库的读写操作。⑤处理结果由服务器进程通过OracleNet返回给用户进程。5.3.2三个配置文件三个配置文件都在Oracle主目录\network\admin目录下。.tnsnames.ora--用于配置本地客户端或远程客户端的本地名称解析。.listener.ora--用于配置侦听器的相关注册信息。.sqlnet.ora--用于配置服务器或客户端所支持的解析方式。1.SQLNET.ORA文件SQLNET.AUTHENTICATION_SERVICES=(NTS)NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME,ONAMES).客户端连接Oracle服务器时验证方式:SQLNET.AUTHENTICATION_SERVICESNTS—表示操作系统身份验证。NONE--表示Oracle数据库身份验证。.连接字符串的解析方式:NAMES.DIRECTORY_PATH对于登入语句:SQLCONNECTsam/sam@oracletnsnames—查找TNSMANES文件中oracle字符串来解析;hostname--把oracle当作一个主机名,通过网络的途径去解析;onames—用自己的名称服务器(OracleNameServer)来解析。2.TNSNAME.ORA文件文件放在需要访问Oracle数据库的客户端机器上,配置了客户端访问数据库的地址。它对应sqlnet.ora中的NAMES.DIRECTORY_PATH=(TNSNAMES)。ORCL=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fwq)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)--专用#(SERVER=SHARED)--共享(SERVICE_NAME=oracle)))PROTOCOL—网络通讯协议,一般都是TCP协议。HOST—主机名货主机IP地址。PORT--数据库正在侦听的端口,一般是1521。SERVICE_NAME—数据库服务名。SERVER—数据库访问方式。专用和共享两种,一般采用专用方式。连接字符串连接描述符3.Listener.ora文件Listener.ora是监听器配置文件。接受远程用户对数据库的接入申请并转交给oracle的服务器进程。LISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fwq)(PORT=1521)))SID_LIST_LISTENER=(SID_DESC=(GLOBAL_DBNAME=oracle)(ORACLE_HOME=D:\Oracle)(SID_NAME=oracle)).Listener是监听器的名字,内容与连接字符串一样,其中端口PORT一定与TNSNAME.ORA中的端口一致。一个数据库可以配置多个监听器。.SID_LIST_LISTENER指出监听器LISTENER的实例(SID_NAME)和它对应的ORACLE_HOME及GLOBAL_DBNAME。其中GLOBAL_DBNAME在TNSMAN解析下可以省略。5.3.3服务器配置1.服务器端配置参数:协议(PROTOCOL)主机名或IP地址(HOST)端口(PORT)服务名(SERVICE_NAME)2.配置tnsnames.ora位置:Oracle主目录\Network\Admin\Tnsnames.oraorcl=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fwq)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=oracle)))3.配置Listener.ora位置:Oracle主目录\Network\Admin\Listener.oraListener

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功