如何通过查询分析器的调试功能进行单步调?
一、准备工作
不管物理standby还是逻辑standby,其初始创建都是要依赖primary数据库,因为这个准备工作中最重要的一部分,就是对primary数据库的配置。
1、打开Forced Logging模式
将primary数据库置为FORCE LOGGING模式。 通过下列语句:
SQL> alter database force logging;
提示:关于FORCE LOGGING
想必大家知道有一些DDL语句可以通过指定NOLOGGING子句的方式避免写redo log(目的是提高速度,某些时候确实有效),指定数据库为FORCE LOGGING模式后,数据库将会记录除临时...全部
一、准备工作
不管物理standby还是逻辑standby,其初始创建都是要依赖primary数据库,因为这个准备工作中最重要的一部分,就是对primary数据库的配置。
1、打开Forced Logging模式
将primary数据库置为FORCE LOGGING模式。
通过下列语句:
SQL> alter database force logging;
提示:关于FORCE LOGGING
想必大家知道有一些DDL语句可以通过指定NOLOGGING子句的方式避免写redo log(目的是提高速度,某些时候确实有效),指定数据库为FORCE LOGGING模式后,数据库将会记录除临时表空间或临时回滚段外所有的操作而忽略类似NOLOGGING之类的指定参数。
如果在执行force logging时有nologging之类的语句在执行,则force logging会等待直到这类语句全部执行。FORCE LOGGING是做为固定参数保存在控制文件中,因此其不受重启之类操作的影响(只执行一次即可),如果想取消,可以通过alter database no force logging语句关闭强制记录。
2、创建密码文件(如果不存在的话)
需要注意的是,同一个Data Guard配置中所有数据库必须都拥有独立的密码文件,并且必须保证同一个Data Guard配置中所有数据库服务器的SYS用户拥有相同密码以保证redo数据的顺利传输,因为redo传输服务通过认证的网络会话来传输redo数据,而会话使用包含在密码文件中的SYS用户密码来认证。
3、配置Standby Redo Log
对于最大保护和最高可用性模式,Standby数据库必须配置standby redo log,并且oracle推荐所有数据库都使用LGWR ASYNC模式传输,当然你现在可能还不知道LGWR ASYNC是什么问题,没关系,你很快就会知道了。
Oracle建议你在创建standby时就考虑standby redolog配置的问题。standby redologs与online redologs非常类似,应该说两者只是服务对象不同,其它参数属性甚至操作的命令格式几乎都一样,你在设计standby redologs的时候完全可以借鉴创建online redologs的思路,比如多个文件组啦,每组多个文件冗余之类的。
除些之外呢,oracle提供了一些标准的建议如下:
确保standby redo log的文件大小与primary数据库online redo log文件大小相同。
这个很好理解的吧,就是为了接收和应用方便嘛。
创建适当的日志组
一般而言,standby redo日志文件组数要比primary数据库的online redo日志文件组数至少多一个。推荐standby redo日志组数量基于primary数据库的线程数(这里的线程数可以理解为rac结构中的rac节点数)。
有一个推荐的公式可以做参考:(每线程的日志组数+1)*最大线程数
例如primary数据库有两个线程,每个线程分配两组日志,则standby日志组数建议为6组,使用这个公式可以降低primary数据库实例LGWR进程锁住的可能性。
提示:逻辑standby数据库有可能需要视工作量增加更多的standby redo log文件(或增加归档进程),因为逻辑standby需要同时写online redo log文件。
Standby redo log的操作方式与online redo log几乎一模一样,只不过在创建或删除时需要多指定一个standby关键字,例如添加:
1、将服务器(身份验证)属性设置成(混合模式)(window与sql身份验证)
2、在(控制面板)中打开(服务)将(MSSQLSERVER)服务打开(属性),选择(登录)页面,将登录身份设置成服务器本地帐号和该帐号密码,如administrator,密码123;
3、重新启动sqlserver服务,此时的服务指的是(SQL服务管理器)中的SQL Server服务;
假设(帐号)设置为administrator
此时达到的效果是:服务器本地帐号administrator与客户端上的administrator(并且该帐号的密码要与服务器密码相同)可以通过(查询分析器)进行调试;
如果想让(其他帐号)也能够调试,那么还需要如下设置:
1、在(服务器)上运行dcomcnfg。
exe;
2、在(默认安全机制)中(默认访问权限)右边点击(编辑默认值)选择允许调试的帐号类型,如users用户类型,sample帐号有包含users组;
3、重新启动sqlserver服务;
4、在客户端上创建与服务帐号密码一样的用户,如sample;
做到这步就可以通过查询分析器的调试功能进行单步调试了。
注:第二步更改“启动服务帐户”,在第一次登录之前,必须更改用户密码。
不然,event log:以当前密码登录的尝试因下列错误将宣告失败:
在第一次登录之前,必须更改用户密码。收起