同机物理standby配制

本文详细介绍了如何在同一服务器上部署物理Standby数据库的过程,包括复制数据文件、创建控制文件及参数文件、设置监听器和初始化参数等关键步骤。
今天参考着 http://yangtingkun.itpub.net/post/468/267555 做了一下将物理STANDBY和主库部署在同一台服务器上的过程.过程如下,但仍有好多地方不慎明白.先把大概步骤贴上来,供慢慢研究.[@more@]


USER ID_SESSION SCN HOST LOCAL NOW
---------- --------------- ---------- --------------- --------------- -----------------
OUTDO 20,49912 913135088 192.168.1.1 172.16.1.187 20070320 09:20:16

SQL> conn sys/dxy@lab as sysdba
已连接。
--
SQL> SELECT DBID, NAME, LOG_MODE, FORCE_LOGGING FROM V$DATABASE
2 /

DBID NAME LOG_MODE FOR
---------- --------- ------------ ---
1060092665 LAB ARCHIVELOG YES

SQL> SELECT DBID, NAME, LOG_MODE, FORCE_LOGGING FROM V$DATABASE;

DBID NAME LOG_MODE FOR
---------- --------- ------------ ---
1060092665 LAB ARCHIVELOG YES

--查看主库已经是归档模式,而且也已经设置FORCE LOGGING。如果没有,用ALTER DATABASE FORCE LOGGING;

--将主数据库的数据文件,重做日志文件拷贝到standby数据库响应目录上.

SQL> SELECT NAME FROM V$DATAFILE
2 UNION ALL
3 SELECT NAME FROM V$TEMPFILE
4 UNION ALL
5 SELECT MEMBER FROM V$LOGFILE;

NAME
------------------------------------------------------------------------------------------------------------------------------------------------------
E:ORACLEORADATALABSYSTEM01.DBF
E:ORACLEORADATALABUNDOTBS01.DBF
E:ORACLEORADATALABINDX01.DBF
E:ORACLEORADATALABTOOLS01.DBF
E:ORACLEORADATALABUSERS01.DBF
E:ORACLEORADATALABLOGMNRTS.DBF
E:ORACLEORADATALABTEMP01.DBF
E:ORACLEORADATALABREDO01.LOG
E:ORACLEORADATALABREDO02.LOG
E:ORACLEORADATALABREDO03.LOG

已选择10行。

SQL>
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST COPY E:ORACLEORADATALAB*.* E:ORACLEORADATASTD

--创建standby数据库控制文件.并拷贝到响应目录.
SQL> startup
ORACLE 例程已经启动。

Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'E:ORACLEORADATASTDCONTROL01.CTL' REUSE;

数据库已更改。

--创建standby数据库一些目录.
SQL> HOST MD E:oracleadminstdBDUMP

SQL> HOST MD E:oracleadminstdCDUMP

SQL> HOST MD E:oracleadminstdUDUMP

SQL> HOST MD E:oracleadminstdPFILE

--从主数据库中创建standby参数文件
SQL> CREATE PFILE = 'E:oracleadminstdPFILEINITSTD.ORA' FROM SPFILE;

文件已创建。

SQL> HOST MD E:ORACLEORADATASTDSTANDBYARCHIVE

SQL> HOST MD E:ORACLEORADATASTDARCHIVE

--在Windows环境,建立一个服务,配置一下listener.ora 既可启动一个新的进程.
SQL> HOST ORADIM -NEW -SID LABSTD -STARTMODE MANUAL

--修改$ORACLE_HOME/network/admin目录下的listener.ora文件,在SID_LIST中添加下列信息,并重启监听:
(SID_DESC =
(ORACLE_HOME = E:oracleora92)
(SID_NAME = labstd)
)

SQL> HOST LSNRCTL STOP

SQL> HOST LSNRCTL START

--修改从库中的$ORACLE_HOME/network/admin目录下的sqlnet.ora文件,添加下列参数,用以检测死连接:

SQLNET.EXPIRE_TIME=2
--修改主库和从库中的$ORACLE_HOME/network/admin目录下的tnsnames.ora文件,添加下面的配置
LABSTD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = chsi-outdo)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = labstd)
)
)
--启动standby数据库,并且创建spfile,这里需要重新创建stantby数据库密码文件.修改从库的初始化参数,需要修改或添加下面的记录:

