大纲

  • 服务器安装
  • JDK配置
  • Oracle数据库安装配置

本文使用软件均从官网下载对应最新版(2016年9月11日)CentOS-6.8-x86_64-minimal.iso、Oracle Database 11g Release 2

1.安装服务器

服务器的安装参考这篇教程 关于安装中可能出现的几个问题,在这里进行解决: 1、使用u盘安装完后,系统进入GRUB引导,无法启动: 解决办法: 出现上述状况的原因可能是在系统安装最后,把系统的引导程序安装到了U盘中。 (在BIOS中)设置U盘启动,然后成功进入系统并登录。

1、输入grub进入grub命令行模式。  #[root@localhost /]# grub
2、输入find /boot/grub/stage1 或者 find /grub/stage1(我的是这个)   #grub> find /boot/grub/stage1 或 grub> find /grub/stage1  
返回的值通常是这样的格式:(hd0,0)
3、输入quit 退出grub命令行模式
4、cd 到/boot/grub目录下,使用vi命令,将grub.conf和menu.lst文件里面的(hd1,0)或者(hdx,x)修改为(hd0,0)就是刚才find出来的位置。
5、再次输入grub,进入grub命令行模式。依次执行:root (hd0,0);setup (hd0);reboot 这三条命令
6、输入quit退出grub模式,然后重启计算机
BINGO~~
[在Linux中,#代表root用户,$代表其他用户]

2、centos6.8最小安装开机后默认不会启动网卡 可使用命令ifup eth0 启动,然后就可以愉快的使用远程终端了:)


在安装好服务器后,可能还需要一些配置

1.1启动网卡

#ifup eth0
开机自启动网卡
#vim /etc/sysconfig/network-scripts/ifcfg-eth0
    ONBOOT=yes

以下所有操作均可在远程终端完成 Windows下推荐使用Xshell,界面更友好


1.2配置静态IP

#vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=FF:FF:FF:FF:FF:FF
TYPE=Ethernet
UUID=5be104cf-2c4e-4f40-8c4d-d9c745841783
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.199
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
NETWORK=192.168.1.0

网关配置
#vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost
GATEWAY=192.168.1.1

修改主机DNS
#vi /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 8.8.8.8
nameserver 4.4.4.4

生效
#service network restart
或者
#/etc/init.d/network restart

1.3更新

#yum install wget
#cd /etc/yum.repos.d
下载网易镜像源:
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
或者
下载搜狐镜像源:
#wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
#yum makecache
如果镜像不能使用则在文件注释掉整个addon项
#yum update
#yum upgrade

关于时间设置
yum install ntpdate -y

1.4关闭SELinux

查看开启状态
[root@localhost ~]# /usr/sbin/sestatus -v
SELinux status:                 enabled//显示为开启
SELinuxfs mount:                /selinux


#vi /etc/selinux/config 修改 SELINUX=disabled

iptables防火墙规则清理:
清空iptables规则
#iptables -F
查看iptables规则
#iptables -L
保存规则,注意,虽然清空了,不保存的话,重启后,又会有规则。
#/etc/init.d/iptables save

关闭防火墙会影响系统安全,请在安装配置完成后开启并添加规则

1.5锁定关键文件系统(禁止非授权用户获得权限)

#chattr +i /etc/passwd
#chattr +i /etc/inittab
#chattr +i /etc/group
#chattr +i /etc/shadow
#chattr +i /etc/gshadow

1.6ssh安全 创建sudo用户

#useradd XXXX
#passwd XXXX
#vim /etc/sudoers
99行写入
XXXX   ALL=(ALL)       ALL
:wq!
修改SSH安全配置 
#vi /etc/ssh/sshd_config

SSH链接默认端口
port 23333
禁止root账号登陆
PermitRootLogin no
禁止空密码
PermitEmptyPasswords no
不使用DNS
UseDNS no

service sshd restart

1.7锁定关键文件系统(禁止非授权用户获得权限)

chattr +i /etc/passwd
chattr +i /etc/inittab
chattr +i /etc/group
chattr +i /etc/shadow
chattr +i /etc/gshadow

1.8精简开机自启动服务

#关闭全部服务
for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
#或者
for sun in `chkconfig --list|grep 3:启用|awk '{print $1}'`;do chkconfig --level 3 $sun off;done
#开启需要的服务
for sun in crond rsyslog sshd network;do chkconfig --level 3 $sun on;done
#或者需要使用防火墙的话可以开启iptables和ip6tables
for sun in crond rsyslog sshd network iptables ip6tables;do chkconfig --level 3 $sun on;done

1.9设置一些全局变量

#设置自动退出终端,防止非法关闭ssh客户端造成登录进程过多,可以设置大一些,单位为秒
echo "TMOUT=3600">> /etc/profile
#历史命令记录数量设置为10条
sed -i "s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile
#立即生效
source /etc/profile

2.JDK配置

在centos的更新源中有JDK,使用yum即可下载安装

查看库中版本
[root@localhost ~]# yum search java|grep jdk
选择需要版本进行安装
[root@localhost ~]# yum install java-1.8.0-openjdk.x86_64 //安装目录是在: /usr/lib/jvm/java-1.8.0-openjdkXXX
设置环境变量
[root@localhost ~]# vi /etc/profile
    #set java environment
    JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk //注意修改路径
    JRE_HOME=$JAVA_HOME/jre
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH

[root@localhost java]# source /etc/profile //使修改生效

如果希望手动安装JDK,可以参考这篇文章

最后在终端中输入命令java -version 根据返回信息确认安装完成

3.数据库安装

3.1安装依赖包

yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++.x86_64 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64

pdksh-5.2.14-36.el5.i386.rpm 这个包库里没有,需要手动下载,[root]# rpm -ivh pdksh-5.2.14-36.el5.i386.rpm 安装,安装时可能会报错, error: Failed dependencies: pdksh conflicts with ksh-20120801-33.el6.x86_64 先删除这个rpm -e ksh-20120801-33.el6.x86_64 然后就可以安装了

3.2配置内核参数

[root@X]# vi /etc/sysctl.conf   //以下为简写使用X代替~路径
# 在文件末尾添加
net.ipv4.ip_local_port_range = 9000 65500 
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
注意下面几行需要注释
#net.bridge.bridge-nf-call-ip6tables = 0 
#net.bridge.bridge-nf-call-iptables = 0 
#net.bridge.bridge-nf-call-arptables = 0 
生效命令
[root@X]# sysctl -p

3.3创建oracle用户及配置

创建用户
[root@X]# groupadd -g 200 oinstall
[root@X]# groupadd -g 201 dba
[root@X]# useradd -u 440 -g oinstall -G dba -d /home/oracle oracle
[root@X]# passwd oracle
在此中添加:
[root@X]# vi /etc/pam.d/login
session    required     pam_limits.so

在末尾添加:
[root@X]# vi /etc/security/limits.conf
# 在文件末尾添加
oracle   soft   nproc   2047
oracle   hard   nproc   16384
oracle   soft   nofile   1024
oracle   hard   nofile   65536

# 在文件末尾添加
[root@X]# vi /etc/profile
if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
           ulimit -p 16384
           ulimit -n 65536
      else
           ulimit -u 16384 -n 65536
      fi
fi
[root@X]# su - oracle  //切换用户
[oracle@X]$ chmod 755 /home/oracle
[oracle@X]$ mkdir /home/oracle/app
[oracle@X]$ chmod 755 /home/oracle/app/
[oracle@X]$ mkdir /home/oracle/oradata
[oracle@X]$ chmod 755 /home/oracle/oradata/
[oracle@X]$ vi ./.bash_profile
# 在文件末尾添加
umask 022
export ORACLE_BASE=/home/oracle/app

3.4安装oracle软件

3.4.1VNC

因为oracle的安装必须要图形界面才能操作,所以我使用VNC这款软件来进行远程图形化连接,windows下直接安装完就可以使用

安装:
# yum install tigervnc-server
启动:
# vncserver :1
    输入完这条命令后,会让用户设置输入两次VNC链接的密码

windows客户端这样链接:(地址后加:1)

centos sql server 安装_数据库

