1、设置操作系统:
系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下
vim /etc/redhat-release
#CentOS release 6.3 (Final) 这行注释掉,加上下面的
Red Hat Enterprise Linux 6
2、安装依赖:
安装前用先更新一下系统到最新版本
yum list updates
yum upgrade
reboot
我已经将上面包写成安装一个命令了,除非人品不好,不然应该一次成功
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
3、selinux,防火墙关掉
vim /etc/sysconfig/selinux
SELINUX=enforcing改成SELINUX=disabled
关服务命令
1、ntsysv 可视化界面配置保存
2、chkconifg
chkconfig --list | grep on 看哪些服务开着在
service 服务名 stop 或 /etc/init.d/服务名 stop
chkconfig 服务名 off
4、机器名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dbserver
GATEWAY=192.168.137.1
NTPSERVERARGS=iburst
就是上面的HOSTNAME=dbserver
vim /etc/hosts
127.0.0.1 localhost dbserver
::1 localhost dbserver
#ip dbserver
5、建立用户,组,安装目录
6.1、建立用户和组(官方文档)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle" | passwd --stdin oracle #密码设置为oracle,为安全,改一下吧,也可以直接用交互式的passwd命令
如果oralce用户存在,第三个命令变成:
usermod -g oinstall -G dba oracle
7、建立安装目录(OFA)
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
8、内核参数
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1200000000
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点
Minimum: 536870912
Maximum: A value that is 1 byte less than the physical memory
Recommended: More than half the physical memory
See My Oracle Support Note 567506.1 for additional information about configuring shmmax.
还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉
改好后,使之生效
sysctl -p
9、改文件限制
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@dbserver~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
# vi /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
10、oracle用户环境变量
vim ~oracle/.bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=dbserver; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORCL; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORCL; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
11、安装
PS:在运行./runInstaller前,在一台windows机器上安装NetSarang Xmanager Enterprise 3.0.0208
,并且运行xmanager –Passive模式,运行./runInstaller后,在安装了NetSarang Xmanager Enterprise的机器上就会弹出oracle的安装界面
# su - oracle
$ cd /u01/app/oracle
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
$ unset LANG LANGUAGE #解决中文乱码
$ cd /u01/app/oracle/databse
$ ./runInstaller
$orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=password entries=4 force=y
oracle 无法启动解决方法:
$ORACLE_BASE/admin/(dbname) /pfile目录下的init.ora(.01200923383)文件复制到
$ORACLE_HOME/dbs目录下即可
[root@phoneDB pfile]# pwd
/home/oracle/admin/phone/pfile
[root@phoneDB pfile]# ls
init.ora.010200882414
[root@phoneDB pfile]#
[root@phoneDB dbs]# pwd
/home/oracle/10.2.0/db_1/dbs
[root@phoneDB dbs]# ls
hc_phone.dat init.ora lkPHONE spfilephone.ora
initdw.ora init.ora.010200882414 orapwphone
#cp init.ora.010200882414 initORCL.ora'
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.WE8MSWIN1252
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
将数据库置于restricted mode下
SQL> alter system enable restricted session;
System altered.
启动Oracle:
lsnrctl start
sqlplus / as sysdba
startup
修改sys密码:
- sqlplus /nolog;
- connect / as sysdba
- grant sysdba to system;
- alter user sys identified by 新密码;
- alter user system identified by 新密码;
-
CentOS6.5下设置Oracle 11gR2 开机自动启动
1.root 用户下修改ORATAB(将N该为Y):
[root@ora11gr2 ~]# vim /etc/oratab
mytest:/oracle/product/11.2.0/db_1:Y2.oracle 用户下修改:
[oracle@ora11gr2 ~]$cd $ORACLE_HOME/bin
[oracle@ora11gr2 bin]$ vim dbstart找到 ORACLE_HOME_LISTNER=$1 这行, 修改成:
ORACLE_HOME_LISTNER=/u01/app/oracle/product/11.2.0/db_1/
或者直接修改成:
ORACLE_HOME_LISTNER=$ORACLE_HOME
同样道理修改 dbshut测试运行 dbshut, dbstart 看能否启动oracle 服务及listener服务
3.root 用户下修改:
[root@ora11gr2 ~]# cd /etc/rc.d/init.d/
[root@ora11gr2 init.d]# vi oracle#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases
# /etc/init.d/oracle
export ORACLE_SID=oracle
# export ORACLE_HOME_LISTNER=/u01/app/oracle/product/11.2.0/db_1/bin/
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
su oracle -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
echo "OK"
;;
stop)
echo -n "Shutdown Oracle: "
su oracle -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0保存!修改文件权限
chmod 755 /etc/rc.d/init.d/oracle
[root@ora11gr2 ~]# chkconfig oracle on