本人小白,因为偶然原因,将实验用的CentOS中/lib文件夹下的东西误删除了!!!结果就是Oracle运行故障,系统宕机。苦于没有找到合适的恢复文件的方法,于是乎,我就决定重新安装系统,一边看书一边百度,耗时27小时36分(含吃饭睡觉打游戏等),终于新的系统重见天日了!先在此,将整个过程中碰到的问题一一记录,有备无患,有得有失,有的放矢。
【纯粹菜鸟自娱自乐,牛人请点右上角叉号~~】
一、试验环境
1.VMare workstation 10.0
2.Laptop一台
3.便利的外网环境
二、操作系统安装
1.设置虚拟机
这里需要注意的是,将系统的iso文件一定要设置为加载,以便于在启动时进入系统安装界面。
2.安装系统
(1)分区
因为实验环境有限,总磁盘大小为25G,所以我经过大约6次尝试之后,才发现原来初步安装之后,/usr占用的空间很大,于是决定将它单独分区,同时为了将来在用户配额(quota)管理上少走弯路,于是对/home也进行了单独分区,因为考虑到是试验环境,非生产环境,所以SWAP分区只给了512M(此处埋下了一个小隐患,下面会讲到),这样大部分的空间都预留给根目录,也便于以后安装oracle,这样分区的构成基本如下图:
这样分区是否在硬盘有限的情况下是合理的,现在不得而知,只不过目前来讲,在安装完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。安装方法也很简单,选中就行。
安装完成之后,大概就是以下这样子:
如果没有在一开始安装X Window 界面,那么在命令行状态下输入
startx
也可以直接进入图形界面模式,但是在此之前,要确保你的显示环境是本机,也就是说需要先运行以下命令:
export DISPLAY=:0.0
这个代表图形界面的显示环境在本台终端的显示器上,否则会报错。
三、环境配置
1.Oracle相关配置
关于Oracle的相关配置,我决定贴图。
具体做法是:
su -
# 输入root用户密码
vim /etc/sysctl.conf
打开之后,按i,进入编辑模式,加入后面这一大串字段,因为这些字段是安装Oracle必须的。输入完毕之后,先按Esc键,再输入:wq,回车就保存了。
另外还有:
vim /etc/security/limits.conf
输入以上屎黄色的四行字段。
2.网络相关配置
主要就是保证你的网卡能够正常上网,在设置虚拟机的时候,建议使用NAT模式连接,在IP地址配置中选择DHCP模式自动设置IP地址,当然,如果为了管理服务器,建议可以参考以下网络配置的方法。
还是上图,首先是配置网卡eth0
vim /etc/sysconfig/network-script/ifcfg-eth0
主要是配置以下字段:
ONBOOT=yes
BOOTPROTO=dhcp
IPV6INIT=no
其他字段没看出有什么意义,反正配置以上字段,基本可以确保网络没问题。另外就是配置network。
vim /etc/sysconfig/network
基本上根据以上配置,网络这块的问题就解决了。还有最重要的,一定要实现Ping一下服务器主机(就是虚拟机里的主机IP)和客户端(自己的机器IP)通不通,这一点,很重要。
在Linux下查看IP的方法为输入ifconfig,在Windows下使用命令行查看IP的方法是输入ipconfig,这两个有所不一样哦。
/*又没有写完,明天继续*/
三.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.进行安装