本人小白,因为偶然原因,将实验用的CentOS中/lib文件夹下的东西误删除了!!!结果就是Oracle运行故障,系统宕机。苦于没有找到合适的恢复文件的方法,于是乎,我就决定重新安装系统,一边看书一边百度,耗时27小时36分(含吃饭睡觉打游戏等),终于新的系统重见天日了!先在此,将整个过程中碰到的问题一一记录,有备无患,有得有失,有的放矢。

一、试验环境
1.VMare workstation 10.0
2.Laptop一台
3.便利的外网环境
二、操作系统安装
1.设置虚拟机

centos7 rar低版本 centos release6.7_CentOS

这里需要注意的是,将系统的iso文件一定要设置为加载,以便于在启动时进入系统安装界面。

2.安装系统

(1)分区

因为实验环境有限,总磁盘大小为25G,所以我经过大约6次尝试之后,才发现原来初步安装之后,/usr占用的空间很大,于是决定将它单独分区,同时为了将来在用户配额(quota)管理上少走弯路,于是对/home也进行了单独分区,因为考虑到是试验环境,非生产环境,所以SWAP分区只给了512M(此处埋下了一个小隐患,下面会讲到),这样大部分的空间都预留给根目录,也便于以后安装oracle,这样分区的构成基本如下图:

centos7 rar低版本 centos release6.7_CentOS_02

这样分区是否在硬盘有限的情况下是合理的,现在不得而知,只不过目前来讲,在安装完oracle之后,仍然有59%的空间可以供根目录使用,可以用于以后的试验。
(2)自定义安装
分区之后就是自定义安装配套的软件包,因为安装模式选择的是Basic Server,所以在配套包上一般选择与Server Development有关的,同时一定不要忘记安装如下包:

binutils-2.17.50.0.6;
    compat-libstdc++-33-3.2.3;
    elfutils-libelf-0.125;
    elfutils-libelf-devel-0.125;
    elfutils-libelf-devel-static-0.125;
    gcc-4.1.2 gcc-c++-4.1.2 ;
    glibc-2.5-24 ;
    glibc-common-2.5;
    glibc-devel-2.5;
    glibc-headers-2.5;
    kernel-headers-2.6.18;
    ksh-20060214 ;
    libaio-0.3.106;
    libaio-devel-0.3.106;
    libgcc-4.1.2 ;
    libgomp-4.1.2;
    libstdc++-4.1.2;
    libstdc++-devel-4.1.2;
    make-3.81 sysstat-7.0.2

以上都是oracle安装过程中需要的缺省包,如果没有的话会报错,如果想要简单的方法安装以上包,可以将运行一下这个脚本文件:

yum -y install \
binutils \
compat-libcap1  \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp

将这个文件保存为shell脚本,运行一下就可以了。我将它保存为update.sh,可以这样运行。

chmod 755 update.sh
./update.sh

另外,如果在运行过程中,发现出现[Errno 14]PYCURL ERROR 6等错误,可以按照一下方法查找问题:
一是查看/etc/resolv.conf文件中最后是否有添加如下片段:

nameserver 8.8.8.8

如果没有,可以用如下代码添加:

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

原因貌似是因为DNS服务器没有找到合适的域名什么的。
二是如果还是没有效果,建议到/etc/yum.repo.d/下,用vi修改一下CentOS-Base.repo中各个镜像的地址,有的distribution因为版本太老,原来的镜像可能已经移动到其他地方去了,所以使用yum命令无法找到地址。具体可以修改成什么地址,可以参考以下163服务器对应的设置。

# 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-$releasever - Base  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os  
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  

#released updates   
[updates]  
name=CentOS-$releasever - Updates  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates  
baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  

#additional packages that may be useful  
[extras]  
name=CentOS-$releasever - Extras  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras  
baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  

#additional packages that extend functionality of existing packages  
[centosplus]  
name=CentOS-$releasever - Plus  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus  
baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/  
gpgcheck=1  
enabled=0  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6  

#contrib - packages by Centos Users  
[contrib]  
name=CentOS-$releasever - Contrib  
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib  
baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/  
gpgcheck=1  
enabled=0  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

今天先写到这,明天有时间,再继续以下章节:X Window、oracle环境配置、TNS环境配置、sqldeveloper安装与配置。

/*华丽的分割*/

上次说到自定义安装,因为在安装系统时候选择的Basic Server,所以是不包含图形界面的,但是在Oracle的安装和配置中是需要使用图形界面的,所以就必须安装X window。安装方法也很简单,选中就行。

安装完成之后,大概就是以下这样子:

centos7 rar低版本 centos release6.7_centos_03

如果没有在一开始安装X Window 界面,那么在命令行状态下输入

startx

也可以直接进入图形界面模式,但是在此之前,要确保你的显示环境是本机,也就是说需要先运行以下命令:

export DISPLAY=:0.0

这个代表图形界面的显示环境在本台终端的显示器上,否则会报错。

三、环境配置

1.Oracle相关配置

关于Oracle的相关配置,我决定贴图。

centos7 rar低版本 centos release6.7_centos7 rar低版本_04

具体做法是:

su -
# 输入root用户密码
vim /etc/sysctl.conf

打开之后,按i,进入编辑模式,加入后面这一大串字段,因为这些字段是安装Oracle必须的。输入完毕之后,先按Esc键,再输入:wq,回车就保存了。
另外还有:

vim /etc/security/limits.conf

centos7 rar低版本 centos release6.7_CentOS_05

输入以上屎黄色的四行字段。
2.网络相关配置
主要就是保证你的网卡能够正常上网,在设置虚拟机的时候,建议使用NAT模式连接,在IP地址配置中选择DHCP模式自动设置IP地址,当然,如果为了管理服务器,建议可以参考以下网络配置的方法。
还是上图,首先是配置网卡eth0

vim /etc/sysconfig/network-script/ifcfg-eth0

centos7 rar低版本 centos release6.7_centos7 rar低版本_06

主要是配置以下字段:

ONBOOT=yes
BOOTPROTO=dhcp
IPV6INIT=no

其他字段没看出有什么意义,反正配置以上字段,基本可以确保网络没问题。另外就是配置network。

vim /etc/sysconfig/network

centos7 rar低版本 centos release6.7_oracle_07

基本上根据以上配置,网络这块的问题就解决了。还有最重要的,一定要实现Ping一下服务器主机(就是虚拟机里的主机IP)和客户端(自己的机器IP)通不通,这一点,很重要。

在Linux下查看IP的方法为输入ifconfig,在Windows下使用命令行查看IP的方法是输入ipconfig,这两个有所不一样哦。

centos7 rar低版本 centos release6.7_centos7 rar低版本_08

centos7 rar低版本 centos release6.7_oracle_09

centos7 rar低版本 centos release6.7_CentOS_10

/*又没有写完,明天继续*/

三.oracle安装配置
在这里,我使用的是oracle标准的GUI工具——OUI(Oracle Universal Installer),这个工具需要图形化界面运行,所以在一开始安装操作系统时,需要安装X Window。
1.建立用户
为了确保安装过程顺利,我们需要先新建一个用户oracle,一个用户组oinstall,用于在安装过程中运行各类命令。

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

2.设置环境变量

3.准备安装文件
4.进行安装