centos 7.0 部署oracle和weblogic

最近在做一个项目,是个私活,比较苦逼,所有的都得自己来。本来我只是写后台代码的,主要做java的服务层代码的编写。但这个私活不是公司项目,又不能求助于其他人(你懂的,在公司里,越低调越好。),所以只能自己来。对方给我挂一总负责人的头衔,这下好了,从原型设计,到上线部署全都要我来。这两个月我也是边学边做,学习的东西特别多,虽然累一点,但人感觉还是很充实的。

我们的项目前端用的dojo技术,后端用的struts2.0+mybatis,这些就不介绍,反正最终是打成一个war包发布。

其实在网上已经有很多这方面的资料了,我写这个的目的,一则是网上很多资料都是分散的,找起来麻烦,二则是做个记录,以后也方便自己查看。

有句话说得很对,实践是最好的老师,网上提供了再多的方法,等你自己真正去实践一下的时候,你会发现你不一定能顺顺利利的按照别人的套路做,或多或少会遇到一些问题,然后慢慢解决这些问题才能更有收获。

 

准备工作

 

系统为CentOS Linux release 7.2.1511 (Core) 64位

本项目用到weblogic和oracle,其中weblogic还需要单独安装JDK环境,所以需要下载JDK包。

jdk-7u79-linux-x64.tar.gz下载地址:http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz?AuthParam=1473384494_8e0c51eabbf5b4f2a385fa1e17e2c564

 

weblogic12.1.1下载地址:http://download.oracle.com/otn/nt/middleware/11g/wls/1211/wls1211_generic.jar

 

oracle11g下载地址:

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip

 

所有文件也可以到我的云盘上下载:http://pan.baidu.com/s/1c2OaMQ0

 

Jdk安装

注意:

l  Weblogic 12.1.1使用的jdk版本为1.7,不能安装其他版本,否则安装时会出很多意料之外的情况。

l  JDK是给weblogic使用的,所以将JDK配置在weblogic用户主目录下面,注意/home/weblogic为weblogic主目录,在创建用户的时候会生成,具体的在后面weblogic安装时会说明。

1安装jdk1.7

将文件jdk-7u79-linux-x64.tar.gz解压到/home/weblogic下面,

2配置jdk环境

 [weblogic@localhost ~]vi .bashrc

#在文件最后添加以下配置

JAVA_HOME=/home/weblogic/jdk1.7.0_79

export JRE_HOME=$JAVA_HOME/jre

exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

 

[weblogic@localhost~]source .bashrc

上面的命令是让配置立即生效

Weblogic安装

Weblogic安装有好多方式,图形界面、静默安装、控制台安装,经过多番此时最后发现控制台方式最方便。(因为在服务器端没有安装图形界面所需组件,暂不考虑图形界面方式。)

 

1.   创建weblogic组和用户

使用root用户创建组和用户

[root@localhost~]groupadd weblogic

[root@localhost~]useradd -g weblogic weblogic

[root@localhost~]passwd weblogic

 

2.   上传安装包

将weblogic安装包wls1211_generic.jar上传至weblogic主目录下即/home/weblogic

注意:最后切换到weblogic用户上传文件,如果用root用户传的话,还需在上传完之后,将文件的拥有者改为weblogic,否则安装的时候可能会出问题。

 

3.   安装weblogic

使用下面的命令开始安装,由于是控制台方式安装,下面的均为安装过程,其中红字部分表示需要安装过程中所选项。

[weblogic@localhost~]java -jar wls1211_generic.jar -mode=console

Welcome:

--------

This installer will guide you through theinstallation of WebLogic 12.1.1.0.

Type "Next" or enter to proceedto the next prompt.  If you want tochange data entered previously, type "Previous".  You may quit the installer at any time bytyping "Exit".

Enter [Exit][Next]>        Next

 

Choose Middleware Home Directory:

---------------------------------

   "Middleware Home" = [Enter new value or use default

"/home/weblogic/Oracle/Middleware"]

Enter new Middleware Home OR[Exit][Previous][Next]>        Next

 

Choose Middleware Home Directory:   

---------------------------------

   "Middleware Home" = [/home/weblogic/Oracle/Middleware]

