1. 如何启用数据库镜像的自动故障切换功能
停止主体的sql SERVER服务,或者拔掉主体的网线,看镜像能否变成主体
另外,在被镜像数据库的右键菜单上有《启动镜像监视器》,可以用镜像监视器来监视各个节点的状况。
要在客户端使用自动failove功能,必须使用SQL Native Client作为OLE DB Provider。
否则需要在代码中手工实现。
2. 某地区mysql出现问题 如何切换到其他地区数据库
如何切换到其他地区数据库
其他数据库是在同一台机器上吗
可以用use dbname切换
如果是通过程序访问数据库的,需要修改程序的配置了,改为其他数据库的连接参数
3. 通常情况下,用户登录到SQL Server时,如何将要使用的数据库切换为当前数据库
通常情况下,如果安装过程中没有出现错误提示,既可以认为安装成功。但是,为了检验安装是否正确,也可以采用一些验证方法。例如,可以检查SQL Server 2008的服务和工具是否存在,应该自动生成的系统共数据库和样本数据库是否存在,以及有关文件和目录是否正确等。
2
安装之后,选择【开始菜单】→【所有程序】→【SQL Server 2008】可以查看到SQL Server 2008的信息。
3
在SQL Server 2008中主要包括8项:Configurtion Tools、Docunmentaion and Tutorials、Analysis Services、Performance、SQL Server Management Studio、导入和导出数据(32位)以及SQL server Business Intelligence Development Studio。
4
SQL Server 2008还包含多个服务,可以通过菜单栏中选择【SQL Server 2008配置管理】命令,从弹出窗口的左侧单击【SQL Server服务】选项来查看SQL Server 2008的各种服务。
END
2、注册服务器
1
选择【开始】→【程序】→【SQL Server2008】→【SQL ServerManagement Studio】命令,打开【SQL ServerManagement Studio】窗口,并单击【取消】按钮。
2
在【查看】→【已注册的服务器】窗格中展开【数据库引擎】节点,选择【本地服务器】→【新建服务器注册】命令。
3
在弹出下面图所示的【新建服务器注册】对话框。在该对话框中输入或选择要注册的服务器名称,在【身份验证】下拉表中选择【Windows 身份验证】选项,单击【连接属性】标签,切换到【连接属性】选项卡,可以设置连接到的数据库、网络以及其他连接属性。
4
从【连接到数据库】下拉表中指定当前用户将要连接到的数据库名称,其中,【默认值】选项表示连接到SQL Server 系统中当前用户默认使用的数据库。【浏览服务器】选项表示可以从当前服务器中选择一个数据库。当选择【浏览服务器】选项时,弹出【查找服务器上的数据库】对话框,从该对话框中可以指定房钱用户连接服务器时默认的数据库。
5
设定完成后,单击【确定】按钮返回【连接属性】选项卡,单击【测试】按钮可以验证连接是否成功,如果成功会弹出提示对话框表示连接属性的设置时正确的。
6
最后,单击票【确定】按钮返回【连接属性】选项卡,单击【保存】按钮来完成注册服务器操作。
END
3、配置服务器
选择【开始】→【程序】→【SQL Server2008】→【SQL ServerManagement Studio】命令,打开【连接到服务器】对话框。
在此对话框中的【服务器名称】下拉列表中输入本地计算机名称,在设置【服务器类型】为“数据库引擎”,选择使用SQL Server 或Windows身份验证,并在相对应的文本框中输入登录名和密码。
输入完成后,单击【连接】按钮,即可成功连接服务器。服务器连接成功后,右键单击【对象资源管理器】中要设置的服务器名称,在弹出来的快捷菜单中选择【属性】菜单项。
连接服务器成功后,右键单击【对象资源管理器】中要设置的服务器名称,在弹出来的菜单中选择【属性】命令。从弹出来的【服务器属性】对话框可以看出工包含了8个选项卡。其中【常则】选项窗口列出了当前服务产品名称、操作系统名称、平台名称、版本号、使用言语、当前服务器的内存大小、处理器数量、SQL Server 安装目录、服务器的排列规则以及是够群集化等信息。
4. 请教关于exchange 2010 DAG 数据库切换问题
你好,可以通过以下界面来进行切换:
1.在 EAC 中,转到“服务器”>“服务器”。
2.选择要用来切换的邮箱服务器。
3.在详细信息窗格中,选择“服务器切换”。
4.在“服务器切换”页面上,执行以下一种操作:
a.接受默认设置“自动选择目标服务器”(在这种情况下,系统将为要切换的每个数据库自动选择最佳邮箱服务器),然后单击“保存”。
b.单击“使用指定的服务器作为切换目标”,再单击“浏览”选择邮箱服务器,然后单击“保存”。
5.成功完成切换后,单击“关闭”退出“服务器切换”页面。
5. 如何在dataguard环境做到client的自动切换
如果做通用的方案,需要客户端自己提供自动重连的能力,这点大多数Java的occi的连接池都有实现。
但这些已有实现大多是对同一连接配置发起重连,所以需要考虑为application提供透明的连接方式,而不让应用看到具体data guard的多个ip和service name,这就需要做些额外的配置工作。
一种方式通过vip,真实转发的ip只挂靠在有效数据库的ip上。这种方式切换发生后,application在断连的旧connection上发起dml会获得ORA-3113 "end of file on communication channel"的错误,此时application可以尝试重连机制和新的primary建立连接。
在f5上可以通过设置心跳sql和期望的返回结果内容,以类似ping方式获取远端数据库是否可用,来决定ip是否应该转发到该物理ip上。
另一种方式是通过设置tns和数据库的service name来访问,通过合理设置,甚至可以做到在发生切换时的select操作仅仅被阻塞一会,而不会感觉到数据库已经完成了主备切换。
设置步骤如下:
1.客户端的tnsnames.ora中tns配置成
MYAPP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HostA)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = HostB)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = myapp)
)
)
2.在primary数据库运行
begin
dbms_service.create_service("myapp","myapp");
end;
/
begin
DBMS_SERVICE.START_SERVICE("myapp");
end;
/
3.在primary数据库创建触发器:
create trigger myapptrigg after startup on database
declare
v_role varchar(30);
begin
select database_role into v_role from v$database;
if v_role = "PRIMARY" then
DBMS_SERVICE.START_SERVICE("myapp");
else
DBMS_SERVICE.STOP_SERVICE("myapp");
end if;
end;
/
解释下:这个方案的思路就是将两边的数据库的service name都设置成"myapp",当发生切换时,由触发器在数据库startup的时候把primary的实例以"myapp"的名字显示,而把standby的"myapp"服务名给停掉,这样任何时刻只有主节点显示名字为"myapp"的服务。
注意这里的plsql都是运行在primary,无需在standby上做任何设置,因为data guard会自动将变化同步到standby数据库。
通过在primary数据库运行下面程序,可以让客户端在做select的时候甚至意识不到数据库的切换:
begin
dbms_service.modify_service
("myapp",
FAILOVER_METHOD => "BASIC",
FAILOVER_TYPE => "SELECT",
FAILOVER_RETRIES => 200,
FAILOVER_DELAY => 1);
end;
/
注意如果在切换时有comit的提交事务发生,还是会出现失误提交失败,要求回滚的情况。
下面tns是另一种配置方式(类似rac的failover配置思想),使用这种方式,不需要在Oracle server中运行任何plsql脚本,在DESCRIPTION_LIST中的两个数据库甚至根本不需要处于data guard中,可以是任意两个数据库。driver会按顺序遍历list中的数据库,一直到能连接上为止。
MYAPP =
(DESCRIPTION_LIST=
(LOAD_BALANCE=off)
(FAILOVER=on)
(DESCRIPTION =(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=10)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = myapp1)
)
)
(DESCRIPTION =(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=10)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = otherIP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = myapp2)
)
)
)
这种方式需要注意的地方:
1.jdbc必须走oci的方式,如果为jdbc:thin+tns方式,则会出现
Exception in thread "main" java.lang.: 545
at oracle.NET.nl.NVTokens.parseTokens(Unknown Source)
at oracle.Net.nl.NVFactory.createNVPair(Unknown Source)
其原因在于jdbc的driver本身无法识别这种格式的tns内容。
此时即使以jdbc:thin+tns的方式访问其他正常的tns也会一样抛出这个错误,因为这导致了jdbc根本无法正确解析整个tnsnames.ora文件。
而jdbc:oci实际上负责解析tnsnames.ora和处理通信的是依赖oci.lib,因此就不存在这个问题。
2.这种配置适用于任何依赖oci通信的客户端,包括oci,occi,一些基于它们的wrap库,以及pl/sql developer此类的工具软件。
3.注意如果连接的数据库组属于manually switch的模式,而不是fail down导致的切换,比如tns中的a数据库是mount状态,b是primary,而tns的列表顺序是先a后b,则会出现尽管客户端连a时,抛出ORA-0133错误,但是不会按顺序去尝试连接b。
原因是在处理这个链接时,oci客户端会尝试通过listener和service建立连接。
如果listener是关闭的,或者客户端能连上listener但是找不到对应service,则都会尝试连接处于第二个的b,但是如果通过listener找到了对端的service,只是无法建立连接(如数据库处于mount状态),则此时不会尝试连接b,而直接会以抛出
ORA-0133:ORACLE initialization or shutdown in progress
终止连接尝试。
所以在使用这种tns的时候要确保通过tns列表能访问到的所有数据库都不会一直处于mount状态,否则连接它会打断对后面正常open数据库的连接尝试。
这也是为何手动切换的dataguard数据库,客户端不能依赖这种tns配置方法做自动切换,因为手动切换的dataguard数据库状态肯定是一个open一个mount,如果mount处于tns的列表靠前的位置,在连接它失败后会抛出ORA-0133异常阻止客户端尝试连接正常open的那个数据库。
6. pubmed数据库词汇自动转换功能可以实现对单复数 同义词的检索吗
摘要 你好亲 只能实现单复数的检索,不能实现同义词的检索。
7. 我想实现在sql数据库,和access数据库之间的快速切换,只需改变一个地方,就可以那种,怎样才能实现
可以建立两个不同的数据链接文件。一个链接sql,另一个链接access。程序中修改链接文件就可以了。如:
链接access:
cnPubs.ConnectionString = "File Name=d:\Data\access\Pubs.udl;"
链接sql:
cnPubs.ConnectionString = "File Name=d:\Data\sql\Pubs.udl;"
8. 两台MSSQL数据库服务器连接切换
使用数据库镜像功能+见证服务器,可以实现自动切换。
连接字符串需要加上切换的参数。
9. 数据库:数据库的自动主备切换难道需要三台机器
两台即可,监控软件安装在数据库服务器即可。