重建致远OA系统的步骤

    原OA服务器坏了,将OA系统迁移到其他服务器,简单地说,就是重搭系统。

1、安装操作系统

在这里插入图片描述
    设置主机名为OA,设置IP和网关,DNS为114.114.114.114。
在这里插入图片描述
    分区可简单分为根分区与swap分区,Desktop安装即可。安装软件时建议不勾选Java平台。
在这里插入图片描述
    关闭selinux和防火墙,设置开机不启动。

2、安装ORACLE数据库

    (1)上传并使用CentOS6.repo

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-6.10 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-6.10 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-6.10 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.10 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-6.10 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.10/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

    安装上epel

# yum install epel-release -y

    新建/home/tools文件夹,上传以下文件到文件夹下:
    UFSeeyon.tar.gz(将原来的应用打成tar.gz的包)
    oradata_exp_2021xxxx.dmp.gz(数据库的备份文件)
    linux.x64_11gR2_database_1of2.zip(oracle安装文件)
    linux.x64_11gR2_database_2of2.zip(oracle安装文件)
    jdk-7u51-linux-x64.rpm
    (2)解压缩linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip,出现一个database目录。

# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip

    (3)yum安装以下软件包

yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install libXp* -y
yum install -y glibc-kernheaders
yum install -y unixODBC*

    检查下lib是否安装齐全:

[root@powerlong4 ~]# rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel xorg-x11-deprecated-libs

    (4)安装jdk-7u51-linux-x64.rpm

# rpm -ivh jdk-7u51-linux-x64.rpm 
Preparing...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        tools.jar...
        localedata.jar...
        jfxrt.jar...

    安装完成后出现/usr/java文件夹。

    (5)调整内核参数及用户限制
    将原系统/etc/sysctl.conf和/etc/security/limits.conf复制到新系统。同时,/etc/hosts新增:

127.0.0.1    OA

    新建用户和组

# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle

    使用原系统的/home/oracle/.bash_profile替换相同位置的文件。
    创建/u01文件夹:

# mkdir /u01
# chown oracle:oinstall /u01/

    准备过程结束后,建议重启主机。

    (6)以oracle身份登陆主机,启动Oracle的runInstaller。开始安装oracle。
在这里插入图片描述
    去掉I wish to receive security updates via My Oracle Support选项,点击Next
在这里插入图片描述
    选择Install database software only,点击Next
在这里插入图片描述
    选择Single instance database installation,点击Next
在这里插入图片描述
    在Available Languages中点选English、Simplified Chinese,点击两个框中间的>,将选中的语言加入到右边的Selected Languages中,然后点击Next。
在这里插入图片描述
    按照实际情况,选择企业版本
在这里插入图片描述
    填写Oracle的软件路径和基本路径,默认即可
在这里插入图片描述
    选择安装日志目录,默认即可
在这里插入图片描述
    选择dba组
在这里插入图片描述
    因为CentOS版本较高,所以11g check的时候不识别高版本lib包。勾选Ignore All。
在这里插入图片描述
    继续安装
在这里插入图片描述
    等待一会儿
在这里插入图片描述
    点击ok,继续
在这里插入图片描述
    点击close,结束。
在这里插入图片描述

3、配置数据库监听与实例

    (1)命令行输入netca,配置数据库监听。
在这里插入图片描述
    一直点击Next
在这里插入图片描述
    点击Finish结束
在这里插入图片描述
    (2)命令行输入dbca,开始配置数据库实例
在这里插入图片描述
    点击Next
在这里插入图片描述
    选择Custom Database
在这里插入图片描述
    在Global Database Name框输入实例名v3x,SID框自动与Global Database Name框一致,点击Next
在这里插入图片描述
    继续使用默认值,点击Next
在这里插入图片描述
    为SYS、SYSTEM、DBSNMP和SYSMAN用户设置密码
在这里插入图片描述
    以oracle身份创建文件夹/u01/app/oracle/oradata之后,选择该文件夹,将所有数据库文件放到该文件夹下