Use above value or select another option:

    1- Enter new Middleware Home

    2- Change to default [/home/weblogic/Oracle/Middleware]

Enter option number to select OR[Exit][Previous][Next]>         Next

 

Register for Security Updates:

------------------------------

Provide your email address for securityupdates and  to initiate configurationmanager.

  1|Email:[]

  2|Support Password:[]

  3|Receive Security Update:[Yes]

Enter index number to select OR[Exit][Previous][Next]>        3

 

Register for Security Updates:

------------------------------

Provide your email address for securityupdates and  to initiate configurationmanager.

   "Receive Security Update:" = [Enter new value or use default"Yes"]

Enter [Yes][No]?         No

 

Register for Security Updates:

------------------------------

Provide your email address for securityupdates and  to initiate configurationmanager.

   "Receive Security Update:" = [Enter new value or use default"Yes"]

   ** Do you wish to bypass initiation of the configuration manager and

   **  remain uninformed of criticalsecurity issues in your configuration?

Enter [Yes][No]?        yes

 

Register for Security Updates:

------------------------------

Provide your email address for securityupdates and  to initiate configurationmanager.

  1|Email:[]

  2|Support Password:[]

  3|Receive Security Update:[No]

Enter index number to select OR [Exit][Previous][Next]>        Next

 

Choose Install Type:

--------------------

Select the type of installation you wish toperform.

 ->1|Typical

   |  Install the followingproduct(s) and component(s):

    |- WebLogic Server

    |- Oracle Coherence

 

  2|Custom

   |  Choose software products andcomponents to install and perform optional

   |configuration.

Enter index number to select OR[Exit][Previous][Next]>        1

 

Choose Product Installation Directories:

----------------------------------------

Middleware Home Directory: [/home/weblogic/Oracle/Middleware]

Product Installation Directories:

  1|WebLogic Server: [/home/weblogic/Oracle/Middleware/wlserver_12.1]

  2|Oracle Coherence: [/home/weblogic/Oracle/Middleware/coherence_3.7]

Enter index number to select OR[Exit][Previous][Next]>        Next

 

The following Products and JDKs will beinstalled:

--------------------------------------------------

   WebLogic Platform 12.1.1.0

   |_____WebLogic Server

   |    |_____Core Application Server

   |    |_____Administration Console

   |    |_____Configuration Wizardand Upgrade Framework

   |    |_____Web 2.0 HTTP Pub-SubServer

   |    |_____WebLogic SCA

   |    |_____WebLogic JDBC Drivers

   |    |_____Third Party JDBCDrivers

   |    |_____WebLogic Server Clients

   |    |_____Xquery Support

   |    |_____Evaluation Database

   |_____Oracle Coherence

   |    |_____Coherence Product Files

   |_____JDKs

        |_____SUN SDK 1.6.0_29

        |_____Oracle JRockit 1.6.0_29 SDK

   *Estimated size of installation: 1,178.0 MB

Enter [Exit][Previous][Next]>         Next

 

Installing files..

0%         25%          50%          75%          100%

[------------|------------|------------|------------]

[***************************************************]

Installing JDK....

Performing String Substitutions...

Configuring OCM...

Installing Patches...

Creating Domains...

Installation Complete

Press [Enter] to continue or type[Exit]>        ↙

 

到目前为止weblogic就安装完成了。

 

4.   配置domain

Domain是weblogic中很重要的一个概念,必须先创建一个domain域,然后所有对项目的维护都是在这个domain域中完成。Domain域的创建也通过控制台方式完成。

上面安装完成之后,找到配置文件/home/weblogic/Oracle/Middleware/wlserver_12.1/common/bin/config.sh

[weblogic@localhost ~]/home/weblogic/Oracle/Middleware/wlserver_12.1/common/bin/config.sh –mode=console

Welcome:

--------

Choosebetween creating and extending a domain. Based on your selection,

theConfiguration Wizard guides you through the steps to generate a new or

extendan existing domain.

 ->1|Create a new WebLogic domain

    |   Create a WebLogic domain in your projects directory. 

   2|Extend an existing WebLogic domain

    |   Use this option to add new components to an existing domain andmodify     |configuration settings.

Enterindex number to select OR [Exit][Next]>        1

 

Select DomainSource:

---------------------

Selectthe source from which the domain will be created. You can create the