如果链接完成后出错,链接客户端黑屏
检查VNC启动日志(类似这个文件"~/.vnc/localhost.localdomain:0.log")
会发现日志中
    /home/cake/.vnc/xstartup: line 27: xsetroot: command not found
    /home/cake/.vnc/xstartup: line 28: xterm: command not found
    /home/cake/.vnc/xstartup: line 29: twm: command not found
原因是这三个依赖包没安装
# yum install -y xsetroot xterm twm 安装完重启VNC服务即可
    可以# vncserver -kill :1       # vncserver :1   重启
    也可以直接重启系统重启VNC。。。。。。。。。

3.4.2安装前的准备

切换到oracle用户 配置oracle用户环境变量:

[oracle@X]$ vi ~/.bash_profile

# 文件末尾增加
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl  #SID注意和自己即将建立的SID对应
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

也可以在安装完后配置


解压下载的两个oracle压缩文件

[root@X]# unzip linux_11gR2_database_1of2.zip
[root@X]# unzip linux_11gR2_database_2of2.zip
使用-d参数解压到指定目录

切换到oracle用户

因为中国区下载的oracle默认安装界面是中文,服务器可能会出现乱码,所以安装前先改变语言
在解压后的database目录里输入下行命令
$export LANG=en_US.UTF-8
运行
$ ./runInstaller

在执行./runInstaller命令后可能会报错,这时需要使用root用户执行xhost +命令,然后su - oracle切换回oracle用户执行./runInstaller

3.4.3安装界面

上图:!@#¥%……&*(因为是远程连接,画质可能有点不舒服。。。。。

centos sql server 安装_数据库_02

centos sql server 安装_oracle_03

下来是登陆oracle账户,可以在邮件里接收安全更新等信息,这里我取消了选择

centos sql server 安装_centos_04

yes确认

centos sql server 安装_centos_05

仅安装数据库软件,next:

centos sql server 安装_centos_06

单实例数据库安装,next:

centos sql server 安装_jdk_07

在左边栏找到并添加简体中文的支持,next:

centos sql server 安装_oracle_08

安装企业版,next:

centos sql server 安装_oracle_09

默认,next:

centos sql server 安装_数据库_10

centos sql server 安装_oracle_11

centos sql server 安装_jdk_12

依赖检查,这里点击忽略,因为我们安装了更高版本的对应软件,不影响后续进程,next:

centos sql server 安装_centos_13

点击finish开始安装:

centos sql server 安装_数据库_14

等待。。。。。。。。。。。。。。。。。。。。。。。。。

centos sql server 安装_数据库_15

根据提示

centos sql server 安装_jdk_16

使用ROOT用户执行这两条命令

/home/oracle/oraInventory/orainstRoot.sh
/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

centos sql server 安装_服务器_17

完成

centos sql server 安装_服务器_18

vnc命令行中输入下命令创建监听 $netca

这里可能会报错~0.0 是因为安装系统时使用了默认的主机名,修改即可 点击查看解决办法

centos sql server 安装_数据库_19

centos sql server 安装_centos_20

centos sql server 安装_服务器_21

centos sql server 安装_数据库_22

centos sql server 安装_jdk_23

centos sql server 安装_oracle_24

centos sql server 安装_oracle_25


创建数据库

$dbca

centos sql server 安装_oracle_26

centos sql server 安装_jdk_27

centos sql server 安装_centos_28

这里的SID要与环境变量里的一致!!!!

centos sql server 安装_服务器_29

centos sql server 安装_oracle_30

centos sql server 安装_服务器_31

centos sql server 安装_服务器_32

centos sql server 安装_jdk_33

centos sql server 安装_centos_34

centos sql server 安装_oracle_35

centos sql server 安装_jdk_36

centos sql server 安装_oracle_37

centos sql server 安装_数据库_38

centos sql server 安装_服务器_39

centos sql server 安装_centos_40

centos sql server 安装_服务器_41

启动数据库
$sqlplus "/as sysdba"
启动
SQL>startup
停止
SQL>shutdown immediate

查看监听状态:
$lsnrctl status
启动监听
$lsnrctl start

在数据库启动,开启监听后,就可以远程连接了



正文:oracle使用

我也不会 -。- ……