相关版本说明
不同版本的Oracle需要安装在特定的系统版本之上。
如Oracle 11gR2的11.2.0.1.0需要安装在CentOS 5.X以及RHLE 5.X
硬件要求
Physical Memory >= 1G
Swap Space >= 2G (available)
Temporary Space >= 400MB
依赖库的安装
yum -y install binutils compat-libstdc++ compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers ksh libaio-devel libstdc++-devel make sysstat unixODBC-devel binutils-* compat-libstdc++* elfutils-libelf* glibc* gcc-* libaio* libgcc* libstdc++* make* sysstat* unixODBC*
rpm -e ksh
yum install pdksh
相关参数设置
vi /etc/sysctl.conf
# Oracle Configuration
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphors: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
# Oracle Configuration End
echo "1048576" >/proc/sys/fs/aio-max-nr
Oracle用户
首先创建Oracle用户,在该用户下进行安装
创建步骤(需要具有root权限):
$/usr/sbin/groupadd oinstall
$/usr/sbin/groupadd dba
$useradd –g oinstall -G dba -d /home/oracle -r oracle
$mkdir -p /home/oracle
$chown oracle:dba /home/oracle
$passwd oracle
使用id命令查看用户信息
$id oracle
输出:
uid=504(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
其中具体id数据可以不一样
Oracle安装
注:Oracle检查条件中:hard limit for maximum open file descriptors is set to at least 65536可以忽略
后续根据安装步骤进行即可
listener.ora配置
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /bank/oracle/oracle10g/product/10.2.0)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL DBNAME = orcl)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
命令行安装
初始化配置
配置db_install.rsp文件
安装
./runInstaller -responseFile /home/oracle/database/response/db_install.rsp -silent -showProgress
Q&A
问题:[FATAL] [INS-32037] The operating system group specified for central inventory (oraInventory) ownership is invalid.
解决:
设置具有写oraInventory权限的组
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oraInventory
问题:[FATAL] [INS-35071] Global database name cannot be left blank.
解决:ORACLE_HOSTNAME=oracle1
[FATAL] [INS-35071] Global database name cannot be left blank.
解决如:oracle.install.db.config.starterdb.globalDBName=oracle.sunyard
*问题: [FATAL] [INS-35175] No value given for the allocated memory of the database
解决:oracle.install.db.config.starterdb.memoryLimit=512
[FATAL] [INS-30501] Automatic Storage Management software is not configured on this system.
配置Oracle存储方式
问题:[FATAL] [INS-30004] The ADMIN password entered is invalid.
解决:密码不能带@
[FATAL] [INS-35341] User is not a member of the following chosen OS groups
解决:
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
问题:sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
解决:设置如下配置文件
# .bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# for oracle i
PATH=$PATH:$HOME/bin
#oracle add
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
问题:ORA-xxxxx: Message xxx not found; no message file for product=RDBMS, facility=ORA
解决:没有正确设置ORACLE_HOME路径,如app/oracle,需要设置为/home/oracle/app/oracle
问题:sqlplus: error while loading shared libraries: /home/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
/etc/sysconfig/selinux 中改为SELINUX=disabled
chcon -t texrel_shlib_t $ORACLE_HOME/lib/*.so
部分操作参考: