oscar主从部署

环境:
OS:Centos 7
DB:V7

主库:192.168.1.101
备库:192.168.1.103

数据库名称(主备保持一致):HXL

 

1.主库上需要确保在归档模式

[root@localhost bin]# ./isql -h localhost -p 2003 -d HXL sysdba

SQL> select log_mode from v$database;
  LOG_MODE  
------------
 ARCHIVELOG
(1 row)

若数据库不在归档模式,需要按照如下命令进行修改为归档模式
mkdir -p /opt/ShenTong/arch
alter database archivelog '/opt/ShenTong/arch';

 

2.停掉主库
目的是做一致性备份,然后在备库上进行恢复
/etc/init.d/oscardb_HXLd stop

 

3.备库安装相同版本的数据库
需要配置归档,归档路径保持与主库一致

[root@localhost bin]# ./isql -h localhost -p 2003 -d HXL sysdba
[root@localhost ~]#mkdir -p /opt/ShenTong/arch
SQL>alter database archivelog '/opt/ShenTong/arch';

 

4.备份主库
需要在停掉的情况下做一致性备份
[root@localhost bin]# cd /opt/ShenTong/bin
./brcmd -O backup -d HXL -u SYSDBA -p szoscar55 -P 2003 -t full -k file -f /tmp/bk.osrbk -b 8192 -e /tmp/bk_log.txt -c TRUE -m TRUE

 

5.将备份文件拷贝到备库机器
scp /tmp/bk.osrbk root@192.168.1.103:/tmp/
scp /tmp/bk_log.txt root@192.168.1.103:/tmp/

 

6.停掉备库
/etc/init.d/oscardb_HXLd stop

 

7.备库进行恢复
[root@localhost bin]# cd /opt/ShenTong/bin
./brcmd -O restore -d HXL -u SYSDBA -p szoscar55 -P 2003 -t backup_point_last -k file -f /tmp/bk.osrbk -b 8192 -e /tmp/bk_log.txt

 

这里确保备库能够启动
/etc/init.d/oscardb_HXLd start
确保能够正常启动后,需要停止
/etc/init.d/oscardb_HXLd stop

 

8.修改配置文件,2个节点都要进行修改
除了HA_LOCAL_NET_DEV_NAME可能需要修改外,其他的不需要修改

vi /opt/ShenTong/admin/HXL.conf

HOTSTANDBY_DATABASE_TYPE=2
ENABLE_HA_SINGLE_ALIVE=false
HA_LOCAL_NET_DEV_NAME='enp0s3:1'      ### 这个网卡设备名(enp0s3),根据每个机器的配置进行修改
HA_SERVER_IP_ADDRESS='192.168.1.188'  ### 这个是对外提供服务的浮动IP
HA_GATEWAY='192.168.1.1'

 

9.两个节点进行启动
修改完文件后,直接启动节点
/etc/init.d/oscardb_HXLd start
/etc/init.d/oscaragentd start ##若agent停止的话需要启动

 

10.添加节点
在主节点,登录数据库

cd /opt/ShenTong/bin
./isql -p 2003 -U sysdba/szoscar55 -d HXL

alter database add node '192.168.1.101';    ###先添加本机ip
alter database add node '192.168.1.103';    ###再添加备库ip

 

11.查看系统视图

SQL> select * from v_sys_ha_slave_info;
 NODE_ID |    ADDRESS    | SYNCLOG | STATUS | PORT | READABLE | SYNCHRONIZED | WEIGHT | START_LSN | NEXT_SEND_LSN | N
EXT_FLUSH_LSN | NEXT_REDO_LSN | TRANSMISSION_TIME 
---------+---------------+---------+--------+------+----------+--------------+--------+-----------+---------------+--
--------------+---------------+-------------------
       1 | 192.168.1.101 | t       | master | 2003 | f        | f            | 0      |   7766016 |             0 |  
      7766016 |             0 |                 0
       2 | 192.168.1.103 | f       | slave  | 2003 | t        | f            | 0      |   7764480 |       7766016 |  
      7766016 |       7766032 |                 0
(2 rows)

 

12.vip查看

[root@localhost admin]# ip a
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:7f:59:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.101/24 brd 192.168.1.255 scope global noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet 192.168.1.188/24 brd 192.168.1.255 scope global secondary enp0s3:1
       valid_lft forever preferred_lft forever
    inet6 fe80::c0da:c158:92c8:285d/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

 

13.数据验证

主库(192.168.1.101)创建表
cd /opt/ShenTong/bin
./isql -p 2003 -U utest/oracle -d HXL
create table tb_test02
(
id number not null,
name varchar2(32),
createtime timestamp default sysdate,
updatetime timestamp default sysdate
);


insert into tb_test02(id,name) values(1,'name1');
insert into tb_test02(id,name) values(2,'name1');
insert into tb_test02(id,name) values(3,'name1');
insert into tb_test02(id,name) values(4,'name1');
insert into tb_test02(id,name) values(5,'name1');
insert into tb_test02(id,name) values(6,'name1');
insert into tb_test02(id,name) values(7,'name1');
insert into tb_test02(id,name) values(8,'name1');
insert into tb_test02(id,name) values(9,'name1');
insert into tb_test02(id,name) values(10,'name1');

从库(192.168.1.103)上查看
cd /opt/ShenTong/bin
./isql -p 2003 -U utest/oracle -d HXL
SQL> \dt
             List of relations
 schema |       name       | type  | owner  
--------+------------------+-------+--------
 PUBLIC | AQ$_QUEUES       | table | SYSDBA
 PUBLIC | AQ$_QUEUE_TABLES | table | SYSDBA
 UTEST  | TB_TEST          | table | UTEST
 UTEST  | TB_TEST01        | table | UTEST
 UTEST  | TB_TEST02        | table | UTEST
(5 rows)
SQL> select * from tb_test02;
 ID | NAME  |     CREATETIME      |     UPDATETIME      
----+-------+---------------------+---------------------
  1 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  2 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  3 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  4 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  5 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  6 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  7 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  8 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
  9 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
 10 | name1 | 2024-03-06 15:21:26 | 2024-03-06 15:21:26
(10 rows)

 

13.设置权重
alter database alter node 1 weight 20;
我们还可以将不同节点的权重设置为不同值,比如可以将centos75vm1的权重设置的比其他节点高,
那么当centos75vm1修复后,根据权重,这个节点又会自动成为master节点,原来的master节点会重启,变为slave.

 

14.使用vip进行连接
./isql -h 192.168.1.188 -p 2003 -U utest/oracle -d HXL

 

posted @ 2024-03-06 16:06  slnngk  阅读(8)  评论(0编辑  收藏  举报