ARCH_SPACE_LIMIT:仅对本地归档有效,用于控制归档健使用大小
初始页大小推荐:8K
ENABLE_REMOTE_OSAUTH=0 禁用远程OS验证,只允许本机验证
RLOG_APPEND_LOGIC=2 逻辑日志操作记录所有信息
扩展数据库重做日志文件:OPEN
SQL查询结果集和PL/SQL函数结果集缓,RS_CAN_CACHE=1且USE_PIN_POOL=1或2
order by 默认asc升序。必须放在select最后
备机归档模式应配置有:本地,实时,异步归档
SVR_LOG:打开跟踪日志
下层查询中间结果较小应该启用:OUTER_JOIN_FLATING_FLAG
HUGE基本单位:文件
跳跃扫描:全选
本地归档:最多可以设置8个
查询列表最多可包含:2048个字段
ENABLE_AUDIT :2 实时侵害规则
运行时候,不可修改:RS_CACHE_TABLES
兼容db2 大小写敏感,空串与NULL不等价
兼容SQL SERVER:大小写不敏感+空串与NULL不等价
视图对象权限:UPDATE、SELECT、GRANT
DB_POLICY_ADMIN包含的权限:CREATE USER、LABEL DATABASE、 SELECT ANY DICTIONARY
RESOURCE角色包含的权限有:CREATE SCHEMA、CREATE TABLE、CREATE VIEW
PUBLIC角色包含的权限:SELECT TABLE、UPDATE TABLE 、SELECT VIEW
存储对象过程权限:EXECUTE、GRANT
DB_POLICY_OPER角色包含权限有:LABEL DATABASE
DB_AUDIT_ADMIN角色包含的权限有:CREATE USER,AUDIT DATABASE
存储过程:EXECUTE,GRANT
局部索引:不能用于hash,合并分区会耗时,局部索引失效,全部需要重建,仅范围分区表支持拆分分区
全文索引:必须在基表定义,可以在堆表分区表定义。
TO_CHAR和UPPER可以用作函数索引
守护进程作用不包括:控制数据守护状态,REPO日志重做,他的作用是同步
主机故障时,备机守护进程状态/备机故障时,监视器看主机守护进程:OPEN-FA-OPEN
主机故障时,监视器看主机守护状态:OPEN→STARTUP
备机故障后,重加入数据守护,主机守护进程状态变化为:OPEN-RECOVERY-OPEN
数据守护节点规划:
dwp 10.11.26.109 ---主机 dws 10.11.26.110 ---备机 dwm 10.11.26.230 ---监视器 数据守护端口规划: 数据库名 实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT GRP1_RT_01 GRP1_RT_01 5236 45101 10.11.26.109 55101 65101 GRP1_RT_02 GRP1_RT_02 5236 45121 10.11.26.110 55121 65121 密码: Dameng_123
# (IP: 10.11.26.109 实例名:GRP1_RT_01):
su - dmdba
# 主
/data/dm8/bin/dminit PATH=/data/dm8 INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=2048 CASE_SENSITIVE=0 SYSDBA_PWD=Dameng_123
# 托管system服务
# 退回root权限
exit
/data/dm8/script/root/dm_service_installer.sh -t DMSERVER -dm_ini /data/dm8/data/DAMENG/dm.ini -p GRP1_RT_01
# 注册服务
/data/dm8/root/dm_service_installer.sh -t dmserver -p GRP1_RT_01 -dm_ini /dm8/data/GRP1_RT_01/dm.ini
# 启动
systemctl start DmServiceGRP1_RT_01.service
systemctl start DmAPService.service
# 备 (IP: 10.11.26.110 实例名:GRP1_RT_02):
/data/dm8/bin/dminit path=/data/dm8 DB_NAME=GRP1_RT_02 INSTANCE_NAME=GRP1_RT_01 PAGE_SIZE=8 EXTENT_SIZE=16 LOG_SIZE=500 CASE_SENSITIVE=Y SYSDBA_PWD=Dameng_123
su - root
/data/dm8/script/root/dm_service_installer.sh -t dmserver -p GRP1_RT_02 -dm_ini /data/dm8/GRP1_RT_02/dm.ini
# 启动
systemctl start DmServiceGRP1_RT_02.service
systemctl start DmAPService.service
# 关机
systemctl start DmServiceGRP1_RT_01.service
systemctl start DmServiceGRP1_RT_02.service
# 主库执行备份
/data/dm8/bin/dmrman CTLSTMT="BACKUP DATABASE '/data/dm8/GRP1_RT_01/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/data/dm8/backup'"
# 从主传到备
scp -r /data/dm8/backup/ root@10.11.26.110:/data/dm8/
# 备机器执行恢复
/data/dm8/bin/dmrman CTLSTMT="RESTORE DATABASE '/data/dm8/GRP1_RT_02/dm.ini' FROM BACKUPSET '/data/dm8/backup'"
/data/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/data/dm8/GRP1_RT_02/dm.ini' FROM BACKUPSET '/data/dm8/backup'"
/data/dm8/bin/dmrman CTLSTMT="RECOVER DATABASE '/data/dm8/GRP1_RT_02/dm.ini' UPDATE DB_MAGIC"
# 修改主库
vi /data/dm8/GRP1_RT_01/dm.ini
INSTANCE_NAME = GRP1_RT_01
PORT_NUM = 5236 #数据库实例监听端口
DW_INACTIVE_INTERVAL = 60 #接收守护进程消息超时时间
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
vi /data/dm8/GRP1_RT_01/dmarch.ini (注:arch_dest备机写主机实例,主机写备机实例)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME #实时归档类型
ARCH_DEST = GRP1_RT_02 #实时归档目标实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /data/dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
vi /data/dm8/GRP1_RT_01/dmmal.ini
MAL_CHECK_INTERVAL = 10 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01 #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST = 10.11.26.109 #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT = 55101 #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST = 10.11.26.109 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.11.26.110
MAL_PORT = 55121
MAL_INST_HOST = 10.11.26.220
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
vi /data/dm8/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /data/dm8/GRP1_RT_01/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /data/dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
# 主库启动,mount方式
/data/dm8/bin/dmserver /data/dm8/GRP1_RT_01/dm.ini mount
disql SYSDBA/Dameng_123@10.11.26.109:5236
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database primary;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
B 机器里 dmmal.ini、dmwatcher.ini 与 A 机器 GRP1_RT_01 的 dmmal.ini、dmwatcher.ini 相同,参照 A 机器 dmmal.ini、dmwatcher.ini 文件进行配置。
vi /data/dm8/GRP1_RT_02/dm.ini
INSTANCE_NAME = GRP1_RT_02
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
vi /data/dm8/GRP1_RT_02/dmarch.ini (注:arch_dest备机写主机实例,主机写备机实例)
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = GRP1_RT_01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /data/dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 0
## 修改dmwatcher.ini
vi /data/dm8/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一 OGUID 值
INST_INI = /data/dm8/GRP1_RT_02/dm.ini #dm.ini 文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /data/dm8/bin/dmserver #命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
vi /data/dm8/GRP1_RT_02/dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = GRP1_RT_01
MAL_HOST = 10.11.26.109
MAL_PORT = 55101
MAL_INST_HOST = 10.11.26.109
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = GRP1_RT_02
MAL_HOST = 10.11.26.110
MAL_PORT = 55121
MAL_INST_HOST = 10.11.26.110
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
# 启动备库,mount方式
/data/dm8/bin/dmserver /data/dm8/GRP1_RT_02/dm.ini mount
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SQL>sp_set_oguid(453331);
SQL>alter database standby;
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);
# root账户执行
# 启主守护进程
/data/dm8/bin/dmwatcher /data/dm8//GRP1_RT_01/dmwatcher.ini
/data/dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /data/dm8/GRP1_RT_01/dmwatcher.ini
# 启备守护进程
/data/dm8/bin/dmwatcher /data/dm8/GRP1_RT_02/dmwatcher.ini
/data/dm8/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /data/dm8/GRP1_RT_02/dmwatcher.ini
# 如需删除重建
/data/dm8/script/root/dm_service_uninstaller.sh -n DmServiceGRP1_RT_01
/data/dm8/script/root/dm_service_uninstaller.sh -n DmWatcherServiceWatcher
如无资源,可使用备机器配置监视器
vi /data/dm8/bin/dmmonitor.ini
/data/dm8/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /data/dm8/bin/dmmonitor.ini
MON_DW_CONFIRM = 1 #0:非确认(故障手切) 1:确认(故障自切)
MON_LOG_PATH = /dm8/data/log #监视器日志文件存放路径
MON_LOG_INTERVAL = 60 #每隔 60s 定时记录系统信息到日志文件
MON_LOG_FILE_SIZE = 512 #单个日志大小,单位 MB
MON_LOG_SPACE_LIMIT = 2048 #日志上限,单位 MB
[GRP1]
MON_INST_OGUID = 453331 #组 GRP1 的唯一 OGUID 值
MON_DW_IP = 10.11.26.109:5326 #IP 对应 MAL_HOST,PORT 对应 MAL_DW_PORT
MON_DW_IP = 10.11.26.110:5326
进入终端
./dmmonitor path=/data/dm8/data/DAMENG/dmmoitor.ini
# 主从同步测试
```bash
# 主机器
set schema xxx;
create table t1(id int);
insert into values(1);
commit;
# 从机器
set schema xx;
select * from t1;
切换操作
进入监视器
# 查看当前状态
show
# 切换
switchover
# 登录
login
sysdba
Dameng_123
# 确认切换
switchover
# 确认切换后情况
show
如下图 10.11.26.109 为standby, 110 为primary
# 切换回去
switchover
# show
确认是否109为primary ,110 为standby
1、关闭监视器
2、关闭备库守护进程
3、关闭主库守护进程
4、关闭主库实例
5、关闭备库实例
文章
阅读量
获赞