已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
讲义,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进程写入日志文件。,5.2Oracle数据库标识,Oracle数据库的几个概念和标识类参数,一定要搞清楚,以免在实际应用中出现错误。5.2.1数据库名数据库名是区分一个数据库的内部标识。1.确定数据库名.Oracle数据库安装的同时要创建一个数据库(实例),并确定数据库名。.修改数据库名要同时修改PFILE文件和控制文件。原则上不允许修改。2.数据库名的位置在数据库参数文件PFILE(INIT.ORA)中,用参数DB_NAME表示。3.数据库名的作用.创建数据库、控制文件、修改库结构、备份数据库时需要数据库名。.数据库名做为物理文件结构的存放目录。D:OracleOradata数据库名。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.ORA,5.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.EDU,SOUTH,NORTH,ORA2,ORA1,ORA2,ORA1,5.缺省数据库域名(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主目录networkadmin目录下。.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/samoracletnsnames查找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主目录NetworkAdminTnsnames.oraorcl=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fwq)(PORT=1521)(CONNECT_DATA=(SERVICE_NAME=oracle)3.配置Listener.ora位置:Oracle主目录NetworkAdminListener.oraListener.ora包含两个部分内容:LISTENER-部分描述了主机地址、端口及协议SID_LIST_LISTENER部分描述对外提供数据库服务的列表,5.3.4客户端配置1.客户端连接时五个重要参数:用户名、密码、IP地址、端口号、服务名。2.客户端成功连接到数据库服务器要求.需要安装适当的客户端软件(例如OracleClient).正确配置sqlnet.ora.正确配置tnsnames.ora5.3.5解析客户端与服务器连接过程要求:服务器端服务器的实例已启动数据库已装入监听器LISTENER.ORA已启动客户端SQLNET.ORA配置正确TNSNAMES.ORA配置正确当在客户端输入:SQLPLUSscott/tigerorcl或CONNECTscott/tigerorcl此命令包含用户名、口令、连接字符串。重点分析连接字符串orcl。,查看客户端的SQLNET.ORA的解析方式。NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME,ONAMES)根据TNSNAMES解析方式查看TNSNAMES文件,找连接描述符orcl。得到主机=fwq、监听器端口=1521、服务名=oracle。建立用户进程,去查找服务器的监听器LISTENER。得到主机=fwq、监听器端口=1521、路径=D:Oracle、服务名=oracle。建立服务器进程,连接到数据库用户scott,LISTENER使命完成。,5.4关于SYS用户,SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户。在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的口令,以保证数据库的安全。5.4.1Oracle登入身份当用户登入数据库时,以什么身份登入决定了用户所有的系统权限。登入数据库的身份有normal、sysdba、sysoper三种。1.Normal普通用户身份,只有通过被授权(GRANT)之后才可以对数据库进行操作。2.Sysoper数据库操作员身份,登入后用户是PUBLIC。只能登入SYS用户。主要权限:.打开/关闭数据库服务器.备份/恢复数据库.日志归档/会话限制,3.Sysdba数据库管理员身份。Sysdba拥有特殊权限,登陆后用户是SYS,而且只有SYS用户才能登录sysdba。主要权限:.打开/关闭数据库服务器.备份/恢复数据库.日志归档/会话限制.创建/管理数据库5.4.2SYS用户的登入方法有多种方式可以登入SYS用户,而且没有启动Oracle数据库时也可以登入SYS用户。下面是几种登入SYS用户的方式。首先进入SQLPLUS状态:Csqlplus/nolog然后分别按下列方式登入SYS用户。SQLconnect/assysdbaSQLconnectsys/assysdbaSQLconnectsysassysdbaSQLconnectsys/xmanagerassysdba,5.4.3SYS用户口令验证方法以SYS用户登入数据库时,关系到口令管理权问题。Oracle8i以上版本采用了两种口令验证方式。看下图:1.操作系统验证在WINDWS操作系统下SYS口令验证是操作系统进行的。方法如下:操作系统用户是管理员账户。一般为Administrator。安装数据库时在操作系统中自动创建了用户组ORA_DBA,该组特权是MenberscanconnecttotheOracleDatabaseasaDBAwithoutapassword。该操作系统用户属于ORA_DBA组。满足以上三条时登入SYS用户,按操作系统验证不用输入口令。,2.Oracle验证SYS用户登入数据库,要验证口令,用Oracle方式验证口令。方法如下:修改参数文件(INIT.ORA)中参数:REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE其中INIT.ORA文件在Oracle主目录DatabaseEXCLUSIVE-表示仅有一个实例可以使用口令文件。SHARED-表示口令文件可以供多个实例使用。修改SQLNET.ORA文件中设置,在下列行前加上#号注释掉:#SQLNET.AUTENTICATION_SERVICES=(NTS)其中#号注销了操作系统方式验证的语句SQLNET.ORA文件在Oracle主目录NetworkAdmin在完成上面两项修改后重新启动数据库,即可按Oracle方式验证口令。此时登入SYS用户必须输入正确的口令。SQLconnectsys/xmanagerassysdba,5.4.4SYS用户口令修改在Oracle验证SYS口令方式下,丢失口令将无法启动数据库。1.在Oracle主目录database中,删除口令文件WPD.ORA。通过命令orapwd重新创建口令文件。Corawpsfile=路径pwdpassword=新口令entries=n其中pwd.ORAsid是数据库名。entries是可以保存的记录个数例:Corawpsfile=oracledatabasewpdoracle.orapassword=abc123entries=152.使用system用户进行口令更改当丢失SYS用户口令,但知道SYSTEM用户口令时采用的方式。登入system用户后,在SQL状态下执行下列语句:SQLalterusersysidentifiedbyabc123,要启动和关闭数据库,必须要以具有Oracle管理员权限的用户登陆。通常也就是以具有SYSDBA权限的SYS用户登陆。5.5.1数据库的启动启动数据库必须先以DBA方式连接数据库,一般以SYS用户登入。.在DOS提示符下输入:CSqlplus/nolong-进入SQL状态。.在SQL状态下输入:SQLConnect/assysdba-按SYSDBA方式登入SYS用户。通过以下三个步骤启动数据库:.启动一个Oracle实例(非安装阶段).由实例安装数据库(安装阶段).打开数据库(打开阶段)Startup命令可通过不同选项来控制数据库的不同启动步骤。1.分步启动方式STARTUPNOMOUNT;读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。启动一个Oracle实例。,5.5数据库启动与关闭,ALTERDATABASEMOUNT;安装数据库。ALTERDATABASEOPEN;打开数据库。2.单步方式启动STARTUP;启动一个Oracle实例,安装数据库并打开数据库。3.OPEN方式启动STARTUPMOUNT;启动一个Oracle实例,安装数据库。ALTERDATABASEOPEN;正常方式打开数据库。4.READONLY方式启动STARTUPMOUNT;启动一个Oracle实例,安装数据库。ALTERDATABASEOPENREADONLY;只读方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全力以赴项目成功承诺书8篇范文
- 2026年度个人投资顾问服务合同范本
- 小学主题班会课件:诚信之根正直之花
- 供应链物流优化与效率提升方案
- 文明之星温馨之室小学主题班会课件建言
- 投资风险承担管理保证承诺书(5篇)
- 团结友爱共进步和谐班级谱新篇,小学主题班会课件
- 交通物流业多式联运系统设计与优化方案
- 电子商务支付系统安全设计指南
- 研发项目技术评估问卷功能点与用户体验评价
- 搬运无损伤地面施工方案
- 城市供水管网工程施工方案
- DB36∕T 1926-2023 井冈蜜柚采后商品化处理技术规程
- 内瘘静脉狭窄个案护理
- 长郡集团2025年上期初三期末考试历史试卷
- 草原防火宣传课件
- (零诊)成都市2023级(2026届)高中毕业班摸底测试英语试卷(含答案)
- 2025年中海油招聘笔试参考题库附带答案详解
- 2025年全国新高考I卷高考全国一卷真题英语试卷(真题+答案)
- 实验室认证质量管理制度
- 合同转包协议书范本
评论
0/150
提交评论