domainby selecting from the required components or by selecting from a

list ofexisting domain templates.

 ->1|Choose Weblogic Platform components

    |   You can choose the Weblogic component(s) that you want supported in

    |your domain.

   2|Choose custom template

    |   Choose this option if you want to use an existing  template. This

    |could be a custom created template usingthe Template Builder.

Enterindex number to select OR [Exit][Previous][Next]>        1

 

ApplicationTemplate Selection:

-------------------------------

    Available Templates

    |_____Basic WebLogic Server Domain -12.1.1.0 [wlserver_12.1]x

    |_____Basic WebLogic SIP Server Domain -12.1.1.0 [wlserver_12.1] [2]

    |_____WebLogic Advanced Web Services forJAX-RPC Extension - 12.1.1.0 [wlserver_12.1] [3]

    |_____WebLogic Advanced Web Services forJAX-WS Extension - 12.1.1.0 [wlserver_12.1] [4]

Enternumber exactly as it appears in brackets to toggle selection OR[Exit][Previous][Next]>       next

 

EditDomain Information:

------------------------

    | Name  |    Value   |

   _|________|_____________|

   1| *Name: | base_domain |

Enter valuefor "Name" OR [Exit][Previous][Next]>        weblogic

 

EditDomain Information:

------------------------

    | Name  | Value     |

   _|________|_______    |

   1| *Name: | weblogic  |

Useabove value or select another option:

    1 - Modify "Name"

    2 -Discard Changes

Enteroption number to select OR [Exit][Previous][Next]>        next

 

Selectthe target domain directory for this domain:

---------------------------------------------------

    "Target Location" = [Enter newvalue or use default

"/home/weblogic//user_projects/domains"]

Enternew Target Location OR [Exit][Previous][Next]>         Next

 

ConfigureAdministrator User Name and Password:

-----------------------------------------------

Create auser to be assigned to the Administrator role. This user is the

defaultadministrator used to start development mode servers.

    |         Name           |                  Value                  |

  _|_________________________|_________________________________________|

   1|        *Name:          |                weblogic                 |

   2|    *User password:     |                                         |

   3| *Confirm user password: |                                         |

   4|     Description:       | This user isthe default administrator. |

Useabove value or select another option:

    1 - Modify "Name"

    2 - Modify "User password"

    3 - Modify "Confirm userpassword"

    4 - Modify "Description"

Enteroption number to select OR [Exit][Previous][Next]>        2

 

ConfigureAdministrator User Name and Password:

-----------------------------------------------

Create auser to be assigned to the Administrator role. This user is the

defaultadministrator used to start development mode servers.

    "*User password:" = []

Enternew *User password: OR [Exit][Reset][Accept]>   输入密码(至少八位)

 

Create auser to be assigned to the Administrator role. This user is the

defaultadministrator used to start development mode servers.

    |         Name           |                  Value                  |

  _|_________________________|_________________________________________|

   1|        *Name:          |                weblogic                 |

   2|    *User password:     |                ********                 |

   3| *Confirm user password: |                                         |

   4|     Description:       | This user isthe default administrator. |

Useabove value or select another option:

    1 - Modify "Name"

    2 - Modify "User password"

    3 - Modify "Confirm userpassword"

    4 - Modify "Description"

    5 - Discard Changes

Enteroption number to select OR [Exit][Previous][Next]>     3

 

ConfigureAdministrator User Name and Password:

-----------------------------------------------

Create auser to be assigned to the Administrator role. This user is the

defaultadministrator used to start development mode servers.

    "*Confirm user password:" = []

Enternew *Confirm user password: OR [Exit][Reset][Accept]>     重复密码(至少八位)

 

Create auser to be assigned to the Administrator role. This user is the

defaultadministrator used to start development mode servers.

    |         Name           |                  Value                  |

   _|_________________________|_________________________________________|

   1|        *Name:          |                weblogic                 |

   2|    *User password:     |                 ******                  |

   3| *Confirm user password: |                 ******                  |

   4|     Description:       | This user isthe default administrator. |

 

Useabove value or select another option:

    1 - Modify "Name"

    2 - Modify "User password"

    3 - Modify "Confirm userpassword"

    4 - Modify "Description"

    5 - Discard Changes