*.background_dump_dest='E:oracleadminstdbdump'
*.compatible='9.2.0.0.0'
*.control_files='E:oracleoradatastdcontrol01.ctl','E:oracleoradatastdcontrol02.ctl','E:oracleoradatastdcontrol03.ctl'
*.core_dump_dest='E:oracleadminstdcdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='lab'
*.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='labstd'
*.java_pool_size=0
*.large_pool_size=8388608
*.log_archive_dest_1='LOCATION=E:oracleoradatastdarchive'
*.log_archive_format='%t_%s.dbf'
*.log_archive_start=true
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_manager_plan='SYSTEM_PLAN'
*.shared_pool_size=50331648
*.sort_area_size=524288
*.sql_trace=TRUE
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='E:oracleadminstdudump'
db_file_name_convert=('E:oracleoradatalab', 'E:oracleoradatastd')
log_file_name_convert=('E:oracleoradatalab', 'E:oracleoradatastd')
standby_file_management=AUTO
remote_archive_enable=TRUE
lock_name_space=labstd
standby_archive_dest='e:oracleoradatastdstandbyarchive'

--如果STANDBY数据库的数据文件、日志文件所在目录和主库不同,那么就需要在从库的初始化参数中设置DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数。这个例子由于主库和STANDBY在同一个服务器上,所以必须设置这两个参数。
--当主库和STANDBY在一个服务器上,LOCK_NAME_SPACE参数是必须要设置的。这个参数的值和INSTANCE_NAME保持一致,但是要和主库的INSTANCE_NAME有所区别。


SQL> conn sys@labstd as sysdba
ERROR:
ORA-01031: insufficient privileges


警告: 您不再连接到 ORACLE。
SQL> host orapwd file=E:oracleora92databasepwdlabstd.ora password=dxy entries=5

SQL> conn sys/dxy@labstd as sysdba
已连接到空闲例程。
SQL> CREATE SPFILE FROM PFILE = 'E:oracleadminstdPFILEINITSTD.ORA';
CREATE SPFILE FROM PFILE = 'E:oracleadminstdPFILEINITSTD.ORA'
*
ERROR 位于第 1 行:
ORA-01078: failure in processing system parameters
LRM-00116: syntax error at ')' following 'E:oracleoradat'


SQL> CREATE SPFILE FROM PFILE = 'E:oracleadminstdPFILEINITSTD.ORA';

文件已创建。

--参数文件创建后,
SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。

Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

数据库已更改。

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

数据库已更改。

--从库现在已经启动为应用归档模式,下面还需要设置一下主库参数:
SQL> conn sys/dxy@lab as sysdba
已连接。
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'SERVICE=LABSTD';

系统已更改。

SQL> show parameter log_archive

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest string
log_archive_dest_1 string LOCATION=E:oracleoradatalab
archive
log_archive_dest_10 string
log_archive_dest_2 string SERVICE=LABSTD
log_archive_dest_3 string
log_archive_dest_4 string
log_archive_dest_5 string
log_archive_dest_6 string
log_archive_dest_7 string
log_archive_dest_8 string
log_archive_dest_9 string
log_archive_dest_state_1 string enable
log_archive_dest_state_10 string enable
log_archive_dest_state_2 string enable
log_archive_dest_state_3 string enable
log_archive_dest_state_4 string enable
log_archive_dest_state_5 string enable
log_archive_dest_state_6 string enable
log_archive_dest_state_7 string enable
log_archive_dest_state_8 string enable
log_archive_dest_state_9 string enable
log_archive_duplex_dest string
log_archive_format string %t_%s.dbf
log_archive_max_processes integer 2
log_archive_min_succeed_dest integer 1
log_archive_start boolean TRUE
log_archive_trace integer 0
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE;

系统已更改。

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

系统已更改。

--验证一下物理STANDBY是否已经成功建立:
SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

会话已更改。

SQL> SELECT SEQUENCE#, DEST_ID, FIRST_TIME, NEXT_TIME
2 FROM V$ARCHIVED_LOG
3 WHERE FIRST_TIME > SYSDATE - 1
4 ORDER BY SEQUENCE#;

未选定行

SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;

系统已更改。

SQL> SELECT SEQUENCE#, DEST_ID, FIRST_TIME, NEXT_TIME
2 FROM V$ARCHIVED_LOG
3 WHERE FIRST_TIME > SYSDATE - 1
4 ORDER BY SEQUENCE#;

SEQUENCE# DEST_ID FIRST_TIME NEXT_TIME
---------- ---------- ------------------- -------------------
29 1 2007-03-20 10:45:11 2007-03-20 10:46:32
29 2 2007-03-20 10:45:11 2007-03-20 10:46:32

SQL> conn sys/dxy@labstd as sysdba
已连接。
SQL> SELECT SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE# APP
---------- ---
28 YES
29 YES

--大概步骤如此,不过仍有许多步骤.比如recovery standtby数据库.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/167606/viewspace-905971/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/167606/viewspace-905971/

