zoukankan      html  css  js  c++  java
  • DM的常规运维

    总结了达梦数据库新手运维部分内容,如下:

    1 常用的tool(图形化界面)

    dbca.sh   创建新数据库实例使用较多

    manager  管理数据库

    dmservice.sh  启停数据库服务

    console 控制台,包含了参数 、脱机备份等功能

    dts   实现多种形式的数据导入

    2 DM启动与停止

    2.1启动DM节点

    服务器1 IP:xx.xx.xx.71

    cd /opt/dmdbms/bin

    ./DmServiceDM71 start

    ./DmWatcherServiceDM71 start

    服务器2 IP:xx.xx.xx.72

    cd /opt/dmdbms/bin

    ./DmServiceDM72 start

    ./DmWatcherServiceDM72 start

    监视器IP:xx.xx.xx.xx

    cd /opt/dmdbms/bin

    ./dmmonitor dmmonitor_noconfirm.ini

    show命令查看集群正常后执行exit退出

    ./DmMonitorServiceDMM start

    2.2 停止DM节点

    监视器IP:xx.xx.xx.xx

    cd /opt/dmdbms/bin

    ./dmmonitor dmmonitor_noconfirm.ini

    show命令查看集群状态,例如71为主库,72为备库

    ./DmMonitorServiceDMM stop

    服务器2 IP:xx.xx.xx.72

    cd /opt/dmdbms/bin

    ./DmWatcherServiceDM72 stop

    服务器1 IP:xx.xx.xx.71

    cd /opt/dmdbms/bin

    ./DmWatcherServiceDM71 stop

    ./DmServiceDM71 stop

    服务器2 IP:xx.xx.xx.72

    ./DmServiceDM72 stop

    3 DM登录

    cd /opt/dmdbms/bin

    ./disql username/password@服务名

    4 DM环境检查

    • 网络环境检查,数据库服务器都建议关闭防火墙
    • 调整ulimit 设置(nofile,nproc)
    • 配置NTP时钟同步
    • 磁盘环境检查,确认磁盘大小以及挂载点,根据实际情况规划数据库程序安装位置以及数据文件、备份文件位置,归档日志文件大小限制以及位置。

    5 DM命令行工具

    disql

    命令行客户端工具

    dimp/dexp

    数据导入导出工具

    dmrman

    脱机备份恢复工具

    6 监视集群状态监控

    使用监视器对集群进行监控,具体命令如下:

    1.help —显示帮助信息

    2.exit —退出监视器

    3.show version —显示监视器自身版本信息

    4.show global info —显示所有组的全局信息

    5.show database [group_name.]db_name —显示指定库的详细信息

    6.show [group_name] —显示指定组的详细信息,如果未指定组名,则显示所有组的详细信息

    7.show i[nterval] n —每隔n秒自动显示所有组的详细信息

    8.q —取消自动显示

    9.list [[group_name.]db_name] —列出指定组的库对应的守护进程配置信息,如果都未指定,则列出所有守护进程配置信息

    10.show open info [group_name.]db_name —显示指定库的OPEN历史信息

    11.show arch send info [group_name.]db_name —查看源库到指定组的指定库的归档同步信息(包含恢复间隔信息)

    12.show apply stat [group_name.]db_name —查看指定组的指定库的日志重演信息

    13.show monitor [group_name[.]] [db_name] —列出连接到指定守护进程的所有监视器信息

    14.tip - -查看系统当前运行状态

    15.login —登录监视器

    16.logout —退出登录

    1. get takeover time —获取备库开始自动接管需要延迟等待的时间

    18.startup dmwatcher [group_name] —启动指定组的守护进程监控功能

    19.stop dmwatcher [group_name] —关闭指定组的守护进程监控功能

    20.startup group [group_name] —启动指定组中的所有库

    21.stop group [group_name] —关闭指定组中的所有库

    22.kill group [group_name] —强制杀掉指定组中的所有活动库

    23.choose switchover [group_name] —选择可切换为PRIMARY库的备库列表

    24.choose takeover [group_name] —选择可接管故障PRIMARY库的备库列表

    25.choose takeover force [group_name] —选择可强制接管故障PRIMARY库的备库列表

    26.set group [group_name] auto restart on —打开指定组中所有节点的自动拉起功能

    27.set group [group_name] auto restart off —关闭指定组中所有节点的自动拉起功能

    1. set group [group_name] para_name para_value

    --修改指定组的所有守护进程的指定配置参数(同时修改ini文件和内存值),如果未指定组名,则通知所有组执行

    --para_name指定参数名称,para_value指定参数值

    --支持修改参数: DW_ERROR_TIME/INST_RECOVER_TIME/INST_ERROR_TIME/INST_AUTO_RESTART/

    INST_SERVICE_IP_CHECK/RLOG_SEND_THRESHOLD/RLOG_APPLY_THRESHOLD

    1. set group [group_name] recover time time_value

    --修改指定组中所有备库的恢复间隔为time_value指定的整数值(time_value取值:3~86400,单位为秒)(只修改守护进程内存值)

    --如果未指定组名,则通知所有组执行

    30.set group [group_name] arch invalid —修改指定组中所有备库的归档为无效状态,如果未指定组名,则通知所有组执行

    31.clear group [group_name] arch send info —清理指定组中源库到所有备库(包括异步备库)的最近N次归档发送信息(通知源库执行),没有指定组名则通知所有组执行

    --N值取主库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际归档发送次数中的较小值

    32.clear group [group_name] apply stat —清理指定组中所有备库的最近N次重演信息(通知组中所有备库执行),没有指定组名则通知所有组执行

    --N值取备库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际重演次数中的较小值

    33.check recover [group_name.]db_name —检查指定组的指定库是否满足自动恢复条件

    34.check open [group_name.]db_name —检查指定组的指定库是否满足自动OPEN条件

    35.open database [group_name.]db_name —强制OPEN指定组的指定库

    36.switchover [group_name[.]] [db_name] —切换指定组的指定库为PRIMARY库

    37.takeover [group_name[.]] [db_name] —使用指定组的指定库接管故障PRIMARY库

    38.takeover force [group_name[.]] [db_name] —使用指定组的指定库强制接管故障PRIMARY库

    39.set database [group_name.]db_name recover time time_value

    --修改指定组的指定库的恢复间隔为time_value指定的整数值(time_value取值:3~86400,单位为秒)(只修改守护进程内存值)

    1. set database [group_name.]db_name arch invalid

    --修改指定组的指定库的归档为无效状态

    41.detach database [group_name.]db_name —将指定的备库分离出守护进程组

    42.attach database [group_name.]db_name —将分离出去的备库重新加回到守护进程组

    43.startup dmwatcher database [group_name.]db_name

    --启动指定库的守护进程监控功能

    1. stop dmwatcher database [group_name.]db_name

    --关闭指定库的守护进程监控功能

    1. startup database [group_name.]db_name

    --启动指定组的指定库

    1. stop database [group_name.]db_name

    --关闭指定组的指定库

    1. kill database [group_name.]db_name

    --强杀指定组的指定库

    1. clear database [group_name.]db_name arch send info

    --清理指定组中主库到指定备库的最近N次归档发送信息(通知主库执行)

    --N值取主库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际归档发送次数中的较小值

    1. clear database [group_name.]db_name apply stat

    --清理指定备库的最近N次重演信息(通知备库执行)

    --N值取备库dm.ini中配置的RLOG_SEND_APPLY_MON值和实际重演次数中的较小值

    7 DM用户创建与管理

    • 创建用户

    create user “USERNAME” identified by “PASSWORD” password_policy 2 limit failed_login_attemps 3, password_lock_time 1, password_grace_time 10 default tablespace “tablespace_name” default index tablespace “tablespace_name”;

    • 删除用户

    drop user username cascade;

    • 修改密码

    alter user username identified by “PASSWORD”;

    8 DM配置文件

    达梦数据库主要的配置文件有如下5个:

    1. dm.ini是DM数据库启动所必须的配置文件
    2. dmmal.ini是DM数据库 MAL系统的配置文件
    3. dmarch.ini是DM数据库Redo日志归档配置文件。
    4. dmwatcher.ini是DM数据库守护进程配置文件。
    5. dmmonitor.ini是DM数据库监视器配置文件。
    6. dm_svc.conf是包含DM各接口及客户端参数的文件,配置如下:

    TIME_ZONE=(+480)

    LANGUAGE=(en)

    ZGRS=(xx.xx.xx.xx:5236,xx.xx.xx.xx:5236) #ZGRS为服务名

    [ZGRS]

    LOGIN_MODE=(1)

    SWITCH_TIME=(6000)

    SWITCH_INTERVAL=(10)

    9 数据库状态和模式

    DM数据库包含以下几种状态:

    1. 配置状态(MOUNT):不允许访问数据库对象,只能进行控制文件维护、归档配置、数据库模式修改等操作;

    2. 打开状态(OPEN):不能进行控制文件维护、归档配置等操作,可以访问数据库对象,对外提供正常的数据库服务;

    3. 挂起状态(SUSPEND):与OPEN状态的唯一区别就是,限制磁盘写入功能;一旦修改了数据页,触发REDO日志、数据页刷盘,当前用户将被挂起。

    OPEN状态与MOUNT和SUSPEND能相互转换,但是MOUNT和SUSPEND之间不能相互转换。

    DM数据库包含以下几种模式:

    1.普通模式(NORMAL):用户可以正常访问数据库,操作没有限制;

    2.主库模式(PRIMARY):用户可以正常访问数据库,所有对数据库对象的修改强制生成REDO日志,在归档有效时,发送REDO日志到备库;

    3.备库模式(STANDBY):接收主库发送过来的REDO日志并重做。数据对用户只读。

    三种模式只能在MOUNT状态下设置,模式之间可以相互转换。

    对于新初始化的库,首次启动不允许使用mount方式,需要先正常启动并正常退出,然后才允许mount方式启动。

    一般情况下,数据库为NORMAL模式,如果不指定MOUNT状态启动,则自动启动到OPEN状态。

    在需要对数据库配置时(如配置数据守护、数据复制),服务器需要指定MOUNT状态启动。当数据库模式为非NORMAL模式(PRIMARY、STANDBY模式),无论是否指定启动状态,服务器启动时自动启动到MOUNT状态。

    10 DM的备份恢复

    10.1 物理备份恢复

    物理备份则直接扫描数据库文件,找出那些已经分配、使用的数据页,拷贝并保存到备份集中。物理备份过程中,不关心数据页的具体内容是什么,也不关心数据页属于哪一张表,只是简单的根据数据库文件系统的描述,来挑选有效的数据页。

    10.1.1 数据库联机备份

    数据库处于运行状态、并正常提供数据库服务情况下进行的备份操作,我们称为联机备份。

    联机备份则使用客户端工具连接到数据库实例后,通过执行SQL语句进行;也可以通过配置作业,定时完成自动备份。联机备份不影响数据库正常提供服务,是最常用的备份手段之一。

    联机备份时,可能存在一些处于活动状态的事务正在执行,为确保备份数据的一致性,需要将备份期间产生的REDO日志一起备份。因此,只能在配置本地归档、并开启本地归档的数据库上执行联机备份。

    1.数据库全量备份

    SQL>BACKUP DATABASE FULL BACKUPSET ‘/home/dm_bak/db_full_bak_01’;

    2.数据库增量备份

    SQL>BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘/home/dm_bak’BACKUPSET ‘/home/dm_bak/db_increment_bak_02’;

    10.1.2 数据库脱机备份

    数据库处于关闭状态时进行的备份操作,被称为脱机备份。

    使用DMRMAN工具进行脱机备份,并且支持对异常关闭的数据库进行脱机库备份。备份异常关闭的数据库,要求配置了本地归档,如果本地归档不完整,则需要先修复本地归档,再进行备份。

    cd /opt/dmdbms/bin

    ./dmrman

    RMAN>BACKUP DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’ FULL BACKUPSET ‘/home/dm_bak/db_full_bak_01’;

    RMAN>exit

    10.1.3 数据库还原和恢复

    1. 校验备份

    RMAN>CHECK BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_backupset’;

    1. 还原数据库

    使用全备还原语句

    RMAN>RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_backupset’;

    使用增备还原语句

    RMAN>RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_increment_bak_for_recover_backupset’ WITH BACKUPDIR ‘/home/dm_bak/db_full_bak_for_recover_backupset’

    1. 恢复数据库

    使用全备恢复语句

    RMAN>RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_backupset’;

    使用增备恢复语句

    RMAN>RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_increment_bak_for_recover_backupset’ WITH BACKUPDIR ‘/home/dm_bak/db_full_bak_for_recover_backupset’

    10.2 逻辑备份恢复

    逻辑备份是指利用dexp导出工具,将指定对象(库级、模式级、表级)的数据导出到文件的备份方式。逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置。

    10.2.1 dexp逻辑导出

    格式: ./dexp KEYWORD=value 或 KEYWORD=(value1,value2,…,valueN)

    例程: ./dexp SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)

    USERID 必须是命令行中的第一个参数

    关键字 说明(默认值)

    -———————————————————————————————————————-

    USERID 用户名/口令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD

    FILE 导出文件 (dexp.dmp)

    DIRECTORY 导出文件所在目录

    FULL 整库导出 (N)

    OWNER 以用户方式导出 格式 (user1,user2,…)

    SCHEMAS 以模式方式导出 格式 (schema1,schema2,…)

    TABLES 以表方式导出 格式 (table1,table2,…)

    FUZZY_MATCH TABLES选项是否支持模糊匹配 (N)

    QUERY 用于导出表的子集的select 子句

    PARALLEL 用于指定导出的过程中所使用的线程数目

    TABLE_PARALLEL 用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程

    TABLE_POOL 用于指定表的缓冲区个数

    EXCLUDE 忽略指定的对象

    格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or

    EXCLUDE=TABLES:table1,table2 or

    EXCLUDE=SCHEMAS:sch1,sch2

    INCLUDE 包含指定的对象

    格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or

    INCLUDE=TABLES:table1,table2

    CONSTRAINTS 导出约束 (Y)

    TABLESPACE 导出对象带有表空间 (N)

    GRANTS 导出权限 (Y)

    INDEXES 导出索引 (Y)

    TRIGGERS 导出触发器 (Y)

    ROWS 导出数据行 (Y)

    LOG 屏幕输出的日志文件

    NOLOGFILE 不使用日志文件(N)

    NOLOG 屏幕上不显示日志信息(N)

    LOG_WRITE 日志信息实时写入文件: 是(Y),否(N)

    DUMMY 交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)

    PARFILE 参数文件名

    FEEDBACK 每 x 行显示进度 (0)

    COMPRESS 导出数据是否压缩 (N)

    ENCRYPT 导出数据是否加密 (N)

    ENCRYPT_PASSWORD 导出数据的加密密钥

    ENCRYPT_NAME 加密算法的名称

    FILESIZE 每个转储文件的最大大小

    FILENUM 一个模板可以生成的文件数

    DROP 导出后删除原表,但不级联删除 (N)

    DESCRIBE 导出数据文件的描述信息,记录在数据文件中

    LOCAL MPP模式下登录使用MPP_LOCAL方式(N)

    HELP 打印帮助信息

    ./dexp USERNAME/PASSWORD@IP:端口 FILE=dexp01.dmp LOG=dexp01.log DIRECTORY=/emc_2/data/dexp FULL=Y

    10.2.2 dimp逻辑导入

    格式: ./dimp KEYWORD=value 或 KEYWORD=(value1,value2,…,vlaueN)

    例程: ./dimp SYSDBA/SYSDBA IGNORE=Y ROWS=Y FULL=Y

    USERID 必须是命令行中的第一个参数

    关键字 说明(默认值)

    -———————————————————————————————————————-

    USERID 用户名/口令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD

    FILE 导入文件名称 (dexp.dmp)

    DIRECTORY 导入文件所在目录

    FULL 整库导入 (N)

    OWNER 以用户方式导入 格式 (user1,user2,…)

    SCHEMAS 以模式方式导入 格式 (schema1,schema2,…)

    TABLES 以表名方式导入 格式(table1,table2,…)

    PARALLEL 用于指定导入的过程中所使用的线程数目

    TABLE_PARALLEL 用于指定导入的过程中每个表所使用的子线程数目,在FAST_LOAD为Y时有效

    IGNORE 忽略创建错误 (N)

    TABLE_EXISTS_ACTION 需要的导入表在目标库中存在时采取的操作[SKIP | APPEND | TRUNCATE | REPLACE]

    FAST_LOAD 是否使用dmfldr来导数据(N)

    FLDR_ORDER 使用dmfldr是否需要严格按顺序来导数据(Y)

    COMMIT_ROWS 批量提交的行数(5000)

    EXCLUDE 忽略指定的对象格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)

    GRANTS 导入权限 (Y)

    CONSTRAINTS 导入约束 (Y)

    INDEXES 导入索引 (Y)

    TRIGGERS 导入触发器 (Y)

    ROWS 导入数据行 (Y)

    LOG 指定日志文件

    NOLOGFILE 不使用日志文件(N)

    NOLOG 屏幕上不显示日志信息(N)

    LOG_WRITE 日志信息实时写入文件(N): 是(Y),否(N)

    DUMMY 交互信息处理(P): 打印(P), 所有交互都按YES处理(Y),NO(N)

    PARFILE 参数文件名

    FEEDBACK 每 x 行显示进度 (0)

    COMPILE 编译过程, 程序包和函数… (Y)

    INDEXFILE 将表的索引/约束信息写入指定的文件

    INDEXFIRST 导入时先建索引(N)

    REMAP_SCHEMA 格式(SOURCE_SCHEMA:TARGET_SCHEMA)

    将SOURCE_SCHEMA中的数据导入到TARGET_SCHEMA中

    ENCRYPT_PASSWORD 数据的加密密钥

    ENCRYPT_NAME 加密算法的名称

    SHOW/DESCRIBE 打印出指定文件的信息(N)

    LOCAL MPP模式下登录使用MPP_LOCAL方式(N)

    TASK_THREAD_NUMBER 用于设置dmfldr处理用户数据的线程数目

    BUFFER_NODE_SIZE 用于设置dmfldr读入文件缓冲区大小

    TASK_SEND_NODE_NUMBER 用于设置dmfldr发送节点个数[16,65535]

    LOB_NOT_FAST_LOAD 如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的

    PRIMARY_CONFLICT 主键冲突的处理方式[IGNORE|OVERWRITE],默认报错

    TABLE_FIRST 是否先导入表(N):是(Y),否(N)

    HELP 打印帮助信息

    ./dimp USERNAME/PASSWORD@IP:端口 FILE=/emc_2/data/dexp/dexp01.dmp LOG=dimp02.log DIRECTORY=/emc_2/data/dimp SCHEMAS=SCHEMA_NAME1,SCHEMA_NAME2

  • 相关阅读:
    Ext Js MVC系列二 利用Application和Viewport进行应用程序初始化和页面布局
    LINQ to Sql系列一 增,删,改
    Ext Js MVC系列一 环境搭建和MVC框架整体认识
    LINQ to Sql系列四 性能优化总结
    SQL基础回顾系列一 单表查询(select语句)
    JSON详解
    公用类库(4) 缓存操作类CacheUtil
    架构设计考虑的问题(出自代码大全II)
    .net自动更新组件Ant
    .net socket在win2008下的吞吐性能报告
  • 原文地址:https://www.cnblogs.com/wangke2017/p/14524422.html
Copyright © 2011-2022 走看看