第二个灵魂 发表于 2015-1-16 22:38:20

MYSQL编程:在单机上创立物理的Oracle9i standby数...

有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。oracle|创立|数据|数据库

申明;Oracle9i数据库的DataGuard特征确保对数据举行完全的回护,是Oracle9i的一个关头特征之一.DataGuard能够创立物理的Standby数据库,也能够创立逻辑的Standby数据库,还能够夹杂利用,天真性对照强.这个文档是Fenng实习时分记上去的器材,谈不上是甚么心得.*这不外是一份安装过程当中的条记罢了* 假如对这个有更高的希冀,大概想失掉关于Oracle数据库的dataguard和Standby的更多信息,请参考官方的文档.

体系情况:Windows2000专业版 SP3 512M内存

现有的数据库实例(Primary)名字:Demo
预创立的Standby 数据库实例名字:Pstandby

数据库版本信息:

SQL>select*fromv$version;

BANNER
----------------------------------------------------------------
Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production
PL/SQLRelease9.2.0.1.0-Production
CORE9.2.0.1.0Production
TNSfor32-bitWindows:Version9.2.0.1.0-Production
NLSRTLVersion9.2.0.1.0-Production

筹办事情

起首确认Primary数据库是不是在回档形式下
SQL>showuser
USERis"SYS"
SQL>
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestinationd:oracleoradatademoarchive
Oldestonlinelogsequence42
Nextlogsequencetoarchive44
Currentlogsequence44


假如不在回档形式下,调剂数据库。
起首提交命令修正SPfile:

SQL>altersystemsetLOG_ARCHIVE_START=TRUEscope=spfile;

然后封闭数据库实例

SQL>SHUTDOWN

备份数据库

SQL>STARTUPMOUNT

SQL>ALTERDATABASEARCHIVELOG;
SQL>ALTERDATABASEOPEN;

SQL>SHUTDOWNIMMEDIATE
备份

1.PrimaryDatabase必要做的筹办事情:

1.1激活ForcedLogging

SQL>ALTERDATABASEFORCELOGGING;

1.2设置当地回档方针

SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_1=LOCATION=D:oracleoradataDEMOArchiveSCOPE=BOTH;
此操纵间接失效


2.创立物理的Standby数据库

2.1标志出Primary数据库的数据文件

SQL>selectnamefromv$datafile;

NAME
-----------------------------------------------------

D:ORACLEORADATADEMOYSTEM01.DBF
D:ORACLEORADATADEMOUNDOTBS01.DBF
D:ORACLEORADATADEMOCWMLITE01.DBF
D:ORACLEORADATADEMODRSYS01.DBF
D:ORACLEORADATADEMOEXAMPLE01.DBF
D:ORACLEORADATADEMOINDX01.DBF
D:ORACLEORADATADEMOODM01.DBF
D:ORACLEORADATADEMOTOOLS01.DBF
D:ORACLEORADATADEMOUSERS01.DBF
D:ORACLEORADATADEMOXDB01.DBF
D:ORACLEORADATADEMOOEM_REPOSITORY.DBF

11rowsselected.

SQL>

2.2封闭Instance拷贝数据文件到既定目标地

SQL>SHUTDOWNIMMEDIATE;

2.3为Standby数据库创立把持文件

SQL>ALTERDATABASECREATESTANDBYCONTROLFILE
ASC:DataGuardPstandbyDEMODEMOSTANDBY.CTL;

要注重这个把持文件的名字不要和Primary的把持文件名字反复

2.4为Standby数据库筹办初始化参数文件名字:

SQL>CREATEPFILE=C:DataGuardPstandbyDEMOinitpstandbyFROMSPFILE;

2.5设定初始化PhysicalStandbyDatabase参数

*.aq_tm_processes=1
*.background_dump_dest=D:oracleadminDEMOdump
*.compatible=9.2.0.0.0
*.control_files=C:DataGuardPstandbyDEMODEMOSTANDBY.CTL
*.core_dump_dest=D:oracleadminDEMOcdump
*.db_block_size=8192
*.db_cache_size=19922944
*.db_domain=
*.db_file_multiblock_read_count=32
*.db_name=DEMO
*.dispatchers=(PROTOCOL=TCP)(SERVICE=DEMOXDB)
*.fast_start_mttr_target=300
*.hash_area_size=1048576
*.hash_join_enabled=TRUE
*.instance_name=pstandby
*.java_pool_size=20971520
*.job_queue_processes=10
*.large_pool_size=7340032
*.log_archive_dest_1=location=d:oracleoradatademoarchive
*.log_archive_start=TRUE
*.open_cursors=300
*.optimizer_mode=FIRST_ROWS
*.pga_aggregate_target=17825792
*.processes=150
*.query_rewrite_enabled=TRUE
*.remote_login_passwordfile=EXCLUSIVE
*.shared_pool_size=33554432
*.sort_area_size=1048576
*.star_transformation_enabled=TRUE
*.timed_statistics=TRUE
*.undo_management=AUTO
*.undo_retention=10800
*.undo_tablespace=UNDOTBS1
*.user_dump_dest=D:oracleadminDEMOudump

lock_name_space=pstandby
standby_file_management=AUTO
remote_archive_enable=TRUE
standby_archive_dest=C:DataGuardPstandbyDEMOArchive
db_file_name_convert=(D:oracleoradataDEMO,C:DataGuardPstandbyDEMO)
log_file_name_convert=(D:oracleoradataDEMO,C:DataGuardPstandbyDEMO)
log_archive_dest_1=(LOCATION=C:DataGuardPstandbyDEMOArchive)

全部操纵的过程当中,简单呈现毛病的中央几近都会合在此处。必需仔细细心的看待这个文件。标志为玄色的中央是必要举行修正的。

2.6创立一个Windows服务

WINNT>oradim-NEW-SIDPstandby-STARTMODEmanual

2.7CreateaServerParameterFilefortheStandbyDatabase

可参考实行以下操纵:
C:>setoracle_sid=pstandby
C:>sqlplus/nolog
SQL>connect/assysdba
SQL>CREATESPFILEFROMPFILE=C:DataGuardPstandbyDEMOinitPstandby.ora;

2.8启植物理Standby数据库

C:>setoracle_sid=pstandby
C:>sqlplus/nolog
SQL>connect/assysdba
SQL>STARTUPNOMOUNT;
SQL>ALTERDATABASEMOUNTSTANDBYDATABASE;

2.9在Standby数据库上,初始化LogApply服务:

SQL>ALTERDATABASERECOVERMANAGEDSTANDBYDATABASEDISCONNECTFROMSESSION;


2.10激活到物理Standby数据库的回档

SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_2=SERVICE=PstandbySCOPE=BOTH;
SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_STATE_2=ENABLESCOPE=BOTH;

2.11启动远程回档

SQL>ALTERSYSTEMARCHIVELOGCURRENT;


3.安装完的的考证:

3.1在database, 查询V$ARCHIVED_LOG
(实在也能够间接到相干目次下检察Log是不是创立):

SQL>SELECTSEQUENCE#,FIRST_TIME,NEXT_TIME
2FROMV$ARCHIVED_LOGORDERBYSEQUENCE#;

SEQUENCE#FIRST_TIMENEXT_TIME
------------------------------
3823-7?-0223-7?-02
3923-7?-0223-7?-02
4023-7?-0223-7?-02
4123-7?-0223-7?-02
4223-7?-0223-7?-02

3.2在Primary数据库上,回档以后的Log

SQL>ALTERSYSTEMARCHIVELOGCURRENT;

3.3考证是不是收到:

SQL>SELECTSEQUENCE#,FIRST_TIME,NEXT_TIME
2>FROMV$ARCHIVED_LOGORDERBYSEQUENCE#;

SEQUENCE#FIRST_TIMENEXT_TIME
------------------------------
3823-7?-0223-7?-02
3923-7?-0223-7?-02
4023-7?-0223-7?-02
4123-7?-0223-7?-02
4223-7?-0223-7?-02
4323-7?-0223-7?-02


3.4考证是不是新的回档Redo日记已被使用:

SQL>selectsequence#,appliedfromv$archived_log
2orderbysequence#;

SEQUENCE#APP
-------------
38YES
39YES
40YES
41YES
42YES
43YES

OK.标明我们仍是乐成的。临时告一段落。


参考文档

OracleDataGuardConceptsandAdministration
Release2(9.2)
PartNumberA96653-02

附加内容:

primary数据库的Pfile内容:

*.aq_tm_processes=1
*.background_dump_dest=D:oracleadminDEMOdump
*.compatible=9.2.0.0.0
*.control_files=D:oracleoradataDEMOCONTROL01.CTL,
   D:oracleoradataDEMOCONTROL02.CTL,D:oracleoradataDEMOCONTROL03.CTL
*.core_dump_dest=D:oracleadminDEMOcdump
*.db_block_size=8192
*.db_cache_size=19922944
*.db_domain=
*.db_file_multiblock_read_count=32
*.db_name=DEMO
*.dispatchers=(PROTOCOL=TCP)(SERVICE=DEMOXDB)
*.fast_start_mttr_target=300
*.hash_area_size=1048576
*.hash_join_enabled=TRUE
*.instance_name=DEMO
*.java_pool_size=20971520
*.job_queue_processes=10
*.large_pool_size=7340032
*.log_archive_dest_1=location=d:oracleoradatademoarchive
*.log_archive_dest_2=SERVICE=PSTANDBY
*.log_archive_dest_state_2=ENABLE
*.log_archive_start=TRUE
*.open_cursors=300
*.optimizer_mode=FIRST_ROWS
*.pga_aggregate_target=17825792
*.processes=150
*.query_rewrite_enabled=TRUE
*.remote_login_passwordfile=EXCLUSIVE
*.shared_pool_size=33554432
*.sort_area_size=1048576
*.star_transformation_enabled=TRUE
*.timed_statistics=TRUE
*.undo_management=AUTO
*.undo_retention=10800
*.undo_tablespace=UNDOTBS1
*.user_dump_dest=D:oracleadminDEMOudump

创立过程当中的大概的毛病:待续
如果互联网服务提供商,支撑数据的云服务,或它们之间任一点网络被堵塞或中断,他们就会遇到与数据延迟或应用程序故障有关的问题。如果问题发生在企业内部,解决方案提供商可以排除故障找出原因。

第二个灵魂 发表于 2015-1-19 20:00:22

再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。

精灵巫婆 发表于 2015-2-4 17:14:00

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。

冷月葬花魂 发表于 2015-2-10 04:36:38

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

再见西城 发表于 2015-2-28 19:54:56

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

飘飘悠悠 发表于 2015-3-10 07:48:39

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

蒙在股里 发表于 2015-3-23 22:08:47

对于微软系列的东西除了一遍遍尝试还真没有太好的办法
页: [1]
查看完整版本: MYSQL编程:在单机上创立物理的Oracle9i standby数...