RedHatAs5下Oracle双机热备(1)
最近一个项目的实施需要用到
RedHatAs5.0
操作系统下的
Oracle
双机热备配置,原以为有设备厂商以及公司系统网络部的技术支持,双机热备就是小意思,没想到实施过程中碰到了许多奇怪的问题。经过多天的攻关,终于配置成功了,感觉心情特别轻松。经过两周的实施,我以一个
Linux
菜鸟的身份,初步领略到了
Linux
操作系统的神奇与伟大,同时也感叹自己知识面的欠缺。痛定思痛,决定将实施过程及碰到的问题汇总一下,以示鞭策。
(一)项目概述
为避免涉及商业泄密,本文中不出现项目名字、设备供应商名字、价格等信息,但需要出现设备规格等信息。为了简单起见,姑且将项目命名为
A
项目吧。
A
项目是一个多年存在的项目,由于业务的发展,原服务器配置已经略显落后,跟不上时代的发展了。省公司决定进行系统的扩容与升级,任务落在了我的项目组,由我们负责方案的设计与实施。硬件方面决定新增一个服务器、一个磁盘阵列,同时利用原有的一台服务器,做成数据库的双机热备。
由于对硬件、
Linux
、双机热备知识的欠缺,方案设计时没有考虑到系统配置的复杂性,简单的认为有硬件提供商、公司系统网络部的配合,服务器的配置会一帆风顺。这一想法让我在之后的实施过程中吃了不少苦头。
(二)环境描述
操作系统:
Red Hat As5.0
内核版本
2.6.18-8.e15
数据库:
Oracle10g
版本
10.2
主数据库服务器:浪潮
NF5220
辅数据库服务器:浪潮
NF280G2
磁盘阵列:
H3C Neocean EX1500S
双机热备软件:
RoseHA8.0
交换机:未采购,使用机房已有交换机。
(三)网络拓扑
主、辅服务器分别有两块网卡,磁盘阵列有五个千兆网卡。主辅服务器分别用使用一块网卡通过六类网线直连磁盘阵列。主辅服务器使用另一块网卡连接机房交换机,供业务系统服务器访问。
相关文档:
OleDbConnectioncon=newOleDbConnection(cnnstr);
try
{
con.Open();
}
catch
{}
OleDbCommandcmd=newOleDbCommand(strSQL,con);
System.Data.OleDb.OleDbDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
stringdd=dr["gggg"].ToString();
byte[]ooo=(byte[])dr["hhhh"];
stringstr;
str=Sys ......
alter system kill session'50,492';
--以下几个为相关表
SELECT * from v$lock;
SELECT * from v$sqlarea;
SELECT * from v$session;
SELECT * from v$process ;
SELECT * from v$locked_object;
SELECT * from all_objects;
SELECT * from v$session_wait; ......
方法一:
1) 查看服务器端字符集: &nbs ......
函数:
1.使用Create Function 语句创建
2.语
法:
Create or replace Function 函数名[参数列表]
Return 数据类型
IS|AS
局部变量
Be ......
在实际开发中,经常会需要对数据库进行访问,最常见的开发方法就类似:
string sql = "select * from table1 where name = '" + name + "'";
这种方式有被注入攻击的危险
所以解决方案有2种:
1、改成:string sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // 替换一 ......