当前位置: 首页 > news >正文

有什么做家常菜的网站网站制作的基本概念

有什么做家常菜的网站,网站制作的基本概念,wordpress下载面板插件,网站内页做友链1. 背景及问题 今天在Oracle BCV技术[1]做数据同步#xff0c;建立生产库的测试库#xff0c;需要DBA配合同步前后的停库和起库。在同步完起库后#xff0c;有部门反应同步好的测试库连接不上去。 2. 问题排查 以我当前的知识储备#xff0c;能想到的可能就是以下几点进… 1. 背景及问题 今天在Oracle BCV技术[1]做数据同步建立生产库的测试库需要DBA配合同步前后的停库和起库。在同步完起库后有部门反应同步好的测试库连接不上去。 2. 问题排查 以我当前的知识储备能想到的可能就是以下几点进行检查 数据库实例状态是不是没有open --- select status from v$instance; 监听器状态,是不是监听没起来 --- lsnrctl status|start Oralce黑白名单配置问题 --- $ORACLE_HOME/network/admin/sqlnet.ora 客户端 tnsnames.ora 配置问题连接符写错了 --- tnsping 网络连接问题端口是否开放 --- ping IP 、 telnet IP 1521 这些都不是由于情况紧急测试环境等着用部门同事再三提示下我还是不知道他们说的那个参数---LOCAL_LISTENER这个就是引起这次数据库连接不上的罪魁祸首导师一下就解决了 我把生产的服务名拿到测试库注册了导致测试库没有对外提供网络连接只能通过本地访问数据库通过将LOCAL_LISTENER该参数重置成默认参数、置空或者修改测试库的服务名就解决了总之就是使测试库对外提供网络连接但上面的问题还存在一个非常大的安全隐患下面细说 3. 事后回顾 今天这个任务的流程是这样的停库 --- BCV同步测试数据 --- 起库1、3步骤是需要DBA配合来做的因为是从其他库同步过来的数据再数据库启动阶段Oracle会做一个数据库启动验证其实就是对比各个文件数据是否一致是否需要恢复首先Oracle启动时会检查数据文件头中的checkpoint cnt是否与对应控制文件中的checkpoint cnt一致如果一致进行第二次检查数据文件头的开始scn和对应控制文件中的结束scn是否一致如果结束scn等于开始scn则不需要要对那个文件进行恢复没问题启动数据库。 我拿其中一部分操作步骤来说今天这次事故发生的原因 刚刚从生产同步过来的测试库需要经历启动验证这个阶段回过来数据库起库三阶段 加载参数文件 --》startup nomount 加载控制文件 --》startup mount 加载数据文件等所有文件--》startup 打开到open 同步过来的测试库可能有日志文件不一致先以RESETLOGS方式起库 扩展一Resetlogs 与 NoResetlogs 的区别 alter database open RESETLOGS; 找到测试库控制文件位置在后面的参数文件修改成本库的 show parameter control_files 重点来了关库去同步的生产库创建一份参数文件 create pfile/home/oracle/inittxxxx.ora from spfile; 用生产库的参数文件起测试库这份参数文件我只修改了两个参数 *.cluster_databaseFALSE control_files 其中有关参数文件参数的介绍和管理部分可参考我之前发的一篇文章 Oracle 文件管理-参数文件、控制文件、归档 - 墨天轮 其中忽略了一个参数也就是本文的主角 local_listener-本地监听服务的名称。 测试库起库 shutdown immediate; startup mount pfile/home/oracle/inittxxxx.ora; ---用pfile文件起库 alter database noarchivelog; alter database open; 先介绍一下LOCAL_LISTENER参数该参数指定了数据库PMON进程需要将数据库实例注册到哪个端口参数文件是这样配置的 local_listener *.local_listenerLISTENER_1523,LISTENER_TUX,LISTENER_1529,LISTENER 扩展二local_listener 与 remote_listener 设置监听 如果没有设置这个参数PMON进程默认将数据库的服务注册到本地节点的1521端口这还好说我偏偏就指定了这个参数这个参数是用于本地监听的服务名也就是说我把生产的服务名拿到测试库注册了。有什么影响呢他可能会把当前的服务名按照连接符去生产在注册一遍。 所以问题解决了为什么连不上库因为没有该库没有对外提供测试库的监听业务想要连接数据库需要通过网络连接即Listener连接到服务器但是测试库参数指定的监听服务的名称是生产库的外面肯定连接不上来。 扩展三连接(访问)数据库的两种方式LOCALNO 和 LOCALYES Oracle的监听就类似与开发中的封装思想 将对象的属性和方法隐藏起来通过公开的接口提供对这些属性和方法的访问。 而Oracle监听器Listener责管理客户端与数据库实例之间的连接当客户端发起连接请求时监听器接收该请求并将其引导至适当的数据库服务。监听器隐藏了数据库实例的复杂性只对外提供统一的接口——服务名和连接字符串让客户端不需要了解数据库实例的具体配置和位置也可提供服务。 Oracle Listener 可以视为数据库的“前门”它通过监听网络上的连接请求封装了数据库的物理细节比如IP地址、端口号、实例名等Oracle 将客户端和服务器彻底隔离开来客户端通过配置的连接字符串、服务名就可以连接到数据库而不需要知道数据库的内部结构和配置细节对于客户端来说它不用关心数据库的名字、实例名到底是什么它只需要知道数据库对外提供服务。 关于数据库的访问这里引用一下盖总《深入解析Oracle》一书中的介绍 数据库启动之后要想提供网络服务通过远程连接访问我们还需要启动数据库的监听器(配置文件通常为 listener.ora)监听器用于在特定的端口上(缺省的端口是 1521)提供监听接收来自客户端的访问请求(客户端请求通过 tmnsnames.ora 文件定义发送)。在专用服务器模式下(Dedicated Server)监听器会为每个请求衍生一个服务器进程相对应通过这个服务器进程将客户端与数据库联系起来。下图描述了建立网络连接时客户端以及服务器端的相关文件及关系: 该书虽然出版的早但是文章对Oracle数据库的讲解非常全面通俗易懂很适合当学习教材。 常用的配置文件介绍 以下是Oracle网络配置文件的简洁描述 ldap.ora 配置LDAP目录名称解析允许通过LDAP查询数据库服务信息。 cman.ora 配置Oracle连接管理器参数用于管理和路由客户端连接。 tnsnames.ora 配置本地或远程客户端的本地名称解析定义数据库服务的网络地址映射。 listener.ora 配置监听器的注册信息指定监听的数据库服务和网络参数。 sqlnet.ora 配置服务器或客户端的网络协议支持、解析方式、安全、认证等设置。 上面提到测试库注册了生产库的服务名但是因为是是别名在测试库的tnsname.ora里并没有识别到还有一种写法可以直接写连接符如下 SQL alter system set local_listenerADDRESS(PROTOCOLTCP)(HOST192.168.60.101)(PORT1521); SQL show parameter local_listener; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ local_listener string (ADDRESS(PROTOCOLTCP)(HOST192.168.60.101)(PORT1521)) 但如果测试库的tnsname.ora配置了一样的名字成功识别到了这些信息将信息注册到生产库上会造成什么影响呢可能有两种可能 1、服务名一样IP一样 2、服务名一样IP不一样 4. 测试和验证- Oracle测试库与生产库使用相同服务名的影响分析及验证 后面单独写一篇文章来测试吧 5. 总结 — Oracle 客户端无法连接之监听的分析流程 还有什么情况连接不上数据库欢迎大家在评论区补充 6. 参考文章 架构师深入解析Oracle BCV技术oracle bcv Oracle 文件管理-参数文件、控制文件、归档 - 墨天轮 扩展一控制文件中关于 Resetlogs 和 NoResetlogs 的区别 RESETLOGS 会重置在线重做日志文件并重新开始日志序列号。通常在不完全恢复或数据库克隆时用。RESETLOGS之后之前的日志和备份将不再有效因此必须重新创建全备份。通常用在不完全恢复、 数据库复制或克隆 、 备份丢失或不全的场景下。 NORESETLOGS 则保持现有的日志序列号不会创建新的日志文件。通常在完全恢复时使用能够继续使用现有的备份和日志文件不需要立即重新备份数据库。 通常在不使用备份控制文件恢复的情况下是可以使用 noresetlog 方式打开数据库的。 前提是不能丢失日志文件。假若丢失了控制文件和数据文件但还是想以 noresetlog打开的话就必须手动以noresetlogs方式重建控制文件而且redolog 的状态都必须正常 其他恢复情况失控制文件及各种日志REDOLOG、所有的不完全恢复包括SCNTIME跨越 REDO都必须使用 resetlogs重置日志肯定会丢数据只能恢复到日志当前的数据。 在同步完测试库后控制文件会去读数据文件头中与 CHECKPOINT SCN 对应的 RBA 信息来确定从那个序列的归档日志开始恢复一直推进恢复到 NEXT SCN 是无穷大的那个 REDOLOG此时恢复是完全恢复的但打开的时候还要以 resetlogs 方式打开。 并且有些情况Oracle是允许以不一致的状态打开数据库可以创建一份参数文件指定数据库的DBIDallow_resetlogs_corruption参数手工起库但这可能导致数据库进一步损坏。因此此参数应仅在没有其他恢复选项且需要立即访问数据库时使用。 扩展二local_listener 与 remote_listener 设置监听 1、LOCAL_LISTENER 参数配置 首先将监听的信息添加到 tnsnames.ora 文件中。 动态注册监听时要从 tnsnames.ora 中读取相关信息。 LISTENER_PRODFS (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 192.168.66.101)(PORT 1521)))然后以 sys 用戶修改 local_listener 参数 SQL alter system set local_listenerLISTENER_PRODFS; 也可以不使用别名直接指定连接符加服务器模式 QL alter system set LOCAL_LISTENER(ADDRESS (PROTOCOL TCP)(HOST 192.168.66.101)(PORT 1521)); 这样在 DB 启动的时候就会自动的把 instence_name 和 service_name 注册到监听。 如果在这期间监听重启了监听里的信息也会丢失这时就需要手动的把信息注册到监听 SQL alter system register; 2. REMOTE_LISTENER 参数配置 REMOTE_LISTENER 参数指定了远程监听器的地址用于支持远程连接。配置远程监听器时需要在 tnsnames.ora 文件中添加相应的监听器信息 LISTENERS_DB01 (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST 192.168.66.101)(PORT 1521))(ADDRESS (PROTOCOL TCP)(HOST 192.168.66.102)(PORT 1522)))) 测试配置是否正确可以使用 tnsping 命令 $ tnsping LISTENERS_DB01 在所有节点上设置远程监听器 SQL ALTER SYSTEM SET REMOTE_LISTENERLISTENERS_DB01 SCOPEBOTH; ⭐此外还有还有一个参数listener_networks用来增加一个监听用来使用专门的网络传输归档日志到DG库这样不会影响业务。 参考MOS[ID 1063571.1]How to Configure A Second Listener on a Separate Network in 11.2 Grid Infrastructure 扩展三连接(访问)数据库的两种方式LOCALNO 和 LOCALYES 在Oracle数据库中连接到数据库可以通过两种主要方式本地连接LOCALYES和非本地连接LOCALNO。 非本地连接LOCALNO 非本地连接也称为网络连接通过监听器Listener与数据库服务器进行通信。在这种方式下客户端应用程序通过本地监听器将请求发送到服务器端监听器。服务器端监听器接收请求后将其转发到数据库实例数据库实例执行操作并将结果返回给客户端。因此客户端需要配置监听器信息通常在tnsnames.ora文件中进行设置。 本地连接LOCALYES 本地连接直接在数据库服务器上进行不经过网络监听器。在这种模式下即使服务器上的监听器未启动 通过本地的 sqlplus 还是可以连上数据库的 。
http://www.w-s-a.com/news/812844/