Enteroption number to select OR [Exit][Previous][Next]>     next

 

DomainMode Configuration:

--------------------------

EnableDevelopment or Production Mode for this domain.

 ->1|Development Mode

   2|Production Mode

Enterindex number to select OR [Exit][Previous][Next]>     next

 

Java SDKSelection:

-------------------

   1|JRockit SDK jdk1.7.0_79 @ /home/weblogic/jrockit_170_79_D1.2.0-10

 ->2|Sun SDK jdk1.7.0_79 @ /home/weblogic/jdk1.7.0_79

   3|Other Java SDK

Enterindex number to select OR [Exit][Previous][Next]>     next

 

SelectOptional Configuration:

------------------------------

   1|Administration Server [ ]

   2|Managed Servers, Clusters and Machines [ ]

   3|RDBMS Security Store [ ]

Enterindex number to select OR [Exit][Previous][Next]>     1

 

SelectOptional Configuration:

------------------------------

   1|Administration Server [x]

   2|Managed Servers, Clusters and Machines [ ]

   3|RDBMS Security Store [ ]

Enterindex number to select OR [Exit][Previous][Next]>     next

 

EachWebLogic Server domain must have one Administration Server. The Administration

Serveris used to perform administrative tasks.

    |      Name       |        Value        |

   _|__________________|_____________________|

   1|     *Name:      |     AdminServer     |

   2| *Listen address: | All Local Addresses |

   3|  Listen port:   |        7001         |

   4| SSL listen port: |         N/A         |

   5|  SSL enabled:   |        false        |

Use abovevalue or select another option:

    1 - Modify "Name"

    2 - Modify "Listen address"

    3 - Modify "Listen port"

    4 - Modify "SSL enabled"

Enteroption number to select OR [Exit][Previous][Next]>     3

 

EachWebLogic Server domain must have one Administration Server. The Administration

Serveris used to perform administrative tasks.

    |      Name       |        Value        |

   _|__________________|_____________________|

   1|     *Name:      |     AdminServer     |

   2| *Listen address: | All Local Addresses |

   3|  Listen port:   |        7001         |

   4| SSL listen port: |         N/A         |

   5|  SSL enabled:   |        false        |

Entervalue for "Listen port" OR [Exit][Previous][Next]>     next

 

Creating Domain...

0%         25%          50%          75%          100%

[------------|------------|------------|------------]

[***************************************************]

**** Domain Created Successfully! ****

 

至此完成Domain域的安装

 

5.   启动weblogic

[weblogic@localhost ~]cd /home/weblogic/Oracle/Middleware/user_projects/domains/weblogic

[weblogic@localhost ~]nohup ./startWeblogic.sh &  //采用后台启动方式

 

 

6.   Domain域重装

 

我在操作的时候有次不小心把domains/下的文件删掉了,当时想着复原来着,搞了半天按照网上的教程发现很难复原。没办法,只能自认倒霉重装domain域吧。

其实domain域重装非常简单,就是把这个目录下的文件删掉,然后把配置文件改下。

找到文件/home/weblogic/Oracle/Middleware/domain-registry.xml

<?xmlversion="1.0" encoding="UTF-8"?>

<domain-registryxmlns="http://xmlns.oracle.com/weblogic/domain-registry">

  //把下面这句删掉

  <domainlocation="/home/weblogic/Oracle/Middleware/user_projects/domains/weblogic"/>

</domain-registry>

 

然后重新执行第4个步骤的配置domain就OK了。

 

Oracle安装

 

oracle安装我参考了这个哥们的博客,写了比较详细,把一些参数也做了详解,这是很难得的。

http://blog.csdn.net/zonej/article/details/50680857

Oracle安装比较复杂,特别后面还涉及到参数调优,在安装过程中遇到不少问题,特别到后面的时候几乎每步都会遇到一个问题,所以在安装过程中不能完全照搬网上的教程,而是具体问题使用具体方案解决,后面的安装过程我会依此说明。

1.   创建oracle组和用户

[root@oracledb~]# groupadd oinstall

[root@oracledb~]# groupadd dba

[root@oracledb~]# useradd -u600 -g oinstall oracle

[root@oracledb~]# usermod -G dba oracle

[root@oracledb~]# id oracle

