oracle 10g静默安装
一、安装前环境准备(具体过程略)
1.安装依赖包
2.建立用户和组,建立目录,修改目录权限
3.设置系统内核参数
4.设置oracle用户的打开文件数的限制
5.设置ip和主机名
6.设置oracle用户环境变量
7.检查磁盘空间,swap空间是否符合要求
环境自动配置脚本:
#!/bin/bash
if [ ! $1 ] || [ ! $2 ]
then
echo "execute error,please input sid and oracle home path"
exit
fi
yum install -y binutils elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel libXp libXp-devel
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo oracle | passwd oracle --stdin
mkdir -p $2
chown -R oracle.oinstall $2
cat > /home/oracle/.bash_profile <<EOF
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_SID=$1
ORACLE_BASE=$2
ORACLE_HOME=\$ORACLE_BASE/product/10.2/db_1
export ORACLE_SID ORACLE_BASE ORACLE_HOME
PATH=\$PATH:/\$ORACLE_HOME/bin:\$HOME/bin
export PATH
EOF
source /home/oracle/.bash_profile
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
sed -i 's/[5|6]/4/' /etc/redhat-release
echo "session required pam_limits.so ">> /etc/pam.d/login
cat >> /etc/profile <<EOF
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
cat >>/etc/sysctl.conf <<EOF
kernel.shmall = 4294967296
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 = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF
sysctl -p
二、静默安装
静默安装数据库:
解压安装文件到/opt/oracle/database
chown -R oracle:oinstall /opt/oracle/database
创建数据库软件安装响应文件:
vi /home/oracle/enterprise.rsp
UNIX_GROUP_NAME="oinstall"
RESPONSEFILE_VERSION=2.2.1.0.0
FROM_LOCATION="/opt/soft/database/stage/products.xml"
ORACLE_HOME="/data/oracle/product/10.2.0/db_1/"
ORACLE_HOME_NAME="OraDb10g_home1"
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_COMPONENT_LOCATIONS_PAGE=false
SHOW_CUSTOM_TREE_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=false
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
ACCEPT_LICENSE_AGREEMENT=true
COMPONENT_LANGUAGES={"en"}
CLUSTER_NODES=
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
b_oneClick=false
SHOW_DATABASE_CONFIGURATION_PAGE=false
b_createStarterDB=false
/opt/soft/database/runInstaller -ignoreSysPrereqs -silent -responseFile /home/oracle/enterprise.rsp
拷贝模板文件:
cp /data/oracle/product/10.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc /home/oracle/testorcl.dbc
dbca静默安装数据库:
dbca -silent -createDatabase -templateName /home/oracle/testorcl.dbc -gdbname "testorcl.sink.com" -sid "testorcl" -sysPassword "OfDAFl7s" -systemPassword "OfDAFl7s"
创建监听和tns文件:
cd $ORACLE_HOME/network/admin
vi listenter.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = testorcl.sink.com)
(ORACLE_HOME = /data/oracle/product/10.2.0/db_1)
(SID_NAME = testorcl)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testorcl.sink.com)(PORT = 1521))
)
vi tnsnames.ora
testorcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testorcl.sink.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testorcl)
至此,oracle 10gR2 安装完成。