新东家平时用的CentOS 5.5环境,今天学习了在CentOS 5.5下安装Oracle数据库。
第一步:安装CentOS 5.5
1.1 安装向导
1.2 去掉Desktop Gnome选项,服务器一般不用安装桌面,要是安装Oracle除外!选择现在定制“Customize now”
1.3 去掉Editors选项,切忌!否则的话,会让你插入disk2的!无耻,就无耻到这个地方了,你选择不行,但是不选择安装完毕后,系统还是有vi的,不知道他妈的老外咋搞的!而且千万注意,不用多选任何一个选项,选错了的话,就得重启在正确选择,返回按钮他妈的不起作用!!!
1.4 去掉文本互联网软件
1.5 去掉拨号网络
到处就ok了!切忌,不要错选一项哦!
我是按照网上搜来这样做的饿,没费什么力气,有了前人的血的教训,也帮我扫清的很多绊脚石。
第二部 CentOS 5.5 配置 ftp
2.1 ftp设置
2.1.1 ip设置
//设置网卡ip地址和子网掩码,系统重新启动后无效
ifconfig eth1 192.168.0.20 netmask 255.255.255.0
修改MAC地址
在/etc/rc.d/init.d/中的network 中加入:
ifconfig eth0 hw ether 00:0C:29:C1:A1:1E
查看网路设置
用 route命令查看修改
网关修改
添加网关route add default gw 网关地址
删除网关route del default gw 网关地址
cat /etc/sysconfig/network-scripts/ifcfg-eth0 //信息保存在ifcfg-eth0文件中
DNS是在/etc/resolv.conf
//从新启动网络 远程重新要注意IP地址设置的是不是正确,不然启动失败就要跑到服务器操作了。
service network restart
服务状态情况
查看服务是否启动 service 服务名 status
开启服务 service 服务名 start
关闭服务 service 服务名 stop
查看全部服务启动状态 chkconfig --list
- # vi /etc/sysconfig/network-scripts/ifcfg-eth0
- 修改以下内容
- DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
- BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
- BROADCAST=192.168.0.255 #对应的子网广播地址
- HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
- IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
- IPV6INIT=no
- IPV6_AUTOCONF=no
- NETMASK=255.255.255.0 #网卡对应的网络掩码
- NETWORK=192.168.1.0 #网卡对应的网络地址
- ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
2.1.2 vsftpd 安装
2.1.2.1 vsftpd介绍
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
2.1.2.2 vsftpd安装
#yum install vsftpd
2.1.2.3 安装后的基本配置
#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=YES
write_enable=YES
ftpd_banner=Welcome to Mven.CN FTP service.
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
#vi /etc/vsftpd/chroot_list
ftpuser
修改以上这些,其他的可以不用动
2.1.2.4 启动vsftpd服务
#service vsftpd restart
2.1.2.5 vsftpd配置文件说明
#vi /etc/vsftpd/vsftpd.conf
#匿名设置
anonymous_enable=YES 是否允许匿名ftp,如否则选择NO
anon_upload_enable=YES 是否允许匿名用户上传文件
anon_mkdir_write_enable=YES 是否允许匿名用户创建目录
#基本设置
local_enable=YES 是否允许本地用户登录
write_enable=YES 是否允许用户对FTP服务器具有写权限
local_umask=022 设置本地用户的文件掩码,默认022
#欢迎(提示)信息设置
ftpd_banner=Welcome to Mven.CN FTP service. 设置FTP服务器欢迎消息
dirmessage_enable=YES 是否启用目录说明
message_file=.message 设置访问一个目录时获得的目录信息文件的文件名,默认是.message
#日志配置
xferlog_enable=YES 是否启用上传和下载日志的功能
xferlog_file=/var/log/vsftpd.log ftp传输日志的路径和名字默认是/var/log/vsftpd.log
#连接数和速度
max_clients=100 最大客户端数100,默认是0不限止
max_per_ip=5 每个客户端最大连接数5
local_max_rate=500000 本地用户速度限制(单位是b)
anon_max_rate=2000 匿名和虚拟用户速度限制(单位是b)
#限制用户设置
chroot_local_user=YES 把所有用户限制在自己的home目录下 全局生效
chroot_list_enable=YES 是否将系统用户限制在自己的home目录下
chroot_list_file=/etc/vsftpd/chroot_list 此文件中列出的用户将被限制在自己的home目录下
如果chroot_local_user=YES,chroot_list_enable=YES的话,在chroot_list中的本地用户就不能锁定在自己的目录内了,而没有在chroot_list文件中的本地用户可以锁定在自己的家目录中。
userlist_enable=YES 是否启用用户访问列表。如果启用了则出现在/etc/vsftpd/user_list中的用户都不能登录ftp。
userlist_deny=NO 出现在/etc/user_list中的用户能登录ftp,没有出现的用户不能登录ftp
deny_email_enable=YES 是否允许禁止匿名用户使用某些邮件地址
banned_email_file=/etc/vsftpd/banned_emails 如果是输入禁止的邮件地址的路径和文件名
#其他设置
connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)
chown_upload=YES 是否改变上传文件后的属主
chown_username=username 把上传的文件的属主都改成username
idle_session_timeout=600 设置默认的断开不活跃session的时间
xferlog_std_format=YES 是否使用标准的ftp xferlog模式
data_connection_timeout=120 设置数据传输超时时间
nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody
ascii_upload_enable=YES
ascii_download_enable=YES 是否使用ascii码方式上传和下载文件
listen=YES 是否开启监听
tcp_wrappers=YES tcp_wrappers设置,俗称“防水墙”,针对进程,防火墙针对IP、Port、service
2.1.2.6 ftp上传 oracle_10g_for_linux.zip
第三部 安装Oracle
3.1、 检查安装Oracle所需要的包(由于此时你的系统可能还在更新,这一步可以放到后面操作)
一下是需要用到的包
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11
我使用的是yum install
检测包是否安装:
rpm -q binutils gcc glibc glibc-headers glibc-kernheaders glibc-devel compat-libstdc++ cpp compat-gcc make compat-db compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel openmotif openmotif21 setarch pdksh libaio libaio-devel
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\N'\binutils compat-db compat-libstdc++-296 control-center gcc glibc-devel gcc-c++ glibc glibc-common libstdc++ libstdc++-devel libXp make ksh sysstat setarch
注:这些包在Linux系统的安装里面都可以找到。
上网直接更新下载参考:
yum install
binutils
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
gcc
gcc-c++
glibc-common
glibc-devel
libaio
libaio-devel
libgcc
libstdc++
libstdc++
libXp
libXp-devel
make
3.2 挂载光驱(参考 CentOS系统开机自动挂载光驱 和 fstab文件详解http://space.itpub.net/12272958/viewspace-676977)
3.5 接下来修改系统配置
vi /etc/sysctl.conf
# Disable response to broadcasts.
# You don't want yourself becoming a Smurf amplifier.
net.ipv4.icmp_echo_ignore_broadcasts = 1
# enable route verification on all interfaces
net.ipv4.conf.all.rp_filter = 1
# enable ipV6 forwarding
#net.ipv6.conf.all.forwarding = 1
#net.ipv4.ip_forward = 0 #disabled
# Oracle requires MLOCK priviledge for hugetlb memory.
kernel.shmall=2097152 #2M
kernel.shmmni=80920
kernel.shmmax=1073741824 #MemTotal/2
kernel.msgmax=1048576
kernel.msgmnb=1048576
kernel.msgmni=512
kernel.sem=250 32000 100 128
fs.file-max=6553600
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_max=262144
net.core.wmem_default=262144
net.ipv4.ip_local_port_range=1024 65000
保存命令: :wq
[root@oracle ~]# /sbin/sysctl -p //使修改后的配置文件生效
3.6 为 oracle 用户设置 Shell 限制 //这一步很重要
[root@oracle ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@oracle ~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
3.3 创建oracle所需要的用户名(oracle)和组名(oinstall、dba),并设置相应的权限
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -m -g oinstall -G dba oracle
[root@oracle ~]# passwd oracle //这里的命令为设置oracle的密码,输入二次进行确认。
3.4 建oracle数据库安装的文件目录及路径,并设置文件权限
ORACLE_BASE: /u01/app/oracle
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
• Database file directory:
# mkdir /u01/app/oracle/oradata
# chown oracle:oinstall /u01/app/oracle/oradata
# chmod 775 /u01/app/oracle/oradata
•
• Recovery file directory (flash recovery area):
# mkdir /u01/app/oracle/flash_recovery_area
# chown oracle:oinstall /u01/app/oracle/flash_recovery_area
# chmod 775 /u01/app/oracle/flash_recovery_area
选择是开启还是关闭SELINUX的工作模式(修改这一项后最好重启一下操作系统)
[root@oracle ~]# vi /etc/redhat-release
将CentOS release 5 (Final) 修改成
redhat-4
(因为oracle公司没推出CentOS版本的oracle)
3.7 (切换oracle用户 su - oracle)修改oracle用户的环境变量
以下是完整配置
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
ORACLE_SID=mahanso
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
export LANG=AMRICAN
export NLS_LANG=AMERICAN_AMERICA.UTF8
#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#use RMAN need:
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"
d=`last -n 1|head -n 1|awk '{print $3}'`
export DISPLAY=$d:0.0
【重要说明】
红色部分请根据实际情况进行设置。
instance_name唯一的标识一个实例,一般以数据库名加上实例号为命名规范,例如:Rac中有两个实例,数据库名称为suseora,实例1命名为suseora1,实例2命名为suseora2,依次类推。
“DISPLAY”参数用于设置安装Oracle软件的图形终端的IP地址。请根据实际情况修改。DISPLAY环境变量默认为:0.0,如果在本地系统上安装ORACLE,则不用设置变量,如果在远程主机上安装oracle,那么设置DISPLAY=本机地址(或本机域名):0.0,例如我要在自己机子10.166.112.148上,给远程主机安装ORACLE,则这里设置DISPLAY=10.166.112.148:0.0
“NLS_LANG”参数设置Oracle字符集。为保证Oracle支持中英文数据,请确认该项为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
至此,前期的环境条件准备完成,可以开始安装了
2011.07.06更新
今天在centos 5.6 64位操作系统上安装oracle后,创建数据库时出现ora-00600 internal error code,解决办法如下:
1.必须配置主机名条目
如果没配置主机名条目创建数据库是会报 ORA-00600: internal error code
2.必须配置localhost条目
如果没配置正确的localhost条目,监听器启动有问题
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12272958/viewspace-676661/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12272958/viewspace-676661/