[root@oracledb~]# passwd oracle

2.   创建安装目录并赋权

主要在oracle主目录了/home/oracle下面新建两个文件夹u01和u02,其中u01为oracle安装文件目录,u02为数据库数据文件。

[root@oracledb~]# mkdir –p /home/oracle/u01

[root@oracledb~]# mkdir -p /home/oracle /u02

[root@oracledb~]# chown -R oracle:oinstall /u01

[root@oracledb~]# chown -R oracle:oinstall /u02

[root@oracledb~]# su oracle

[oracle@oracledb~]# mkdir –p /home/oracle/u01/app/oracle/product/11.2.0/db_1

[oracle@oracledb ~]# mkdir -p /home/oracle /u02/oradata

[oracle@oracledb ~]# mkdir -p /home/oracle /u02/oradata/ifadb

 

3.   设置oracle环境变量

注意使用oracle用户

[oracle@oracledb~]# vi /home/oracle/.bashrc

ORACLE_BASE=/home/oracle /u01/app/oracle;export ORACLE_BASE 

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;export ORACLE_HOME 

LD_LIBRARY_PATH=$ORACLE_HOME/lib; exportLD_LIBRARY_PATH 

ORACLE_SID=oracledb; export ORACLE_SID 

ORA_NLS33=$ORACLE_HOME/nls/admin/data;export ORA_NLS33 

NLS_LANG=american_america.zhs16gbk;exportNLS_LANG 

PATH=$ORACLE_HOME/bin:$PATH; exportPATH 

[oracle@oracledb~]# source /home/oracle/.bash_rc(使配置立即生效)

[oracle@oracledb~]# env(检查环境变量设置是否OK)

 

4.   安装依赖包

yum -y install gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf \

elfutils-libelf-devel glibc glibc-commonglibc-devel \

libaio libaio-devel libgcc libstdc++ libstdc++-devel\

unixODBC unixODBC-devel

 

上面的命令会将大部分包安装完,但我在真实安装oracle的时候遇到oracle还缺少一部分文件没有安装好,特别是我们是在64位系统上默认安装的包都是64位的,而oracle却需要一些32位的包。

比如下面的包都是在安装oracle时提示缺少的

libaio-0.3.105-2.i386

libaio-devel-0.3.105-2.x86_64

libgcc-3.4.6-3.i386

libstdc++-3.4.6-11.i386

pdksh-5.2.14-1.i386

pdksh-5.2.14-30.x86_64

pdksh-5.2.14-37.el5_8.1.x86_64

unixODBC-2.2.11-7.1.i386

unixODBC-devel-2.2.11-7.1.i386

 

在遇到这种情况时可以在系统中通过yum list看看是否yum本身就含有这些包,如果有的话最好,不然一个个安装特别麻烦,因为每个包可能还依赖其他包。

 

5.   修改内核参数

# vi/etc/sysctl.conf 在文件最后增加:

 

16G内存建议值:

fs.aio-max-nr= 1048576

fs.file-max= 6553600

kernel.shmall= 8388608

kernel.shmmax= 9663676416

kernel.shmmni= 4096

kernel.sem= 2010 285420 100 142

net.ipv4.ip_local_port_range= 1024 65000

net.core.rmem_default= 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048586

 

参数详解如下:

fs.aio-max-nr= 1048576         //同时可以拥有的的异步IO请求数目。1048576 即 1024*1024 也就是 1024K 个。

fs.file-max= 6553600           //系统允许打开的文件数。

kernel.shmall= 4194304         //设置共享内存总页数。这个值太小有可能导致数据库启动报错。这个是8G的值,如果大于8G需要调整。                                 计算公式为:内存(G)*1024*1024*1024/4096,4096为getconf PAGE_SIZE得到分页大小。

kernel.shmmax= 2147483648      //Linux进程可以分配的单独共享内存段的最大值。一般设置为内存总大小的一半。这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。

kernel.shmmni= 4096            //设置系统级最大共享内存段数量。推荐最小值为4096。

kernel.sem= 610 86620 100 142  //从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI。

1)SEMMSL:设置每个信号灯组中信号灯最大数量,推荐的最小值是250。                                    对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。

