仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3027|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之Oracle Faq(Oracle TAF的设置装备摆设)

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
#
发表于 2015-2-16 00:28:32 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
把例子全部敲进去试验,完成一遍以后就会有心得了,因为你会发现为啥我的程序和书上的一模一样就是结果不正确。新手学习的时候必须承认,不容易,因为我也是过来人,你会发现原来有那么多常用的语句,函数都要记。oracle   如需转载,请注明出处!(刁馋在此先谢过了……)
Oracle TAF的设置装备摆设

TAF为Transparent Application FailOver的缩写,普通使用TAF都是在OPS/RAC情况中。从8i入手下手有的这一功效,目标和设法都是很好的,但今朝使用还很无限,本文将针对TAF相干成绩作个具体切磋。

本文的测试情况是Tru64 V5.1+ Oracle9.2.0.1 RAC。

1、相干参数的申明

说假话oracle关于收集的几个设置装备摆设参数真的是太乱了,良多人都弄不清究竟是怎样回事,罕见的毛病为:
"ORA-12514 :TNS:listener could not resolve SERVICE_NAME given in connect descriptor" 和
"ORA-12154 :TNS: Could not resolve service name"
本色都是一样的,要处理如许的成绩需求咱们弄情几个参数:

initsid.ora中的几个参数:
DB_NAME --- database name,即建数据库时所供应的称号。
GLOBAL_NAMES --- True/false,设定是不是利用数据库域名。
DB_DOMAIN --- 数据库域名,假如GLOBAL_NAMES=True则请求供应这个参数。
SERVICE_NAMES --- service names list,办事称号,可以有多个。

INSTANCE_NAME --- instance name,和SERVICE_NAMES一样从817入手下手撑持,即从817入手下手可以将数据库、实例和办事称号分隔。默许instance_name的值为instance的SID,即情况变量ORACLE_SID所对应的值。在817之前没有instance_name参数时,分歧的instance是以SID来辨别的。依照oracle817今后的文档注释:SID是为了区分统一主机上各instance的同享内存,并非instance的独一区分标示,而instance_name则是区分各个instance的。

情况变量:
ORACLE_SID --- 在817之前没有instance_name参数时,分歧的instance是以SID来辨别的(具体申明见下面的initsid.ora参数注释)。

listener.ora中的几个参数:
GLOBAL_DBNAME --- 全局数据库称号,在散布式情况中独一肯定分歧的数据库。它的值为initsid.ora中DB_NAME和DB_DOMAIN的组合,即GLOBAL_DBNAME=DB_NAME.DB_DOMAIN,个中DB_DOMAIN假如没有设此处也就不需求了。这个参数在散布式情况中建议明白指定。
SERVICE_NAME --- 办事称号,取initsid.ora中service_names list至一便可。
SID_NAME --- 对应情况变量ORACLE_SID的值。
INSTANCE_NAME ---对应初始化参数instance_name。

tnsnames.ora中的几个参数:
service_name --- 办事称号,取initsid.ora中service_names list至一便可。
sid_name --- 可以简写成:sid,对应ORACLE_SID,也能够是初始化参数instance_name,当等于instance_name且instance_name不等于ORACLE_SID时,oracle会主动注册一个监听历程,此用以辨别分歧的instance。
instance_name --- 从817入手下手有了这个新的参数可使用,对应初始化参数instance_name。

如许一来,参数就很庞杂了,不外咱们实践利用其实不会用固然十月复杂越好了。

2、相干参数设置

上面我将举例申明相干参数的设置:
1、情况变量:ORACLE_SID=rac1/2

2、initsid.ora:
db_name=ora92
service_names = ora92
instance_name=rac1/2
global_names=false
db_domain=""

3、listener.ora:
SID_LIST_RAC1 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora92)
(ORACLE_HOME = /oracle/oracle9/app/oracle/product/9.2.0)
(SERVICE_NAME=ora92)(SID_NAME = rac1)
)
)