在这里插入图片描述
    保持默认值,点击Next
在这里插入图片描述
    保持默认值,点击Next
在这里插入图片描述
    内存大小可结合硬件情况灵活配置,也可以保持默认值。
在这里插入图片描述
    字符集选择ZHS16GBK(根据原应用环境进行选择,我们用的版本老,新一点的版本都选择第一项Use the default)
在这里插入图片描述
    勾选Generate Database Creation Scripts
在这里插入图片描述
    一路确认默认配置,使用root创建/etc/oratab文件并授予777权限。
在这里插入图片描述

# touch /etc/oratab
# chmod 777 /etc/oratab

    点击ok继续安装。
    整个安装过程需要等待较长的一段时间
在这里插入图片描述
    安装完成,点击Exit退出。
在这里插入图片描述
    最后确认已经生成/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora文件,如未生成该文件,使用netca命令生成。

4、配置数据库权限

    (1)确认数据库正常
在这里插入图片描述
    (2)登陆数据库命令行,进行系统设置

$ sqlplus "/ as sysdba"
SQL> alter system set deferred_segment_creation=false scope=spfile;
SQL> alter system set aq_tm_processes=1 scope=both;
SQL> ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;

    创建表空间

SQL> create smallfile tablespace "V3XSPACE" 
    datafile '/u01/app/oracle/oradata/v3x/V3XFILE.DBF' size 20480m
    autoextend on next 10240m maxsize unlimited 
    logging extent management local segment space management auto;

    创建账号并授予权限

SQL> CREATE USER V3XUSER PROFILE DEFAULT IDENTIFIED 
    BY ****** DEFAULT TABLESPACE V3XSPACE TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK ;
SQL> GRANT CREATE VIEW,ALTER SESSION,CONNECT,RESOURCE,UNLIMITED TABLESPACE TO
    V3XUSER;
SQL> grant create session to v3xuser;
SQL> grant create table to v3xuser;
SQL> grant create sequence to v3xuser;
SQL> grant sysdba to v3xuser;
SQL> grant imp_full_database to v3xuser;

    登录测试:

