在rhel 5.X 系列上安装Oracle 10g:
1、修改系统版本号
# vi /etc/redhat-release
Red Hat Enterprise Linux Server release 4.3 (Tikanga)
2、搭建安装环境
a、硬环境
/tmp 必须有400M的可用空间
安装oracle的所在分区 空闲空间必须大于1.5G 或者 大于 3G
物理内存 ,一般要求大于1G
free -m (查看物理内存)
swap 交换分区 :
RAM 512-1G , 交换分区可以设定为1G
RAM 2G , 交换分区可以设定为4G
规则: 两倍的物理内存,32位的操作系统最多就支持4G
b、软环境
# cd /etc/yum.repos.d/ -----配置YUM源
# yum clean all
# yum list
安装两个包
# yum install compat-gcc-* -y
# yum install libXp –y
2、固定IP和静态绑定主机名字(省略步骤)
3、用户的创建
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
passwd oracle
4、创建目录
mkdir /u01/oracle/10g -p
mkdir /u01/oracle/database
chown oracle.oinstall /u01/oracle/ -R
chmod 755 /u01/oracle/ -R
5、修改环境变量,注意是改oracle用户的,不是root的
su - oracle
vim .bash_profile
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=/u01/oracle/10g
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
source .bash_profile
--保存后source一下使之生效,或者exit再su - oracle切换进去
6、修改系统内核参数
# sysctl -a |grep file-max | sed 's/204972/65536/' >> /etc/sysctl.conf
# sysctl -a |grep sem |sed 's/32/100/2' >> /etc/sysctl.conf
# sysctl -a |grep rmem_d |sed 's/110592/262144/' >> /etc/sysctl.conf
# sysctl -a |grep rmem_max |sed 's/131071/262144/' >> /etc/sysctl.conf
# sysctl -a |grep wmem_max |sed 's/131071/262144/' >> /etc/sysctl.conf
# sysctl -a |grep wmem_d |sed 's/110592/262144/' >> /etc/sysctl.conf
# sysctl -a |grep ip_local |sed -e 's/32768/1024/' -e 's/61/65/' >> /etc/sysctl.conf
或者直接写到/etc/sysctl.conf
fs.file-max = 65536
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
net.core.wmem_default = 262144
net.ipv4.ip_local_port_range = 1024 65000
sysctl -p 使之生效
7、修改pam的limit限制
# vim /etc/pam.d/login
session required pam_limits.so --加上这一句
(修改oracle用户的资源限制)
# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
8、允许oracle用户运行图像安装oralce软件包
# xhost +
# su - oracle
$ export LANG=en_US.utf8
$ unzip /share/soft/oracle/10201_database_linux32.zip -d /u01/oracle/database/
$ cd database/
$ ./runInstaller
安装过程中需要管理员身份执行以下脚本
# /u01/app/oracle/oraInventory/orainstRoot.sh
# /u01/app/oracle/10g/root.sh
=======================================================
安装过程常见错误:
错误一:
libXp.so.6: cannot open shared object file: No such file or directory
有此报错,要先安装libXp包
[root@li ~]# yum install libXp -y
错误二:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
这是因为普通用户oracle没有打开图形的权限,所以要用root用户xhost + 授权
[root@li /]# xhost +
错误三:
安装界面乱码
换英文环境
export LANG=en
OUI-10030 此警告是临时目录是非空,第二次安装会报此警告,直接按yes过去
然后主要是要保证所有的都是succecced
===========================================================
安装完后
ps -ef |grep ora_ 查看进程就知道是否启动了
[oracle@li ~]$ sqlplus "/as sysdba" --这样去登录
[oracle@li ~]$ sqlplus / as sysdba --或者这样登录
--上面的命令登录没有使用用户名和密码,是因为使用的是系统验证
安装三个软件包,使oracle支持上下翻页,和命令历史记录,自动补全等功能
[root@li ~]# tar xvf /share/soft/oracle/IO-Tty-1.07.tar.gz -C /u01/oracle/
[root@li ~]# tar xvf /share/soft/oracle/Term-ReadLine-Gnu-1.16.tar.gz -C /u01/oracle/
[root@li ~]# tar xvf /share/soft/oracle/uniread-1.01.tar.gz -C /u01/oracle/
[root@li ~]# cd /u01/oracle/IO-Tty-1.07/
[root@li IO-Tty-1.07]# perl Makefile.PL ;make ;make install
[root@li IO-Tty-1.07]# cd /u01/oracle/Term-ReadLine-Gnu-1.16/
[root@li Term-ReadLine-Gnu-1.16]# perl Makefile.PL ;make ;make install
[root@li Term-ReadLine-Gnu-1.16]# cd /u01/oracle/uniread-1.01/
[root@li uniread-1.01]# perl Makefile.PL ;make ;make install
[oracle@li ~]$ uniread sqlplus / as sysdba
--这样登录就可以使用uniread的功能了
如果觉得不方便,把uniread sqlplus做一个别名
vim .bashrc
alias sql="uniread sqlplus"
source .bashrc
再登录数据库时,使用sql / as sysdba
==============================================================
数据库安装完后,几个重要的目录介绍
ls $ORACLE_HOME/bin --工具全在这里,包括sqlplus
ls $ORACLE_HOME/dbs --参数文件,spfile,pfile,密码文件
ls $ORACLE_HOME/network/admin/ --监听文件
ls $ORACLE_BASE/oradata --默认的数据文件,控制文件,redo日志的路径
ls $ORACLE_BASE/admin --dump目录,包括告警日志
==============================================================
删除库的方法:
使用dbca去删除
删除oracle软件的方法:
rm /etc/oraInst.loc
rm /etc/oratab
rm /usr/local/bin/coraenv
rm /usr/local/bin/dbhome
rm /usr/local/bin/oraenv
rm -rf /u01/oracle/
==============================================================
监听的配置:
[oracle@li 10g]$ vim /u01/oracle/10g/network/admin/listener.ora
--这个文件不用改
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/oracle/10g)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT = 1521)) --服务器的主机名,可以使用ip,端口为1521
)
)
[oracle@li 10g]$ vim /u01/oracle/10g/network/admin/tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
比如我要连接142的orcl这个库,在我的tnsname.ora文件里加上下面一段
o142 = --自定义一个连接名
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.142)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
监听的停止和启动
lsnrctl stop
lsnrctl start
[oracle@li 10g]$ sqlplus sys/oracle@o142 as sysdba 这样去连接142的orcl库