SID_LIST_RAC2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora92)
(ORACLE_HOME = /oracle/oracle9/app/oracle/product/9.2.0)
(SERVICE_NAME=ora92)(SID_NAME = rac2)
)
)

RAC1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.1)(PORT = 1522))
)
)
)

RAC2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.3.2)(PORT = 1522))
)
)
)

3、TAF的设置
其实TAF设置很复杂,在tnsnames.ora中添加failover=on便可,有两种分歧的设置办法:
1、公用一个tns name体例:==================================================
myrac =
(description=
(load_balance=on)
(failover=on)
(address= (protocol=tcp)(host=10.1.3.1)(port=1522))
(address= (protocol=tcp)(host=10.1.3.2)(port=1522))
(connect_data= (service_name=ora92)
(failover_mode=(type=select)(method=basic)(retries=20)(delay=20))
)
)
==========================================================================

2、指明instance backup体例:===============================================
rac1 =
(description=
(load_balance=on)
(failover=on)
(address= (protocol=tcp)(host=10.1.3.1)(port=1522))
(connect_data= (service_name=ora92)
(failover_mode=(type=select)(method=basic)
(backup=rac2)(retries=20)(delay=20))
)
)

rac2 =
(description=
(load_balance=on)
(failover=on)
(address= (protocol=tcp)(host=10.1.3.2)(port=1522))
(connect_data= (service_name=ora92)
(failover_mode=(type=select)(method=basic)
(backup=rac1)(retries=20)(delay=20))
)
)
==========================================================================

4、TAF测试办法
普通可以将以后毗连的instance down上去,client端将不会断开,并主动切换到backup节点上。相反也会主动切换回来。

固然也有人提出用post_transaction的体例来测试TAF,其实如许有时是得不到预期了局的,缘由在于Oracle毗连到一个instance上后,尔后它会优先测验考试对该instance的毗连,当你disconnect后,client端一有新的恳求就会主动测验考试对比来毗连的instance停止毗连,假如不胜利才会测验考试对backup instance停止毗连。
  




  另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学。
若相依 该用户已被删除
19#
发表于 2015-7-5 01:42:55 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
再现理想 该用户已被删除
18#
发表于 2015-6-15 21:18:09 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
飘灵儿 该用户已被删除
17#
发表于 2015-6-10 03:28:25 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
精灵巫婆 该用户已被删除
16#
发表于 2015-5-6 16:23:24 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
灵魂腐蚀 该用户已被删除
15#
发表于 2015-4-29 18:34:34 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
金色的骷髅 该用户已被删除
14#
 楼主| 发表于 2015-4-27 09:45:28 | 只看该作者
当然这种网站的会员费就几十块钱。
变相怪杰 该用户已被删除
13#
发表于 2015-4-10 05:20:24 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
admin 该用户已被删除
12#
发表于 2015-4-6 02:10:44 | 只看该作者
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
简单生活 该用户已被删除
11#
发表于 2015-4-5 06:39:47 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
不帅 该用户已被删除
10#
发表于 2015-3-25 00:19:43 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
因胸联盟 该用户已被删除
9#
发表于 2015-3-18 17:37:52 | 只看该作者
php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
小魔女 该用户已被删除
8#
发表于 2015-3-18 04:06:11 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
若天明 该用户已被删除
7#
发表于 2015-3-17 22:10:42 | 只看该作者
本文当是我的笔记啦,遇到的问题随时填充
愤怒的大鸟 该用户已被删除
6#
发表于 2015-3-12 16:36:52 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
第二个灵魂 该用户已被删除
5#
发表于 2015-3-6 13:50:18 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
分手快乐 该用户已被删除
地板
发表于 2015-3-4 16:35:55 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
蒙在股里 该用户已被删除
板凳
发表于 2015-3-3 11:48:03 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
爱飞 该用户已被删除
沙发
发表于 2015-2-20 15:32:19 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
冷月葬花魂 该用户已被删除
楼主
发表于 2015-2-16 04:18:30 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表