CentOS下安装Oracle 10g 技术文档
第一步:以root用户执行以下命令,创建用户、组以及设置密码
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle #查看是否存在oracle用户
passwd oracle #设置密码
第二步:以root用户执行以下命令,分配权限
mkdir -p /u01/oracle #安装软件目录
mkdir -p /u02/oradata #存放oracle数据库文件
chown -R oracle:oinstall /u01/oracle/u02/oradata #分配权限
chmod -R 775 /u01/oracle /u02/oradata
第三步:以root用户执行以下命令,分配内核参数
#vim /etc/sysctl.conf
在最末尾增加
kernel.shmmax = 4294967295
kernel.shmall = 268435456
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
#sysctl -p (使参数配置立即生效)
具体的变量解释如下:
kernel.shmmax = 4294967295 //该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,这里设置为4G 4*1024*1024*1024-1=4294967295
kernel.shmall = 268435456 //该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改,这里设置256m 256*1024*1024=268435456
kernel.shmmni = 4096 //这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 //表示设置的信号量
fs.file-max = 65536 //表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量
net.ipv4.ip_local_port_range = 1024 65000 //端口范围
net.core.rmem_default = 4194304 // 默认的接收窗口大小
net.core.rmem_max = 4194304 // 接收窗口的最大大小
net.core.wmem_default = 262144 // 默认的发送窗口大小
net.core.wmem_max = 262144 // 发送窗口的最大大小
第四步:以root用户执行以下命令,(安全起见,设置第四步):限制oracle用户对资源的访问
A: 限制用户访问资源
# vim /etc/security/limits.conf 在文件之后加入如下内容
#Add this line
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
B.限制用户SHELL对资源的访问
#vim /etc/profile 在文件末尾添加如下内容:
if [ $USER = "oracle"];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
C.验证用户
#vim /etc/pam.d/login
session required pam_limits.so
session required /lib/security/pam_limits.so
第五步:为oracle用户设置环境变量
在centos中用户配置文件一定存放在/home/oracle/.bash_profile下
#vim /home/oracle/.bash_profile
在文件末尾增加:
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=oratest
export PATH=$ORACLE_HOME/bin:/usr/bin:/bin:/usr/local/bin:/sbin:$PATH
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/oracm/lib
exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export NLS_LANG='american_america'.utf8
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
alias net='cd/u01/oracle/product/11.2.0/dbhome_1/network/admin'
alias bd='cd/u01/oracle/diag/rdbms/yttestnew/dw01/trace/'
alias rman='rlwraprman'
alias dbs='cd/u01/oracle/product/11.2.0/dbhome_1/dbs'
具体的情况可根据自身目录进行调整
然后source /home/oracle/.bash_profile 让它生效
第六步:以root用户安装必要的软件安装包,使用yum方式安装能减少很多麻烦,推荐尽可能把这些安装包安装了,不然后面会遇到很多不必要的麻烦。
yum install yum-fastestmirror -y
yum install compat-db*
yum install compat-libc*
yum install compat-gcc*
yum install libXp.so.6
yum install libc-*
yum install libaio*
yum install openmotif
yum install glibc-devel*
yum install libgcc*
yum install gnome-lib*
第七步:以root用户先设置共享当前X11的访问权,即当前屏幕
#xhost +
第八步:用oracle用户定义DISPLAY变量,让显示输出到X11上,即当前0.0个显示设备上。
$ export DISPLAY=:0.0
如果不进行第七步,第八步的设置会报以下这样的错:
Xlib:connection to ":0.0" refused by server
Xlib: Noprotocol specified
解决办法:
1.退出oracle,用root登陆;
2. root命令行下输入:
[root@localhost~]# xhost local:oracle non-network local connections being added to accesscontrol list
第九步:用oracle用户安装oracle,解压安装包。(在我安装的版本中,需要将第二个安装包解压后合并到第一个文件相应的目录中,否则在执行./runinstaller 会报错),在解压的文件夹中找到runinstaller这个文件,然后./runinstaller ,正常执行会出现相应的图形界面,按照图形界面的提示,可完成安装。
第十一步:用oracle用户执行/u01/oracle/ product/11.2.0/dbhome_1/bin下的root.sh文件,执行该文件将得到/etc/oratab这个文件
第十步:用oracle用户安装监听器,执行/u01/oracle/ product/11.2.0/dbhome_1/bin/netca这个文件,正常情况下会出现图形界面(也有可能在安装的时候缺少某些JAVA GUI的包,需要百度或者google下进行安装
第十一步:创建数据库实例,用oracle用户执行/u01/oracle/ product/11.2.0/dbhome_1/bin/dbca这个文件,正常情况下出现图形界面,按图形界面提示进行安装即可。
第十二步:配置监听文件/u01/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora配置DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.53.194)(PORT=1521))修改主机名的文件在cat /etc/hosts
第十二步:测试oracle是否安装成功
a. 启用监听器:lsnrctl start ,查看状态 lsrctl status
b. 启用数据库命令:
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
第十二步:登录sqlplus的时候,会提示命令不存在,需要安装一个rlwrap
官方下载地址:http://utopia.knoware.nl/~hlub/uck/rlwrap/
安装过程:
[root@oradb temp]# tar -xvf rlwrap-0.28.tar
[root@oradb temp]# cd rlwrap-0.28
[root@oradb rlwrap-0.28]# ./configure
这一步需要readline的库,如果报错如下
checking for readline in-lreadline... no
configure: error:
You need the GNU readlinelibrary(ftp://ftp.gnu.org/gnu/readline/ ) to build
this program!
需要下载readline,地址为:ftp://ftp.gnu.org/gnu/readline/下载后编译安装,然后继续,或者 yum -y install readline-devel
[root@oradb rlwrap-0.28]# make
[root@oradb rlwrap-0.28]# make install
第十三步:安装oracle客户端软件,安装完成后,配置客户端监听文件,在D:oracleproduct10.1.0db_3NETWORKADMIN下增加一个.ora的文件,
例如:db194=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=172.16.53.194)
(PORT=1521)
)
(CONNECT_DATA=
(SERVER=dedicated)
(SERVICE_NAME=testdw)
)
)
这样如果一切正常,便可以通过toad,pl/sql访问sever端了!