0、安装前的设定
0.1 软件安装在什么位置?安装在 /home/oracle/database 下面
0.2 数据放在什么位置?数据放在/home/oracle/database/MTDBdata
0.3 数据库名称叫什么? 数据名 mtyxdb
0.4 需要的字符集是什么?ZHS16GBK
0.5 是否归档,归档到什么位置? /home/oracle/database/MTArchiveData
1、安装环境测试(操作系统在安装时要把全部的开发环境安装上)
rpm -q binutils control-center gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make libaio
PS:如果没有装好,也可以使用ISO文件作为安装源,重新安装。
2、vim /etc/sysconfig/i18n
LANG="en_US.UTF-8" # 不显示中文界面,避免乱码
3、 vim /etc/redhat-release
内容修改前 Red Hat Enterprise Linux Server release 6.3 (Santiago)
内容修改后 Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
4、vim /etc/sysctl.conf 文件最后添加如下内容
# for Oracle
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=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
5、vim /etc/security/limits.conf 文件最后添加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
PS:执行这个命令 #sysctl -p 使得上述修改参数生效
6、vim /etc/pam.d/login 文件最后添加如下内容
session required /lib/security/pam_limits.so
session required pam_limts.so
7、创建用户和组
oracle 安装需要两个 unix 用户组和一个运行时的 oracle 用户。
#groupadd oinstall
#groupadd dba
#useradd -m -g oinstall -G dba -p passwd -d /home/oracle -s /bin/bash oracle
{-g表示用户所属组、-G表示用户所属附加组、-d表示用户主目录、-s表示用户默认shell类型、oracle表示用户名,-m参数表示自动创建此用户的主目录,为避免麻烦,请勿手动创建此目录、-p 表示用户密码}
PS:用户密码 passwd 一般设置为 oracle
8、进入 /home/oracle 目录,vim .bash_profile,在文件开头添加如下内容
export ORACLE_BASE=/home/oracle/database # 数据库安装路径
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=mtyxdb # 数据库SID
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
#export NLS_LANG=american
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
export umask=022
export LANG=en_US
export NLS_LANG=American_america.ZHS16GBK
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
9、vim /etc/selinux/config 设置 SELINUX 为不可用
SELINUX=disabled
10、vim /etc/hosts 添加本机IP与hostname对应条目
11、在 root 下执行 xhost + 命令,以显示swing图形界面
12、开始安装
以oracle用户身份执行安装程序,./runInstaller
ps:这个错误 /home/oracle/database/product/10.2.0/db_1/sysman/lib/snmccolm.o: could not read symbols: File in wrong format
可以忽略,看起来是10.2.0.1安装介质的BUG,那个snmccolm.o是IA32架构的。可以忽略,安装完成后打10.2.0.3补丁即可解决。
13、安装补丁(和安装新系统一样的过程)
以oracle用户身份执行patch中Disk1中的安装程序,./runInstaller
14、关闭和开启Oracle数据库
关闭
#su - oracle
$lsnrctl stop
$sqlplus '/as sysdba'
sql>shutdown immediate
启动
#su - oracle
$lsnrctl start
$sqlplus '/as sysdba'
sql>startup
15、其他关闭和开启Oracle数据库的方法
15.1、在 Linux 系统下安装完数据库之后,会在$ORACLE_HOME/bin 下生成 dbstart 和 dbshut 脚
本,这两个脚本可以简便地实现启动和关闭数据库。
这两个脚本运行时会读取/etc/oratab 文件,在这个文件里指定了需要启动和关闭的 SID(相应 SID 那行的最后一个字符是 Y 而不是 N)
每次生成一个新的数据库实例,都要在这里作修改
15.2、
dbstart、dbshut 中的 listener_home的路径要修改为ORACLE_HOME
15.3、这样就可以简单的使用 dbstart、dbshut 关闭和开启Oracle数据库
PS:======================================================================
# Added for Oracle
10g
RAC -- 64bit, 64G内存的
server
kernel.shmall = 16777216
kernel.shmmax = 68719476736
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# Added by tonywang for Oracle 10g RAC -- 64bit, 16G内存的server
kernel.shmall = 4194304
kernel.shmmax = 10737418240
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# Added by DBA for Oracle DB -- 32bit, 2~4 G内存的server
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
kernel.shmall = 16777216
kernel.shmmax = 68719476736
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# Added by tonywang for Oracle 10g RAC -- 64bit, 16G内存的server
kernel.shmall = 4194304
kernel.shmmax = 10737418240
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
# Added by DBA for Oracle DB -- 32bit, 2~4 G内存的server
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
PS:======================================================================
/etc/security/limits.conf解释及应用
limits.conf的格式如下: