`

ORACLE 双机备份

 
阅读更多
一、创建Standby Database 要求
1、 Primary 与standby 数据库所在主机上的oracle server及*作系统版本必须相同,且具有相同的补丁;
2、 primary 数据库必须为archive mode;Standby Database也必须为archive mode ;
二、创建standby数据库
1、 首先查看Primary Database的归档模式(svrmgr>archive log list)若为无归档模式,将数据库转换为自动归档方式,方法如下:
先关闭Primary Database:
svrmgr>shutdown immediate
再以mount方式启动Primary Database:
svrmgr>connect internal/password
svrmgr>startup mount
svrmgr>alter database archivelog
svrmgr>shutdown
2、修改init%oracle_sid%.ora 文件中的参数,加入:
log_archive_start = true # if you want automatic archiving
log_archive_dest=%ORACLE_HOME%/database/archive
log_archive_format = %ORACLE_SID%%S.%T其中log_archive_dest
是指归档日志文件存放的位置,可根据实际情况来设定,如E 盘空间较
大,可以设为:log_archive_dest=e:/oracle/database/archive
3、复制Primary Database 的init%oracle_sid%.ora 和对应的Password 文件 到 Standby Database 上的目录%oracle_home%/database;根据实际情况修改Standby Database上的对应init%oracle_sid%.ora中的参数:
log_archive_dest;
4、在Standby Database位于的主机上创建实例,实例名称同Primary Database,例如:
Oradim80 –new –sid SID_NAME –intpwd oracle –startmode auto – pfile=c:/orant/database/init%oracle_sid%.ora;
5、在Primary Database上为Standby创建Controlfile,将controlfile 拷贝至 Standby Database 的确定位置,*作如下:
svrmgr>alter database create standby controlfile as ;
6、在Primary Database上将联机日志归档,
svrmgr>alter system archive log current;
7、关闭Primary Database,
svrmgr>shutdown immediate
8、从Primary Database上将所有数据文件、日志文件、归档日志文件(不包括控制文件)拷贝至Standby Database的确定位置;
9、以nomount方式启动Standby Database:
svrmgr>startup nomount
svrmgr>alter database mount standby database[execlusive/parallel]
10、同步Standby Database:
svrmgr>recover standby database;
11、恢复Primary Database 启动状态。
三、维护standby数据库
1、 将primary数据库所产生的archive log文件定期传到standby数据库的确定位置;手工的做恢复,使standby数据库与primary数据库保持同步。
svrmgr> set autorecovery on;
svrmgr> connect internal/password;
svrmgr> startup nomount pfile=;
svrmgr> alter database mount standby database;
svrmgr> recover standby database;
svrmgr> shutdown
2、当primary 数据库失败时,将standby 数据库激活:取消(cancel)恢复执行以下*作:
svrmgr> connect internal/password;
svrmgr> startup nomount pfile=;
svrmgr> alter database mount standby database;
svrmgr>alter database activate standby database;
shutdown standby 数据库;
svrmgr>shutdown immediate
重起Standby Database;
svrmgr>startup

第二章 安装说明
整个ORACLE双机热备份系统的安装需要以下前提条件:
第一项:硬件环境的安装。此步骤包括硬件设备的安装,服务器及盘柜底层环境的配置。
第二项:服务器Windows 2000操作系统的安装。此步骤包括两台服务器的win2k操作系统安装,域环境设置,网卡IP地址的设置。
第三项:群集软件MSCS的安装。安装微软的群集软件MSCS,以及相关设置。
在以上三项安装完成后,方可进行ORACLE双机热备份系统的安装
整个双机系统参数设置表如下:
参数说明数值
节点一:
内置硬盘分区内置硬盘分区大小C盘大小为10GB,D盘大小8GB。
群集专用网卡IP地址双机系统专用心跳线网卡IP地址192.168.2.1
局域网网卡IP地址连接局域网交换机网卡IP地址192.168.0.81
节点二:
内置硬盘分区内置硬盘分区大小C盘大小为10GB,D盘大小8GB。
群集专用网卡IP地址双机系统专用心跳线网卡IP地址192.168.2.2
局域网网卡IP地址连接局域网交换机网卡IP地址192.168.0.82
磁盘柜:
盘符磁盘阵列两个逻辑区在Win2K操作系统的盘符E盘101G
F盘30G
群集软件MSCS:
集群名称集群对外公布的名称CLUSTER
管理的共享盘符由群集所管理的磁盘柜上的共享盘符E,F
ORACLE设置:
ORACLE 主目录名D:/ORACLE/ORA81
数据库名CSZLS
数据库系统标识符(sid)CSZLS
sys帐户口令change_on_install
system帐户口令manager
oracleorahome8agent服务更改为手动
oracleorahome8datagatherer更改为手动
oracleorahome8tnslistener更改为手动
Oracleorahome8PeerMasterAgent更改为手动
oracleserviceCSZLS更改为手动

第三章 ORACLE双机的安装
1、建议在节点1和节点2群集服务安装完成后,进行双机的切换试验(移动组、拔网线、断电),确认群集正常后,再安装ORACLE。
2、启动节点1,在节点1上安装oracle数据库软件。
3、进入oracle安装界面,选择自定义安装,选择oracle主目录名称OraHome81,路径为d:/oracle/ora81。
4、选择安装组件时,选择除HttpServer以外所有组件。
5、建立数据库,选择不创建数据库。
6、设置NET8,监听服务定为LISTENER
7、节点1安装完成。
8、在节点2上按照3-7的步骤执行安装。
9、两台机器都安装成功后,分别都在控制面板中将相关oracle服务全改为手动。
10、确认磁盘阵列所有权在节点2。
11、在节点2上,使用数据库助手创建数据库。开始菜单-》oracle-》数据库管理-》数据库安装助手,执行数据库安装助手程序。
12、在安装过程中,选择定制安装,数据库名及SID定为: CSZLS,数据库字符集定为:WE8ISO8859P1。将所有的路径都指向共享磁盘E盘。安装完成后,在控制面板中将其服务器改为手动。
13、在节点2上,打开群集管理器,创建IP地址资源。
1、创建 IP 地址资源:
A.选择“文件”“新建”“资源”。
B.在以下域输入信息:
域名样例
名称vip
描述Oracle服务器的 IP 地址
资源类型IP 地址
群组Cluster 资源群组
可以在线获取其中资源的节点Cluster-A,Cluster-B
在此资源处于在线状态之前必须处于在线状态的其他资源NONE
在此资源处于在线状态之前必须处于在线状态的其他资源NONE
地址192.168.0.4
子网掩码255.255.255.0
将使用的网络PUBLIC NETWORK
注意:不要选中标记为“在单独的资源监控器运行此资源”的复选框。当选择此框时,MSCS 将使用其他的系统资源而不会带来额外的益处。
C.单击“完成”。
14、停止两个节点所有的ORACLE服务。
15、在节点2上编辑Listener.ora、snmp_ro.ora、 snmp_rw.ora、 tnsnames.ora文件(路径为D:/ORACLE/ORA81/Network/admin/)。把SERVER和HOST名为本地服务器的都改为上一步所建的虚拟IP地址(192.168.0.4)。
16、在节点2修改d:/oracle/admin/network/sqlnet.ora文件
SQLNET.AUTHENTICATION-SERIVES=(NONE).
17、将节点2的d:/oracle/ora81/network/admin目录下所有文件复制到节点1的d:/oracle/ora81/network/admin目录下。
18、将节点2的d:/oracle/ora81/database目录下initCSZLS.ora复制到节点1的相应目录下
19、将节点2的d:/oracle/admin目录下CSZLS目录复制到节点1的d:/oracle/admin目录下
20、在节点1启动侦听服务,并建数据库服务。
在命令行输入如下:
C:/>SET ORACLE_SID=CSZLS
C:/>oradim –new –sid CSZLS –intpwd oracle –startmode auto –pfile E:/oracle/admin/CSZLS/pfile/initCSZLS.ora
其中:
-sid 为全局数据库名
-intpwd 为指定internal的口令为oracle
-startmode 指定启动方式为auto
-pfile 指定初始化文件路径,本例中E为共享盘
21、在MSCS里面增添oracleorahome8tnslistener和oracleserviceoracledb服务,依赖关系中都将磁盘、IP地址、服务器名称加进去。
22、通过双机切换,看在MSCS里面增添oracleorahome8tnslistener和oracleserviceCSZLS服务是否运行正常。
23、在局域网内其他机器建立ORACLE本地服务命名,并连接数据库,如能正常操作,表明ORACLE数据库安装完成。
24、添加表空间WATER,数据文件大小 1700M。
25、切换数据库到归档方式。
第四章 数据库参数
db_name = "CSZLS"
instance_name = CSZLS
service_names = CSZLS
db_files = 1024
control_files = ("e:/oradata/CSZLS/control01.ctl", "e:/oradata/CSZLS/control02.ctl", "e:/oradata/CSZLS/control03.ctl")
open_cursors = 300
max_enabled_roles = 30
db_file_multiblock_read_count = 8
db_block_buffers = 43818
shared_pool_size = 119653478
large_pool_size = 614400
java_pool_size = 20971520
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 150
parallel_max_servers = 5
log_buffer = 32768
#audit_trail = true# if you want auditing
#timed_statistics = true# if you want timed statistics
max_dump_file_size = 10240# limit trace file size to 5M each
# Uncommenting the line below will cause automatic archiving if archiving has
# been enabled using ALTER DATABASE ARCHIVELOG.
log_archive_start = true
# log_archive_dest_1 = "location=d:/oracle/oradata/CSZLS/archive"
log_archive_dest = E:/oradata/CSZLS/arch
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
#rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6 )
# Global Naming -- enforce that a dblink has same name as the db it connects to
global_names = true
# Uncomment the following line if you wish to enable the Oracle Trace product
# to trace server activity.This enables scheduling of server collections
# from the Oracle Enterprise Manager Console.
# Also, if the oracle_trace_collection_name parameter is non-null,
# every session will write to the named collection, as well as enabling you
# to schedule future collections from the console.
# oracle_trace_enable = true
oracle_trace_collection_name = ""
# define directories to store trace and alert files
background_dump_dest = d:/oracle/admin/CSZLS/bdump
#Uncomment this parameter to enable resource management for your database.
#The SYSTEM_PLAN is provided by default with the database.
#Change the plan name if you have created your own resource plan.# resource_manager_plan = system_plan
user_dump_dest = d:/oracle/admin/CSZLS/udump
db_block_size = 8192
remote_login_passwordfile = exclusive
os_authent_prefix = ""
# The following parameters are needed for the Advanced Replication Option
job_queue_processes = 4
job_queue_interval = 60
open_links = 4
distributed_transactions = 10
mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
# Uncomment the following line when your listener is configured for SSL
# (listener.ora and sqlnet.ora)
# mts_dispatchers = "(PROTOCOL=TCPS)(PRE=oracle.aurora.server.SGiopServer)"
compatible = 8.1.0
sort_area_size = 65536
sort_area_retained_size = 65536

第五章 数据库控制文件
数据库控制文件参数如下,并可以用以下脚本重建:
*** SESSION ID:(13.195) 2002-12-25 12:59:41.210
*** 2002-12-25 12:59:41.210
# The following commands will create a new control file and use it
# to open the database.
# Data used by the recovery manager will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "CSZLS" NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 1815
LOGFILE
GROUP 1 'E:/ORADATA/CSZLS/REDO01.LOG'SIZE 1M,
GROUP 2 'E:/ORADATA/CSZLS/REDO02.LOG'SIZE 1M,
GROUP 3 'E:/ORADATA/CSZLS/REDO03.LOG'SIZE 1M
DATAFILE
'E:/ORADATA/CSZLS/SYSTEM01.DBF',
'E:/ORADATA/CSZLS/RBS01.DBF',
'E:/ORADATA/CSZLS/USERS01.DBF',
'E:/ORADATA/CSZLS/TEMP01.DBF',
'E:/ORADATA/CSZLS/TOOLS01.DBF',
'E:/ORADATA/CSZLS/INDX01.DBF',
'E:/ORADATA/CSZLS/DR01.DBF',
'E:/ORADATA/CSZLS/WATER.ORA'
CHARACTER SET WE8ISO8859P1
;
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
# Database can now be opened normally.
ALTER DATABASE OPEN;
# No tempfile entries found to add.
#

第六章 数据库用户
数据库基本用户设置如下:
用户名口令
Oracleinternal
Systemmanager
SysChange_on_install

第七章 数据库数据文件

文件编号文件名文件容量(字节)
1E:/ORADATA/CSZLS/SYSTEM01.DBF276824064
2E:/ORADATA/CSZLS/RBS01.DBF545259520
3E:/ORADATA/CSZLS/USERS01.DBF113246208
4E:/ORADATA/CSZLS/TEMP01.DBF75497472
5E:/ORADATA/CSZLS/TOOLS01.DBF12582912
6E:/ORADATA/CSZLS/INDX01.DBF60817408
7E:/ORADATA/CSZLS/DR01.DBF92274688
8E:/ORADATA/CSZLS/WATER.ORA1782579200

第八章 数据库客户端连接设置
ORACLE双机热备份使用集群系统的虚拟IP对外提供数据库服务,在ORACLE客户端的设置应将数据库地址设为服务器虚拟IP地址

Java程序连接oracle数据库时,用oci驱动要比用thin驱动性能好些。主要的区别是使用thin驱动时,不需要安装oracle的客户端,而使用oci时则要安装oracle的客户端。
从使用thin驱动切换到oci驱动在配置来说很简单,只需把连接字符串java:oracle:thin:@hostip:1521:实例名换为java:oracle:oci@本地服务名即可
thin 不要求安装ORACLE客户端的连接方式
oci(oracle call interface oracle接口调用)要求安装ORACLE客户端
RAC (real application clusters 真正应用集群)

要使java web正常的通过oci驱动访问oracle,还需要客户端正确的配置一下相关变量。主要如下:  
对于windows系统并使用oracle客户端时:  
1. 把%ORACLE_HOME%lib加到PATH环境变量.  
2. 把%ORACLE_HOME%jdbclibclasses12.jar加到CLASSPATH环境变量里.也可以把classes12.jar拷贝到resin的lib目录下。  
对于linux系统并使用oracle即时客户端时:  
1. 在使用resin的用户主目录下的.bash_profile文件中加入  
exprot ORACLE_HOME=/opt/product/10.2.0/cleint/
export LD_LIBRARY_PATH=$ORACLE_HOME/lib  
2. 把instantclient_10_2目录下的classes12.jar拷贝到resin的lib目录下。
用JDBC连接Oracle 10g RAC遇到的问题

数据库升级为Oracle 10g RAC,连接方式如下,
驱动替换为10g的ojdbc14.jar.
在网上查询了很多资料,仍未能解决这个问题, 不得已,只好换成oci方式连接.
在jdbc客户端所在地服务器中,将TNSNAMES.ORA里本地服务名配置为
BOSS23 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.200.2)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.200.3)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = boss)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
oci方式的jdbc url=”jdbc:oracle:oci:@mydb”;


查看双机运行
su - oracle
crs_stat -t

查看状态
srvctl status nodeapps -n wygora02
srvctl start nodeapps -n wygora02

重启CRS
/etc/init.d/init.crs stop
/etc/init.d/init.crs start

双机查错:
ps -ef|grep crs
crsctl start crs
crsctl check crs
检查/etc/oracle/ocr.loc 内容是否一致,是不属于root
检查hosts是否一致
cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
10.0.200.9yjdb1
10.0.200.2yjdb1-vip
199.1.1.2 yjdb1-priv
10.0.200.10 yjdb2
10.0.200.3yjdb2-vip
199.1.1.3 yjdb2-priv

查看网络是否通
ping -c 3 yjdb1
ping -c 3 yjdb2
ping -c 3 yjdb1-priv
ping -c 3 yjdb2-priv
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics