最近在做一个项目,是个私活,比较苦逼,所有的都得自己来。本来我只是写后台代码的,主要做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
注意:
l Weblogic 12.1.1使用的jdk版本为1.7,不能安装其他版本,否则安装时会出很多意料之外的情况。
l JDK是给weblogic使用的,所以将JDK配置在weblogic用户主目录下面,注意/home/weblogic为weblogic主目录,在创建用户的时候会生成,具体的在后面weblogic安装时会说明。
将文件jdk-7u79-linux-x64.tar.gz解压到/home/weblogic下面,
[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安装有好多方式,图形界面、静默安装、控制台安装,经过多番此时最后发现控制台方式最方便。(因为在服务器端没有安装图形界面所需组件,暂不考虑图形界面方式。)
使用root用户创建组和用户
[root@localhost~]groupadd weblogic
[root@localhost~]useradd -g weblogic weblogic
[root@localhost~]passwd weblogic
将weblogic安装包wls1211_generic.jar上传至weblogic主目录下即/home/weblogic
注意:最后切换到weblogic用户上传文件,如果用root用户传的话,还需在上传完之后,将文件的拥有者改为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就安装完成了。
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域的安装
[weblogic@localhost ~]cd /home/weblogic/Oracle/Middleware/user_projects/domains/weblogic
[weblogic@localhost ~]nohup ./startWeblogic.sh & //采用后台启动方式
我在操作的时候有次不小心把domains/下的文件删掉了,当时想着复原来着,搞了半天按照网上的教程发现很难复原。没办法,只能自认倒霉重装domain域吧。
其实domain域重装非常简单,就是把这个目录下的文件删掉,然后把配置文件改下。
找到文件/home/weblogic/Oracle/Middleware/domain-registry.xml
//把下面这句删掉
然后重新执行第4个步骤的配置domain就OK了。
oracle安装我参考了这个哥们的博客,写了比较详细,把一些参数也做了详解,这是很难得的。
http://blog.csdn.net/zonej/article/details/50680857
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
主要在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
注意使用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)
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本身就含有这些包,如果有的话最好,不然一个个安装特别麻烦,因为每个包可能还依赖其他包。
# 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
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这个目录,这个就是解压之后的文件。
在目录/home/oracle/database/response下面有三个文件
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.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
[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键以继续
[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端口上开始工作了
前面完成了数据库安装工作,下面就是建立真正的数据库。我这里的数据库名为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.
启动监听
[oracle@oracledb~]lsnrctl start
启动数据库
[oracle@oracledb~]sqlplus system/system as sysdba
SQL>startup
SQL>alter system register;
查看监听状态
[oracle@oracledb~]lsnrctl status
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.
还有的一些参数修改就不一一列举了,可以参考我一开始说的那位仁兄的博客。
由于我的机器可以连接外网,所以直接采用的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;
}
}
}
[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)部署完成