Centos6.5安装JDK8+tomcat8.0.22+oracle-11g

 晚上10点多,领导突然交给一大活,让部署一个环境要求如下:
OS:centos6.5
   jdk1.8  
   tomcat8.0.22
   oracle-11g


瞬间感觉萌萌的

jdk是什么?以前还真没搞过,这其中只对tomcat有过了解,其它一无所着;
现对制作过程记录如下:


一:简介

先来了了解下各项是干什么的

1:JDK
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者 编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。

按我的理解,应该类似于gcc一样的东西

2 tomcat
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
其实就是一个可以把java开发出来的东东发布


3 oracle 11g

Oracle 11g是在推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月,相当于1000名员工连续研发3年。Oracle 11g提供了高性能、伸展性、可用性和安全性,并能更方便地在低成本服务器和存储设备组成的网格上运行 ,相对过往版本而言,Oracle 11g具有了与众不同的特性

就是一个很牛的数据库软件,反正我是没用过



二.安装

1 安装jdk
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
根据实际情况下载,我这里下载的是64位rpm包

参考文档:http://my.oschina.net/zhangjie830621/blog/280935

声明:
在安装前,请将yum源配置好,因为要装桌面以及后面好多依赖包,建议把epel装好。命令如下:
yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm




将系统自带的java jdk包删掉,如:
rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'
yum remove java-1.6.0-openjdk
yum remove java-1.7.0-openjdk

安装jdk
rpm -ivh jdk-8u5-linux-64.rpm

安装过程如果报某某文件不能创建,大概有两种可能,一是包不对,比较操作系统是64位,你偏偏装32位,那肯定不行;二是包没有删除干净,请仔细排查


安装ok,看一下版本
java -version

默认它是安装到了/usr/java下


2  安装tomcat
这里我已有的包可以直接用,不用编译安装
这里提供一个下载链接:链接:http://pan.baidu.com/s/1pJJtk0N 密码:ekfl
参考文档:http://www.linuxidc.com/Linux/2015-01/111485.htm

这里我将tomcat安装到/opt下
tar zxvf /soft/apache-tomcat-8.0.23.tar.gz
mv /apache-tomcat-8.0.23 /opt/tomcat8
chmod  -R +x /opt/tomcat8

做到这,其实就可以直接通过其bin下的命令开启或关闭服务了,不过我们要将它加入系统服务,所以需要定义环境变量,以及写一个小脚本

如下