2)SEMMNS:设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL*SEMMNI)。事实上,如果SEMMNS的值超过了SEMMSL*SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL*SEMMNI。Oracle推荐SEMMNS的设置不小于32000,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:

SQL>select (600+10)*142 from dual;

  (600+10)*142

  ------------

   86620

3)SEMOPM:设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。

4)SEMMNI:设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。

net.ipv4.ip_local_port_range= 1024 65000    //ip_local_port_range表示端口的范围,为指定的内容

net.core.rmem_default= 262144  //表示接收套接字缓冲区大小的缺省值(以字节为单位)。

net.core.rmem_max= 4194304   //表示接收套接字缓冲区大小的最大值(以字节为单位)。

net.core.wmem_default= 262144 //表示发送套接字缓冲区大小的缺省值(以字节为单位)。

net.core.wmem_max= 1048586  //表示发送套接字缓冲区大小的最大值(以字节为单位。

最后输入下面的命令,让内核参数生效:

#/sbin/sysctl -p

 

sysctl-p 报错解决方法如下:

modprobebridge

lsmod |grep bridge

sysctl –p

 

6. 修改用户的限制文件
# vi /etc/security/limits.conf 在文件后增加
oracle          soft   nproc           2047
oracle          hard   nproc           16384
oracle          soft   nofile          1024
oracle          hard   nofile          65536
oracle          soft   stack           10240

 

# vi /etc/pam.d/login 文件,(64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录)增加如下:
session  required  /lib64/security/pam_limits.so
session  required  pam_limits.so


# vi /etc/profile (在unset -f pathmunge下一行)增加如下内容:
if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
 else
  ulimit -u 16384 -n 65536
 fi
fi

6.   上传安装文件

Oracle安装文件是两个压缩文件linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip,将文件上传到/home/oracle下面,然后解压

[oracle@oracledb~]#unzip -o -d/home/oracle/linux.x64_11gR2_database_1of2.zip

[oracle@oracledb~]#unzip -o -d /home/oracle/linux.x64_11gR2_database_2of2.zip

解压完成之后会在/home/oracle中找到database这个目录,这个就是解压之后的文件。

7.   静默安装oracle

在目录/home/oracle/database/response下面有三个文件

db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置应答

 

这三个文件都是静默安装用的,静默安装其实就是把安装过程中要选的配置都提前设置好,然后安装文件读取这个配置进行安装。

 

1)修改配置文件db_install.rsp

配置安装应答文件db_install.rsp,如下:

[oracle@oracledb~]#vim  /home/oracle/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=localhost    //通过hostname命令获取
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/home/oracle/u01/app
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=true
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.3.0,oracle.oraolap:11.2.0.3.0,oracle.rdbms.dm:11.2.0.3.0,oracle.rdbms.dv:11.2.0.3.0,oracle.rdbms.lbac:11.2.0.3.0,oracle.rdbms.rat:11.2.0.3.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ifa
oracle.install.db.config.starterdb.SID= ifa
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=100240             //物理内存的60%左右
oracle.install.db.config.starterdb.password.ALL=oracle            //注意修改
oracle.install.db.config.starterdb.control=DB_CONTROL
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true   //一定要是true

 

2)安装oracle

[oracle@oracledb~]$cd  /home/oracle/database

[oracle@oracledb~]$./runInstaller -silent-responseFile /home/oracle/database/response/db_install.rsp

当安装界面出现如下信息的时候表示已经安装好了
Theinstallation of Oracle Database 11g was successful.
Please check'/home/oracle/oraInventory/logs/silentInstall2016-02-04_09-21-13AM.log' formore details.

As aroot user, execute the following script(s):
 1. /home/oracle/oraInventory/orainstRoot.sh
 2. /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

SuccessfullySetup Software.

3)执行配置脚本

在新打开的root登录的窗口中执行下面的脚本
[root@oracledb~]#/home/oracle/u01/app/oracle/oraInventory/orainstRoot.sh
[root@oracledb~]#/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

执行完上面的脚本后回到安装界面按下Enter键以继续

8.   配置oracle监听

[oracle@oracledb~]$netca /silent /responsefile /home/oracle/database/response/netca.rsp

