1、系统硬件要求
·至少1024M的物理内存
·交换分区大小
内存大小 | 所需的交换分区大小 |
1024 MB - 2048 MB | 内存的1.5倍 |
2049 MB - 8192 MB | 等于内存大小 |
大于 8192 MB | 内存的0.75 倍 |
·/tmp目录有400MB的空间
·1.5G – 3.5G的空间, 用于安装 Oracle软件 ,安装的类型决定
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
2、软件环境需求
操作系统必须安装的软件包
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
setarch-1.3-1
另外还需要libaio-devel-0.3.98-18 下载: [libaio_0.3.104.orig.tar.gz]
http://packages.debian.org/unstable/libs/libaio
要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:
1. # cat /etc/issue 查看操作系统
2. # uname –r 系统内核版本号
3. # rpm -q package_name 查看软件包安装情况
rpm -qa | grep compat
rpm -qa | grep openmotif
rpm -qa | grep setarch
gcc -v
rpm -q glibc
用rpm -ivh compat.....rpm 来安装未安装的包
3、创建Oracle用户和用户组
接下来,创建用于安装和维护 Oracle 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组
将称为 oinstall 和 dba。The Oracle Inventory group (oinstall
)
· The OSDBA group (dba
)
· The Oracle software owner (oracle
)
· An unprivileged user (nobody
)
以 root 用户身份登录并执行相关命令:
1、创建oinstall和dba用户组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
2、创建oracle用户,并设置所属用户组
# /usr/sbin/useradd -g oinstall -G dba oracle
若用户已经存在,则设置用户组
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
# /usr/sbin/usermod -g oinstall -G dba oracle
3、设置oracle的密码
# passwd oracle
4、建立nobody用户
# /usr/sbin/useradd nobody
4、设定核心参数
创建或修改/etc/sysctl.conf , 在该文件末尾加入如下内容:
kernel.shmall = 2097152 (固定大小2M)
kernel.shmmax = 2147483648 (一般为物理内存的一半)
kernel.shmmni = 4096 (固定大小4096)
kernel.sem = 250 32000 100 128 (固定内容)
fs.file-max = 65536 (固定大小65536)
net.ipv4.ip_local_port_range = 1024 65000 (指定的内容)
rmem_default = 262144
rmem_max = 262144
wmem_default = 262144
wmem_max = 262144
参数说明:
shmall 所有内存大小.
shmmax 最大共享内存2GB 物理内存如果小的话可以设置成 536870912.
shmmni 最小共享内存 4096KB.
sem 4 个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);
SEMOPM(每次semopm 系统调用操作数);SEMMNI(系统辛苦量集数最大数).
5、设定Shell限制
出于性能上的考虑,还需要增大oracle用户的限制,即增加nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)。
·添加如下的行到/etc/security/limits.conf 文件:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
·添加如下的行到/etc/pam.d/login 文件:
session required /lib/security/pam_limits.so
·编辑 /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
·编辑 /etc/csh.login 文件加入如下部份
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
6、创建安装的目录
以 root 用户身份执行以下命令:
# mkdir -p /mount_point/services/oracle_sw_owner
# chown -R oracle:oinstall /mount_point/ services /oracle_sw_owner
# chmod -R 775 /mount_point/ services /oracle_sw_owner
例如: /usr/services/oracle10
7、检查并调整环境变量
·查看启动脚本环境变量:
$ su – oracle
$ echo $SHELL
·编辑.bash_profile文件,加入如下部份
umask 022
·如果
ORACLE_SID
,ORACLE_HOME
, orORACLE_BASE
变量已在文件中设置,将其删除。
·运行 . ./.bash_profile , 使环境变量生效
·定义DISPLAY=local_host:0.0 ; export DISPLAY
·设置ORACLE_HOME
和TNS_ADMIN
环境变量
$ unset ORACLE_HOME
$ unset TNS_ADMIN
·查看环境变量
$ umask
$ env | more
·确认 umask 的值为0022
,022
, 或22 ,
上述设置的环境变量正确
8、加载安装盘
切换到
root
帐户
$ su - root
# eject /mnt/dvd
$ ls /mnt/dvd
# mount -t iso9660 /dev/dvd /mnt/dvd
9、安装Oracle
切换到oracle 帐户
# su – oracle
切换到安装目录,并运行 $ ./runInstaller
10、管理Oracle
安装完成后, 打开企业管理器
http://host.domain:1158/em/, 用户sys 或 system 以 SYSDBA登录
11、oracle自动启动
· 创建文件/etc/oratab
#添加如下内容到/etc/oratab文件中,
#$ORACLE_SID是你的Oracle数据库的sid
#$ORACLE_HOME是你的Oracle数据库的Oracle_home
#Y表示要求在系统启动的时候启动Oracle数据库.N表示不要在系统启动的时候启动Oracle
$ORACLE_SID:$ORACLE_HOME:Y
· 修改文件/etc/rc.local添加一下两行
##
## 关于su的具体命令参看linux的manual文档
##
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start LISTENER'
11、相关的技术
须先设置ORACLE_HOME, ORACLE_SID , 启动数据库, 启动EM, 启动listeren
·设置用户环境变量
# export ORACLE_BASE=/home/oracle/oracle
# export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_2
# export ORACLE_SID=orcl
# export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
# export LC_CTYPE=en_US.UTF-8
·启动监听:
# ./lsnrctl start LISTENER
·启动Oracle MaManagement Manager:
# su – oracle
$ emctl start dbconsole
·启动 Oracle Management Agent:
# su - oracle
$ emctl start agent
·启动数据库:
sqlplus /nolog
connect sys/xxxx as sysdba
startup 或startup pfile=(spfile) 即带上初始化参数文件路径