vim /etc/profile命令,添加环境变量代码如下(添加到末尾)
#jdk config
export JAVA_HOME=/usr/java/jdk1.8.0_45
export CALSSPATH=$JAVA_HOME/lib/*.*
#tomcat config
export TOMCAT_HOME=/opt/tomcat8
export CATALINA_HOME=/opt/tomcat8
#path config
export PATH=$PATH:$JAVA_HOME/bin:$TOMCAT_HOME/bin

写一个脚本
vi /etc/rc.d/init.d/tomcat生成脚本文件,内容如下
#!/bin/bash
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
# processname: tomcat
# description: tomcat is a j2se server
# chkconfig: 2345 86 16
# description: Start up the Tomcat servlet engine.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "\atomcat: unable to locate functions lib. Cannot continue."
exit -1
fi
RETVAL=$?
CATALINA_HOME="/opt/tomcat8" #tomcat安装目录
case "$1" in
start)

if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;

esac
exit $RETVAL

 

chmod 755 /etc/rc.d/init.d/tomcat,使得脚本文件可执行
chkconfig --add /etc/rc.d/init.d/tomcat #将其加到服务中

vim /opt/tomcat8/bin/catalina.sh文件中加入以下语句:

#auto startup tomcat config
export JAVA_HOME=/usr/java/jdk1.8.0_45/
export CATALINA_HOME=/opt/tomcat8
export CATALINA_BASE=/opt/tomcat8
export CATALINA_TMPDIR=/opt/tomcat8/temp/
                                           

启动tomcat服务: service tomcat start
停止tomcat服务: service tomcat stop

访问:http://localhost:8080

建议设置一下默认的用户名密码,这个相对简单。就是新修tomcat-user.xml文件,定义role ,然后绑定user



3:安装oracle 11g
首先你的安装桌面
yum groupinstall "Desktop" "X Windows System"
这个安装实在有点复杂,具体就不写了,参考文档如下:
http://wenku.baidu.com/link?url=43VmBT9oXnJyLzKy7J9n0oRtE6-eraKxe-SqVJ3R57lwpoiuas1gPPbaPXP2caSP4b-tTXgi3F3FG63zCfXvvnIPjI5ZaJ8knCZ1Up4e4Tu&qq-pf-to=pcqq.c2c
http://blog.csdn.net/gaofeng2009123/article/details/8021150
http://www.linuxidc.com/Linux/2015-02/113222p8.htm



登录
简单验

[oracle@powerlong4 ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.1.0 Production on Sat Jan 24 14:51:10 2015
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>startup
执行这一步的时候注意不能有报错,如果有,请参考下面的排错指南;主要是看报错代码编号


SQL> create table z_test(id number,name varchar(20));
Table created.
SQL> insert into z_test select 1,'a' from dual;
1 row created.
SQL> select * from z_test;
        ID NAME


---------- ----------------------------------------
          1 a
SQL> commit;
Commit complete.
SQL> exit

附:
————————————————————————————————————————————————————————
用户名相关

用户名 / 密码                                  登录身份                                          说明

sys/change_on_install              SYSDBA 或 SYSOPER        不能以 NORMAL 登录,可作为默认的系统管理员

system/manager                     SYSDBA 或 NORMAL           不能以 SYSOPER 登录,可作为默认的系统管理员

sysman/oem_temp                       sysman                              为 oms 的用户名

scott/tiger                                      NORMAL                                      普通用户

aqadm /aqadm                        SYSDBA 或 NORMAL                       高级队列管理员

Dbsnmp/dbsnmp                        SYSDBA 或 NORMAL                     复制管理员


——)——————————————————————————————————————————————————————
报错及排错指南:
http://www.linuxidc.com/Linux/2014-04/100206.htm

例1:ORA-01081:CANNOT START ALREADY-RUNNING ORACLE SHUT IT DOWN FIRST
sqlplus "/ as sysdba"
sqlplus>shutdown abort;
sqlplus>startup;



oracle sqlplus 常用命令大全
SQL> show all --查看所有68个系统变量值
SQL> show user --显示当前连接用户
SQL> show error   --显示错误
SQL> set heading off --禁止输出列标题,默认值为ON
SQL> set feedback off --禁止显示最后一行的计数反馈信息,默认值为"对6个或更多的记录,回送ON"
SQL> set timing on --默认为OFF,设置查询耗时,可用来估计SQL语句的执行时间,测试性能
SQL> set sqlprompt "SQL> " --设置默认提示符,默认值就是"SQL> "
SQL> set linesize 1000 --设置屏幕显示行宽,默认100
SQL> set autocommit ON --设置是否自动提交,默认为OFF
SQL> set pause on --默认为OFF,设置暂停,会使屏幕显示停止,等待按下ENTER键,再显示下一页
SQL> set arraysize 1 --默认为15
SQL> set long 1000 --默认为80
说明:
long值默认为80,设置1000是为了显示更多的内容,因为很多数据字典视图中用到了long数据类型,如:
SQL> desc user_views
列名 可空值否 类型
------------------------------- -------- ----
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
SQL> define a = '''20000101 12:01:01''' --定义局部变量,如果想用一个类似在各种显示中所包括的回车那样的常量,
--可以用define命令来设置
SQL> select &a from dual;
原值 1: select &a from dual
新值 1: select '20000101 12:01:01' from dual
'2000010112:01:01
-----------------
20000101 12:01:01
问题提出:
1、用户需要对数据库用户下的每一张表都执行一个相同的SQL操作,这时,一遍、一遍的键入SQL语句是很麻烦的
实现方法:
SQL> set heading off --禁止输出列标题
SQL> set feedback off --禁止显示最后一行的计数反馈信息
列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性
select 'desc '||tname from tab where tabtype='SYNONYM';
查询当前用户下所有表的记录数
select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';
把所有符合条件的表的select权限授予为public
select 'grant select on '||table_name||' to public;' from user_tables where 《条件》;
删除用户下各种对象
select 'drop '||tabtype||' '||tname from tab;
删除符合条件用户
select 'drop user '||username||' cascade;' from all_users where user_id>25;
快速编译所有视图
----当在把数据库倒入到新的服务器上后(数据库重建),需要将视图重新编译一遍,
----因为该表空间视图到其它表空间的表的连接会出现问题,可以利用PL/SQL的语言特性,快速编译。
SQL> SPOOL ON.SQL
SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB;
SQL> SPOOL OFF
然后执行ON.SQL即可。
SQL> @ON.SQL
当然,授权和创建同义词也可以快速进行,如:
SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 用户名;' FROM TAB;
SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 用户名.'||TNAME||';' FROM TAB;
命令列表:
假设当前执行命令为:select * from tab;
(a)ppend     添加文本到缓冲区当前行尾    a order by tname 结果:select * from tab order by tname;
                                      (注:a后面跟2个空格)
(c)hange/old/new 在当前行用新的文本替换旧的文本 c/*/tname     结果:select tname from tab;
(c)hange/text  从当前行删除文本        c/tab       结果:select tname from ;
del       删除当前行
del n      删除第n行
(i)nput 文本   在当前行之后添加一行
(l)ist      显示缓冲区中所有行
(l)ist n     显示缓冲区中第 n 行
(l)ist m n    显示缓冲区中 m 到 n 行
run       执行当前缓冲区的命令
/        执行当前缓冲区的命令
r        执行当前缓冲区的命令
@文件名     运行调入内存的sql文件,如:
SQL> edit s<回车>
如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,
在其中输入"select * from tab;",存盘退出。
SQL> @s<回车>
系统会自动查询当前用户下的所有表、视图、同义词。
@@文件名     在.sql文件中调用令一个.sql文件时使用
save 文件名   将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql
get 文件名    调入存盘的sql文件
start 文件名   运行调入内存的sql文件
spool 文件名   把这之后的各种操作及执行结果"假脱机"即存盘到磁盘文件上,默认文件扩展名为.lst
spool      显示当前的"假脱机"状态
spool off    停止输出
例:
SQL> spool a
SQL> spool
正假脱机到 A.LST
SQL> spool off
SQL> spool
当前无假脱机
exit       退出SQL*PLUS
desc 表名    显示表的结构
show user    显示当前连接用户
show error    显示错误
show all     显示所有68个系统变量值
edit       打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑
edit 文件名   把当前目录中指定的.sql文件调入编辑器进行编辑
clear screen   清空当前屏幕显示
二.Oracle sqlplus语句编辑命令
首先我们输入这样一条指令:
SELECT emp_id, emp_name
FROM Employees
input 命令可以接着上一条指令的后面添加语句,比如在上述语句运行后输入:
input WHERE emp_age > 30
便可得到如下指令:
SELECT emp_id, emp_name
FROM Employees
WHERE emp_age > 30
ln 命令用于指定对以输入的第n行语句进行操作,比如在上述语句运行后输入:
l1则当前选中的语句行即为
SELECT emp_id, emp_name
(语句前有"*"表示)
a 命令用于直接在当前行的末尾加上字符,比如在上述语句运行后输入:
a , emp_dept
则执行的指令变为:
SELECT emp_id, emp_name, emp_dept
FROM Employees
WHERE emp_age > 30
c 命令用于修改当前语句中的字符,比如在上述语句运行后输入:
c /emp_name/emp_age/则执行的指令变为:
SELECT emp_id, emp_age, emp_dept
FROM Employees
WHERE emp_age > 30
del n 命令用于删除第n行指令,比如在上述语句运行后输入:
DEL 3
则执行的指令变为:
SELECT emp_id, emp_age, emp_dept
FROM Employees