成功运行后,在/home/oracle/u01/app/oracle/product/11.2.0/dbhome_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
通过 netstat -tlnp 命令,看到
tcp        0      00.0.0.0:1521               0.0.0.0:*                  LISTEN      22494/tnslsnr
说明监听器已经在1521端口上开始工作了

9.   安装oracle数据库

前面完成了数据库安装工作,下面就是建立真正的数据库。我这里的数据库名为ifa。

修改安装数据库的配置文件

[oracle@oracledb~]$cd /home/oracle/database/response
[oracle@oracledb~]$vi dbca.rsp        

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
#-----------------------*** End of GENERAL section ***------------------------
GDBNAME = "ifa"
SID = " ifa "
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
DATAFILEDESTINATION = /home/oracle/u02/oradata
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "100240" //物理内存的60%左右
#-----------------------*** End of CREATEDATABASE section***------------------------

[oracle@oracledb~]$dbca -silent -responseFile /home/oracle/database/response/dbca.rsp

看到下面语句说明创建成功
Look at the log file "/home/oracle/u01/app/cfgtoollogs/dbca/ifa/ifa.log"for further details.

10.             启动数据库

启动监听

[oracle@oracledb~]lsnrctl  start

启动数据库

[oracle@oracledb~]sqlplus  system/system as sysdba

SQL>startup

SQL>alter system register;

查看监听状态

[oracle@oracledb~]lsnrctl  status

 

 

2.   优化配置

 

1、修改最大连接数:

sql>show parameter processes;

sql>alter system set processes=2000 scope = spfile; // 我在执行这一步的时候报错了

ALTER SYSTEM SET memory_target = 0 SCOPE=SPFILE

 

*

 

ERROR at line 1:

 

ORA-32001: write to SPFILE requested but no SPFILE isin use

下面这个文章很详细的描述了错误的原因:

http://www.techpaste.com/2012/12/ora-32001-write-spfile-requested-spfile-oracle-database/

简单的说来,就是oracle的参数配置写在spfile和pfiles里面,其中spfile是二进制存储的,而pfiles是文本形式存储的。如果用的是spfile,那么可以通过SQLPLUS执行SQL的方式修改参数,如果用的是pfiles那就只能手工编辑文件了。显然我们一般都是用SQL语句修改参数更加方便,所以用第一种方式,而我这边报错的原因就是没有建这个文件。

SQL> show parameter spfile  //这个命令会查看有没有文件,有的话会有路径
NAME TYPE VALUE
 
------------------------------------ ----------- ------------------------------
 
spfile string
 
我的没有路径,说明没有文件,需要创建文件。
//创建文件,创建之后用上面一个命令还是没有,因为创建之后还需要重启
SQL> CREATE SPFILE FROM PFILE; 
File created.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
SQL> show parameter pfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /home/oracle/u01/app/oracle/product/11.2.0/dbs/spfileoracledb.ora
这样上面的文件就创建好了。
再执行以下命令,就OK了。

sql>alter system set processes=2000 scope = spfile;

 

 

2、修改用户密码用不过期:
SQL> select * from dba_profiles s where s.profile='DEFAULT' andresource_name='PASSWORD_LIFE_TIME';
PROFILE         RESOURCE_NAME   RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
DEFAULT         PASSWORD_LIFE_TIME  PASSWORD
180
SQL> alter profile default limit password_life_time unlimited;
Profile altered.

 

3、修改控制文件里可重复使用的记录所能保存的最小天数:(一般设置为45天)
SQL> show parameter control;

NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time      integer  7
control_files        string  /home/oracle/u02/oradata/ifa/control01.ctl,/home/oracle/u01/app/oracle/flash_recovery_area/ifa /control02.ctl
control_management_pack_access      string DIAGNOSTIC+TUNING

SQL> alter system set control_file_record_keep_time=45 scope=spfile;

System altered.

还有的一些参数修改就不一一列举了,可以参考我一开始说的那位仁兄的博客。

 

 

 

Nginx安装

1.   安装nginx

由于我的机器可以连接外网,所以直接采用的yum安装

[root@localhost~]yum install –y nginx

不出意外就安装好了,nginx安装好了之后改下配置/etc/nginx/nginx.conf

[root@localhost~]vim /etc/nginx/nginx.conf

# For more information on configuration,see:

#   *Official English Documentation: http://nginx.org/en/docs/