$ sqlplus v3xuser
5、导入数据

    请根据实际情况灵活制定恢复方案,我的步骤没有太多共性。
    (1)命令行执行建表语句。
    创建BUL_TEMPLATE表:

    CREATE TABLE "V3XUSER"."BUL_TEMPLATE" 
   (	"ID" NUMBER(19,0) NOT NULL ENABLE, 
	"TEMPLATE_NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE, 
	"USEDFLAG" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE, 
	"DESCRIPTION" CLOB, 
	"TEMPLATE_FORMAT" VARCHAR2(50 BYTE) NOT NULL ENABLE, 
	"CONTENT" CLOB, 
	"CREATE_USER" NUMBER(19,0) NOT NULL ENABLE, 
	"CREATE_DATE" TIMESTAMP (6) NOT NULL ENABLE, 
	"UPDATE_DATE" TIMESTAMP (6), 
	"UPDATE_USER" NUMBER(19,0), 
	"ACCOUNTID" NUMBER(19,0) NOT NULL ENABLE, 
	"EXT1" VARCHAR2(50 BYTE), 
	"EXT2" VARCHAR2(50 BYTE), 
	 CONSTRAINT "PK_BUL_2" PRIMARY KEY ("ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOCOMPRESS LOGGING
  TABLESPACE "V3XSPACE"  ENABLE
   ) SEGMENT CREATION DEFERRED 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "V3XSPACE" 
 LOB ("DESCRIPTION") STORE AS BASICFILE (
  TABLESPACE "V3XSPACE" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
  NOCACHE LOGGING ) 
 LOB ("CONTENT") STORE AS BASICFILE (
  TABLESPACE "V3XSPACE" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
  NOCACHE LOGGING ) ;

    创建NEWS_TEMPLATE表:

    CREATE TABLE "V3XUSER"."NEWS_TEMPLATE" 
   (	"ID" NUMBER(19,0) NOT NULL ENABLE, 
	"TEMPLATE_NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE, 
	"USEDFLAG" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE, 
	"DESCRIPTION" CLOB, 
	"TEMPLATE_FORMAT" VARCHAR2(50 BYTE) NOT NULL ENABLE, 
	"CONTENT" CLOB, 
	"CREATE_USER" NUMBER(19,0) NOT NULL ENABLE, 
	"CREATE_DATE" TIMESTAMP (6) NOT NULL ENABLE, 
	"UPDATE_DATE" TIMESTAMP (6), 
	"UPDATE_USER" NUMBER(19,0), 
	"ACCOUNTID" NUMBER(19,0) NOT NULL ENABLE, 
	"EXT1" VARCHAR2(50 BYTE), 
	"EXT2" VARCHAR2(50 BYTE), 
	 CONSTRAINT "PK_NEWS_2" PRIMARY KEY ("ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOCOMPRESS LOGGING
  TABLESPACE "V3XSPACE"  ENABLE
   ) SEGMENT CREATION DEFERRED 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  TABLESPACE "V3XSPACE" 
 LOB ("DESCRIPTION") STORE AS BASICFILE (
  TABLESPACE "V3XSPACE" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
  NOCACHE LOGGING ) 
 LOB ("CONTENT") STORE AS BASICFILE (
  TABLESPACE "V3XSPACE" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
  NOCACHE LOGGING ) ;

    (2)解压缩并导入备份文件

# gunzip oradata_exp_2021xxxx.dmp.gz

    导入oradata_exp_2021xxxx.dmp文件:

$ imp v3xuser/******@v3x file=oradata_exp_2021xxxx.dmp full=y

    如果在该步骤导入PROCESS_RUNNING表时出现报错:

. . importing table              "PROCESS_RUNNING"
IMP-00064: Definition of LOB was truncated by export
IMP-00028: partial import of previous table rolled back: xxxxxx rows rolled back

    这是因为执行exp备份数据库的时候就有问题了,最好根据以前备份完整的数据,重建表PROCESS_RUNNING,导入数据及约束;
    (4)因为这里的oradata_exp_2021xxxx.dmp.gz只是v3x实例的数据,并不完整,所以我又创建目录并追加导入了以前备份的整个数据库数据expdat.dmp

SQL> create or replace directory dirdmp as '/u01/app/oracle/admin/v3x/dpdump';   
SQL> select * from dba_directories;

    将expdat.dmp放入/u01/app/oracle/admin/v3x/dpdump文件夹下,追加导入:

impdp v3xuser/****** table_exists_action=append DIRECTORY=dirdmp DUMPFILE=expdat.dmp FULL=y;
6、启动应用

    (1)解压缩文件UFSeeyon.tar.gz,并将文件移至/usr/local下,修改用户权限为root(非常重要)
chown -R root:root /usr/local/UFSeeyon
    (2)联系致远公司,更新并替换加密狗秘钥。
    (3)以root身份启动应用。

7、问题及解决方法

    导入数据时报错:

IMP-00037: Character set marker unknown

    shell查询字符集为AMERICAN_AMERICA.AL32UTF8,更改为ZHS16GBK时报错

cat jzdjxx.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6

SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8

SQL> alter database character set ZHS16GBK;
alter database character set ZHS16GBK
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set

    解决方法:

sqlplus /as sysdba
>shutdown immediate;  停止数据库
>startup mount; 把database重启到可更改状态 装载数据库,打开控制文件
>ALTER SESSION SET SQL_TRACE=TRUE;
>ALTER SYSTEM ENABLE RESTRICTED SESSION;
>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
>ALTER DATABASE OPEN;
>alter database character set ZHS16GBK;

ORA-12712: new character set must be a superset of old character set
RROR at line 1:
结果报错,提示新字符集必须是老字符集的超集。
于是强制转换
>ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
>shutdown immediate; 停止数据库
>startup 启动数据库
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值