下载方式:https://pan.quark.cn/s/a4b39357ea24 布线问题(分支限界算法)是计算机科学和电子工程领域中一个广为人知的议题,它主要探讨如何在印刷电路板上定位两个节点间最短的连接路径。 在这一议题中,电路板被构建为一个包含 n×m 个方格的矩阵,每个方格能够被界定为可通行或不可通行,其核心任务是定位从初始点到最终点的最短路径。 分支限界算法是处理布线问题的一种常用策略。 该算法与回溯法有相似之处,但存在差异,分支限界法仅需获取满足约束条件的一个最优路径,并按照广度优先或最小成本优先的原则来探索解空间树。 树 T 被构建为子集树或排列树,在探索过程中,每个节点仅被赋予一次成为扩展节点的机会,且会一次性生成其全部子节点。 针对布线问题的解决,队列式分支限界法可以被采用。 从起始位置 a 出发,将其设定为首个扩展节点,并将与该扩展节点相邻且可通行的方格加入至活跃节点队列中,将这些方格标记为 1,即从起始方格 a 到这些方格的距离为 1。 随后,从活跃节点队列中提取队首节点作为下一个扩展节点,并将与当前扩展节点相邻且未标记的方格标记为 2,随后将这些方格存入活跃节点队列。 这一过程将持续进行,直至算法探测到目标方格 b 或活跃节点队列为空。 在实现上述算法时,必须定义一个类 Position 来表征电路板上方格的位置,其成员 row 和 col 分别指示方格所在的行和列。 在方格位置上,布线能够沿右、下、左、上四个方向展开。 这四个方向的移动分别被记为 0、1、2、3。 下述表格中,offset[i].row 和 offset[i].col(i=0,1,2,3)分别提供了沿这四个方向前进 1 步相对于当前方格的相对位移。 在 Java 编程语言中,可以使用二维数组...
源码来自:https://pan.quark.cn/s/a4b39357ea24 在VC++开发过程中,对话框(CDialog)作为典型的用户界面组件,承担着与用户进行信息交互的重要角色。 在VS2008SP1的开发环境中,常常需要满足为对话框配置个性化背景图片的需求,以此来优化用户的操作体验。 本案例将系统性地阐述在CDialog框架下如何达成这一功能。 首先,需要在资源设计工具中构建一个新的对话框资源。 具体操作是在Visual Studio平台中,进入资源视图(Resource View)界面,定位到对话框(Dialog)分支,通过右键选择“插入对话框”(Insert Dialog)选项。 完成对话框内控件的布局设计后,对对话框资源进行保存。 随后,将着手进行背景图片的载入工作。 通常有两种主要的技术路径:1. **运用位图控件(CStatic)**:在对话框界面中嵌入一个CStatic控件,并将其属性设置为BST_OWNERDRAW,从而具备自主控制绘制过程的权限。 在对话框的类定义中,需要重写OnPaint()函数,负责调用图片资源并借助CDC对象将其渲染到对话框表面。 此外,必须合理处理WM_CTLCOLORSTATIC消息,确保背景图片的展示不会受到其他界面元素的干扰。 ```cppvoid CMyDialog::OnPaint(){ CPaintDC dc(this); // 生成设备上下文对象 CBitmap bitmap; bitmap.LoadBitmap(IDC_BITMAP_BACKGROUND); // 获取背景图片资源 CDC memDC; memDC.CreateCompatibleDC(&dc); CBitmap* pOldBitmap = m...
【集群划分】基于kmeans的电压调节的集群划分【IEEE33节点】内容概要:本文围绕基于KMeans算法的电压调节集群划分展开,以IEEE33节点配电网为研究对象,探讨含分布式光伏的配电网中电压协调控制问题。通过KMeans聚类算法将网络节点划分为若干电压调控集群,旨在降低电压越限风险、提升配电网运行稳定性。文中结合Matlab代码实现,详细展示了集群划分过程、聚类结果可视化及后续电压协调控制策略的设计思路,适用于电力系统中分布式能源接入带来的电压管理挑战。该方法有助于实现分区治理、优化资源配置,并为后续的分布式控制提供结构基础。; 适合人群:具备电力系统基础知识,熟悉Matlab编程,从事配电网优化、分布式能源管理或智能电网相关研究的研究生及科研人员;有一定机器学习背景的工程技术人员。; 使用场景及目标:①应用于含高渗透率光伏发电的配电网电压调控研究;②用于复现IEEE33节点系统中的集群划分与电压协调控制模型;③支撑科研论文复现、课题开发与算法验证,推动智能配电网的分区协同控制技术发展; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注KMeans在电网拓扑数据上的特征选取与距离度量方式,理解聚类结果对电压控制性能的影响,并可进一步拓展至动态聚类或多目标优化集成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值