覆盖环境操作

孟浩浩

887字约3分钟

环境覆盖财务先生EOS

2024-04-20

覆盖环境操作

注:路径、账号信息请根据实际操作环境做改动!

一、应用操作

正式环境:

  1. 进入应用目录
    cd   /u01/fssc/ems/9090/apache-tomcat-7.0.85/webapps/
  2. 压缩ems应用代码 (exclude两句之间是有空格的)
    tar -zcvf  /u01/fssc/file/ems-ap202100805.tar.gz ems/ 
    --exclude ems/WEB-INF/_srv/upload  --exclude ems/upload  --exclude ems/uploadCache  --exclude ems/WEB-INF/_srv/uploadCache

被覆盖环境:

  1. 备份当前环境的代码,与正式环境一致,不再赘述
  2. 拉取正式环境应用压缩文件
    1. 检测服务器之间是否可以通讯
      ping 114.114.114.114
    2. 拉取文件命令:scp 账号@被拉取的服务器ip:被拉取的文件完整路径 存放拉取文件的路径 例如:
      scp root@114.114.114.114:/u01/fssc/file/ems-ap202100805.tar.gz /data/oracle/admin/emssit/dpdump/
    3. 第一次执行会询问是否保存认证信息,输入yes
    4. 输入被拉取服务器的密码
  3. 删除应用文件
    1. 进入应用目录
      cd   /u01/fssc/ems/9090/apache-tomcat-7.0.85/webapps/ems/
    2. 删除应用文件,千万不要输入/ *,否则会删除整个服务器的文件!
      rm -rf *
  4. 解压正式环境应用压缩文件
    tar -zxvf  /u01/fssc/file/ems-ap202100805.tar.gz -C  /u01/fssc/ems/8089/apache-tomcat-7.0.85/webapps/

二、数据库操作

正式环境:

  1. 切换到数据库安装用户,默认是oracle
    su - oracle
  2. 查询导出路径
    1. 打开并登录Oracle Sqlplus客户端
      sqlplus / as sysdba
    2. 查询导出文件夹信息,记住这个路径,记不住可以复制粘贴到别的地方先;DATA_PUMP_DIR对应的路径即是导出路径。退出sqlplus
      select * from dba_directories;
    3. 执行导出命令,账号/密码@数据库实例名称;dumpfile=数据库导出文件名称.dmp,logfile=数据库导出日志文件名称.log;需要保持同名
      expdp sie_ems/emstest@ems directory=DATA_PUMP_DIR dumpfile=EMS_20200820_PROD.dmp logfile=EMS_20200820_PROD.log

被覆盖环境:

  1. 备份以下数据表的数据
    • 系统参数配置:smbp_sysparam
    • 业务字典配置:eos_dict_entry
    • 核算组织扩展属性:select * from Om_Busiorg_Attributes t where t.attribute_value like '%http%'
  2. 导出当前数据库,与正式环境一致,不再赘述
  3. 关闭应用
    ./apps/sie/ems/8001/stopEMSServer.sh
  4. 重启数据库,需要先切换到oracle账号
    1.查看监听器状态:lsnrctl status
    2.停止监听器:lsnrctl stop
    3.连接数据库:sqlplus / as sysdba
    4.停止数据库:shutdown immediate
    5.启动数据库:startup
    6.退出数据库:exit
    7.启动监听:lsnrctl start
  5. 杀掉进程,先查询当前在线的用户
    select se.username,se.saddr,se.sid,se.serial#,se.process,s.sql_id
    from v$session se,v$sqlarea s
    where se.sql_address=s.address;
    
    alter system kill session 'sid,serial#';
  6. 覆盖数据库
    1. 登录管理员账号
      sqlplus /nolog
      connect /as sysdba
    2. 指定数据库实例
      export ORACLE_SID=orcl
    3. 删除数据库用户 sie_ems以及命名空间
      -- 查询账号所属表空间名称
      select default_tablespace from dba_users where username='SIE_EMS';
      drop user sie_ems cascade;
      drop tablespace 表空间名称
    4. 创建表空间、数据库用户 sie_ems 并设置密码、并指定表空间
      create  tablespace EMS_DATA  
      datafile '/data/oracle/oradata/emssit/EMS_DATA.dbf' 
      size 500m  
      autoextend on  
      next 50m maxsize 20480m  
      extent management local;
      create user sie_ems identified by emstest default tablespace EMS_DATA temporary tablespace TEMP;
    5. 数据库用户授权
      grant connect,resource,dba to sie_ems;
    6. 查询导出文件夹信息,参照应用的操作,拉取数据库导出压缩文件到导出文件夹并解压
    7. 权限赋值
      chmod 777 .dmp文件 .log文件
    8. 导入数据库
      impdp sie_ems/emstest@ems dumpfile=EMS_20200820_UAT.dmp  DIRECTORY=DATA_PUMP_DIR   FULL=y