相关文章:

  • 网页设计模板的网站黄埔营销型网站建设
  • 企业为什么要建立网站江苏高校品牌专业建设工程网站
  • 网站建设公司需要交税么福建省城乡建设厅网站
  • dedecms网站首页网站正在建设中 源码下载
  • 论坛网站有哪些怎么wordpress主题
  • 网站搭建中企动力第一返利的网站怎么做
  • 在哪网站可以做农信社模拟试卷优衣库网站建设的目的
  • 杭州网站建设ttmwl网络平台推广公司
  • 工作室网站技能培训班
  • 东丰网站建设万盛网站制作
  • 安徽黄山网站建设wordpress 公众号 获取密码
  • 自己电脑做网站模板腾讯网站建设分析
  • 如何增加网站反链虚拟主机 2个网站
  • 手机网站调用分享wordpress.org移除
  • 工业和信息化部网站备案系统查询市场调研表模板
  • 网站流量转化线下推广活动有哪些
  • 030159网站建设与维护宝安网站公司
  • 个人网站备案网站内容做gif表情包网站
  • 湖南省建设厅城乡建设网站怎么建立一个网站网址
  • 图书馆网站建设的规章制度免费个人主页注册
  • 表格网站源码wordpress更换网站域名
  • 芜湖做网站多少钱做公司的网站的需求有哪些
  • 玉溪网站建设制作凌风wordpress百度云
  • 专业建网站价格门户网站建设 请示
  • 安徽省省博物馆网站建设佛山公司网站设计
  • 温州专业营销网站公司网络建设规划
  • 做模型常说的d站是什么网站wordpress 繁體
  • 给网站做h5缓存机制获取小程序api
  • 网站开发文档东莞市建设网站首页
  • 公共空间设计网站企业门户网站建设教程