#   *Official Russian Documentation: http://nginx.org/ru/docs/

 

user weblogic;

worker_processes auto;

error_log /var/log/nginx/error.log;

pid /run/nginx.pid;

 

events {

    worker_connections1024;

}

 

http {

   include      /etc/nginx/mime.types;

   default_type application/octet-stream;

 

   log_format  main  '$remote_addr - $remote_user [$time_local]"$request" '

                      '$status $body_bytes_sent"$http_referer" '

                     '"$http_user_agent" "$http_x_forwarded_for"';

 

   access_log /var/log/nginx/access.log  main;

 

   sendfile        on;

   #tcp_nopush     on;

 

    #连接超时时间

   keepalive_timeout  65;

   tcp_nodelay        on;

 

    #开启gzip压缩

   gzip  on;

   gzip_disable "MSIE [1-6]\.(?!.*SV1)";

 

    #设定请求缓冲

   #client_header_buffer_size    1k;

   #large_client_header_buffers  44k;

   client_body_buffer_size 1024k;

   client_max_body_size 100m;

 

   include /etc/nginx/conf.d/*.conf;

    include /etc/nginx/sites-enabled/*;

 

   server {

       #侦听8001端口

       listen       8001;

       #定义使用www.xx.com访问

       server_name  localhost;

 

       #设定本虚拟主机的访问日志

       #access_log logs/www.wangjingfeng.com.access.log main;

 

 

                   #默认请求,默认请求都转由weblogic处理

                   location/ {

                proxy_redirect off;

                            proxy_set_headerHost $host;

                            proxy_set_headerX-Real-IP $remote_addr;

                            proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;

                            proxy_passhttp://localhost:7001;

       }

 

                   #静态文件,nginx自己处理

                   location~ ^/(images|javascript|js|css|flash|media|static)/ {

                   root /home/weblogic/Oracle/Middleware/user_projects/domains/weblogic/projects/erp-web;

                           #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。

                           expires 30d;

                       }

                       

                              

                   #upload路径表示附件也交由nginx自己处理

                       location ~ ^/(upload)/ {

                           root /home/weblogic/Oracle/Middleware/user_projects/domains/weblogic;

                           #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。

                           expires 30d;

                       }

 

       #静态文件,nginx自己处理

       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html|mp3|apk)$

       {

        root /home/weblogic/Oracle/Middleware/user_projects/domains/weblogic/projects/erp-web;

        expires      30d;

       }       

                  

       #whtml结尾的均为struts的action请求,都交由weblogic处理      

                       location ~ \.whtml$ {

                                set $args"iface-server";

                                    proxy_redirectoff;

                                                                 proxy_set_headerHost $host;

                                                                 proxy_set_headerX-Real-IP $remote_addr;

                                                                 proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;

                                                                 proxy_passhttp://localhost:7001; #http://localhost:7001为weblogic应用

                       }

                  

                       # 定义错误提示页面

                       error_page  500 502 503 504 /50x.html;

                           location = /50x.html {

                           root  html;

                       }

    }

}

 

2.   启动nginx

[root@localhost~]service nginx start

 

我配置的Nginx的日志在/var/log/nginx,里面有访问日志和错误日志

 

防火墙配置

数据库用到1521端口,开启1521访问

[root@localhost~]#firewall-cmd --permanent --add-port=1521/tcp

Weblogic用到7001端口,开启7001访问

[root@localhost~]#firewall-cmd --permanent --add-port=7001/tcp

Nginx配置的监听8001端口,开启8001访问

[root@localhost~]#firewall-cmd --permanent --add-port=8001/tcp

 

重新加载防火墙配置

[root@localhost~]#firewall-cmd --reload

系统发布

以我们项目erp-web为例,该项目为java的war包。

1)将文件传至weblogic目录下(projects需新建,这边不是必须的,按照每个人的情况而定)

/home/weblogic/Oracle/Middleware/user_projects/domains/weblogic/projects/

2)解压erp-web.war包在当前目录下

解压war包主要用途是让nginx直接访问静态文件,而不需要经过weblogic访问了,访问地址已经在前面的nginx配置中配置过了。

3)到weblogic控制台发布项目

访问地址http://192.168.1.184:7001/console

4)部署完成

 

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值