DBA之路:IBM小型机安装架设数据库环境实录
write by 飞思扬 (Flysy) -- blog.csdn.net/onisland
回校做论文期间应Doctor.Fang的邀请加入了他的一个项目组,帮忙安装服务器和数据库。前两天收到他的邮件,希望我能把安装的具体步骤总结以下,以后碰到同类问题的时候好做参考,就在此总结下。
项目是为当地运管局做的实时管理和监控所有机动车的系统,数据从sqlserver 2005迁到oracle,因为是对老系统的升级,数据库模型改动并不大。
那天和DOCTOR.FANG去运管局部署服务器,没想到一个小小的市级别的运管局还有自己的机房,机房也是网络中心主任的办公室,隔开的玻璃间内有3个机柜,每个机柜大概有8-10个子架,那位负责的大哥找了台不用的主机帮我们搬出来。虽然工作期间使用着很多台小型机、大型机,但都是通过远程连接,并没有真正见过真正的机器。
给我们用的服务器是一台IBM p550小型机,机子看起来很薄,只有普通台式机厚度的一半,长约一米。卸开给我们检查硬件配置,里面有4个“志强”双核CPU,内存是16G,挂载了3个250G的硬盘准备做RAID5,其余全是课拆卸的风扇。
开机后噪音很大,因为要将系统从原来的Window 2008换成Linux。因为机器从机房单独拿了出来,接入网络,需要给我们找台显示器。那个领导想了想,看到凌乱的一个角落里堆着各种箱子,打开,都是新新的显示器、主机的什么的,都没有使用过(真是腐败啊-_-!)。最后随便拿了台dell的液晶显示器和键鼠给我们用。
连好后,就到了我操作的时间了。先进入BIOS调整下启动顺序,然后插入机器自带的RAID光盘(怪不得IBM的服务器卖的好,从带的光盘就能看出来,真是只有你想不到,太全了~),进入程序,选好磁盘做个RAID5,等一会就搞定了。
之后就是安装Linux,机器带的版本是RHEL4.6,放入光盘后一步一步跟着来就好,安装好后调整下启动顺序,启动后进入命令行,不加载图形界面。
下面进入安装Oracle的环节,先要检查下系统的配置和其他安装前的准备,总结的步骤如下:
1.检查环境
物理内存:grep MemTotal/proc/meminfo
交换空间:grep SwapTotal/proc/meminfo
检查/tmp目录:df -k /tmp
检查磁盘空闲空间:df -k
确认系统架构:grep"model name" /proc/cpuinfo
2.配置安装环境
2.1检查Oracle必备软件包:
binutils
compat-db
compat-libstdc++
control-center
gcc
gcc-c++
glibc
glibc-common
libstdc++
libstdc++-devel
libXp
make
ksh
sysstat
setarch
查看软件包是否安装:rpm -qa |grep compat-db
安装软件包:rpm -ivhcompat-db-4.2.52-5.1.i386.rpm
删除错误的软件包:rpm -ecompat-db-4.2.52-5.1
2.2修改操作系统核心参数
2.2.1配置内核参数:/etc/sysctl.conf
一般只修改 kernel.shmmax这个值,该参数应该是物理内存的一半(字节)
2.2.2设置Shell调用限制:/etc/security/limits.conf
/etc/pam.d/login
2.2.3创建相关目录、用户、组
(1)创建Inventory组和dba组
groupadd oinstall
groupadd dba
(2)创建oracle用户
useradd -g oinstall-g dba -m oracle
passwd oracle
(3)创建软件目录
mkdir /opt/ora10g
mkdir/opt/ora10g/product
mkdir/opt/ora10g/oradata
chown -R oracle:oinstall /opt/ora10g --更改目录属主
(4)切换oracle用户环境变量
su - oracle
vi .bash_profile--增加相关内容
至此,安装前的准备工作就做完了,下面正式进入到安装步骤:
1.将U盘挂载到系统,然后将安装文件copy到主机目录下,这样为了安装时读取速度更快,之后就是解压安装文件,命令:
unzip10201_database_linux32.zip
2.启动图形界面,进入cd/opt/ora10g/software/database目录,运行安装文件
./runInstaller
--此时要用Oracle登录,不能su -oracle切换,否则会报Can't connect to X11 window server using
DISPLAY variable,或者这是display=ipaddress:0.0
具体可参考这篇文章:http://space.itpub.net/9252210/viewspace-561498
3.之后Oracle安装界面弹出,和Windows下相同,一步一步按照要求下去就好。最后一步,系统会提示以Root身份执行2个脚本
(1)切换到root用户:su - root
(2)运行如下脚本即可
/opt/ora10g/oraInventory/orainstRoot.sh
/opt/ora10g/product/10.2.0/db_1/root.sh
碰到的错误汇总:
1.用DBCA创建数据库时报错: ORA-00600: internalerror code, arguments
原因:主机名不匹配的问题,主机名要和ipaddress匹配
解决方法:修改文件即可 /etc/sysconfig/network
注:有时改变linux主机名造成实例崩溃,就是这个原因
2.Oracle无法启动报错:ora-03114:cannotconnected to oracle
原因:为了网络上方便管理,他们修改了主机名,造成主机名和Ip地址没有匹配,Ip地址为空
解决方法:在文件中添加一个本地回路地址:127.0.0.1 localhost 即可
3.之后在自己的虚拟器上安装时碰到Swap交换空间不足的问题
解决方法:
第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件
第二步:添加交换文件并设置其大小为2G,使用如下命令
[root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000过段时间就返回如下结果:
2048000 0 records in
2048000 0 records out
2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s
第三步:创建(设置)交换空间,使用命令mkswap
[root@sense image]# mkswap /opt/image/swap
Setting up swapspace version 1, size = 2097147 kB
第四步:检查现有的交换空间大小,使用命令free
[root@sense image]# free -m
total used free shared buffers cached
Mem: 1011 989 21 0 1 875
-/ buffers/cache: 112 898
Swap: 1027 0 1027或者检查meminfo文件
grep SwapTotal /proc/meminfo第五步:启动新增加的2G的交换空间,使用命令swapon
[root@sense image]# swapon /opt/image/swap具体可参考这篇文章:http://www.linux521.com/2009/system/200905/2273.html
个人感想:政府部门拿着纳税人的钱真不珍惜,就单看这个小小运管局的网络中心,一堆服务器,网上查了下,基本每台小型机的价格都在500w以上,这个小机房里就有20~30台,按25台算,这就是1.25亿啊!!汗颜~~我当时还想,如果给我这样一个环境,那我可以多学多少硬件和操作系统的知识啊~
不过里面的人对些貌似都不怎么感兴趣,从地上堆积如山的名牌主机显示器就能看到,三公经费嘛,用不完小心明年不给你!Linux了解的也甚少,因为,有问题直接打电话就行了嘛,维护公司的人员跑的屁颠屁颠的。。
所以各位兄弟姐妹们,如果有这样一个机会摆在眼前,千万不要错过啊!唉,我这是怎么了,典型的羡慕嫉妒恨,悲哀啊悲哀!
WRITE BY 飞思扬 (FLYSY) -- BLOG.CSDN.NET/ONISLAND