1.主机名确认无误
vi /etc/hosts
IP hostname(主机名)
IP地址写内网IP
如果交换空间不够:
dd if=/dev/zero of=/test bs=1G count=4
mkswap -f /test
swapon /test
free -m
2.下载安装相关依赖安装包
yum install -y binutils \ compat-libcap1 \ compat-libstdc++-33 \ compat-libstdc++-33.i686 \ gcc \ gcc-c++ \ glibc.i686 \ glibc \ glibc-devel \ glibc-devel.i686 \ pdksh \ libgcc.i686 \ libgcc \ libstdc++.i686 \ libstdc++ \ libstdc++-devel.i686 \ libstdc++-devel \ libaio.i686 \ libaio \ libaio-devel.i686 \ libaio-devel \ make \ sysstat \ unixODBC \ unixODBC.i686 \ unixODBC-devel \ unixODBC-devel.i686 \ libXext.i686 \ libXext \ elfutils-libelf-devel \ unzip |
3.内核参数修改
vi /etc/sysctl.conf
在文件末尾加上以下内容:
fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 536870912 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 |
立即执行修改:sysctl -p
4.编辑vi /etc/pam.d/login文件:
在文件末尾添加以下内容:
session required pam_limits.so
5.修改用户的SHELL的限制,修改/etc/security/limits.conf文件
vi /etc/security/limits.conf
6.在文件末尾加上以下内容:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
修改 /etc/profile 限制其他用户使用:
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 |
使设置生效
source /etc/profile
7.创建相应用户及用户组:
groupadd oinstall //创建安装组
groupadd dba //创建管理组
useradd -g oinstall -G dba -d /opt/oracle oracle //创建运行用户
passwd oracle //设置oracle用户的密码
修改目录权限:
chown -R oracle:oinstall /opt/
chmod 755 -R /opt/ 目录
切换到oracle用户下,解压:
[oracle@just ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@just ~]$ unzip linux.x64_11gR2_database_2of2.zip
8.设置oracle环境变量:
su - oracle
vi ~/.bash_profile
在最后加上以下内容:
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=orcl
注意,除了ORACLE_BASE和ORACLE_SID,(/etc/profile和.bash_profile中)不设置任何oracle相关环境变量(ORACLE_HOME, PATH,LD_LIBRARY_PATH等)
使设置生效
source /opt/oracle/.bash_profile
检查环境变量:
env
同时,在使用静默安装的时候会检查DISPLAY的设置,如果经常说检查DISPLAY不行的话,到root用户下执行“xhost + 你的ip:0.0”
9.静默安装软件
(1) 复制响应文件模板
# su – oracle
mkdir etc //创建个目录
cp /opt/oracle/database/response/* /opt/oracle/etc/
设置响应文件权限
chmod 700 /opt/oracle/etc/*.rsp(注意所有者,oinstall)
(2) 静默安装Oracle软件
su - oracle 修改安装Oracle软件的响应文件/opt/oracle/etc/db_install.rsporacle.install.option=INSTALL_DB_SWONLY //安装类型,只装数据库软件 ORACLE_HOSTNAME=test //主机名称(hostname查询) UNIX_GROUP_NAME=oinstall // 安装组 INVENTORY_LOCATION=/opt/oracle/oraInventory //INVENTORY目录(不填就是默认值) SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言 ORACLE_HOME=/opt/oracle/product/11.2.0/db_1 // oracle_home ORACLE_BASE=/opt/oracle // oracle_base oracle.install.db.InstallEdition=EE // oracle版本 oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件 oracle.install.db.DBA_GROUP=dba //dba用户组 oracle.install.db.OPER_GROUP=oinstall //oper用户组 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName oracle.install.db.config.starterdb.SID=orcl //SID oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M) oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false(手动写了false) DECLINE_SECURITY_UPDATES=true //设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对) |
开始静默安装
cd database
./runInstaller -silent -responseFile /opt/oracle/etc/db_install.rsp
安装中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。
查看安装日志信息了解安装进度
cd $ORACLE_BASE/oraInventory/logs
tail -f installActions*.log
出现类似如下提示表示安装完成:
/usr/oracle/oraInventory/orainstRoot.sh /usr/oracle/product/11.2.0/db_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit"Enter" key to continue Successfully Setup Software. |
使用root用户执行脚本
这里是有两个脚本要执行,跑一下就好
su - root
/opt/oracle/product/11.2.0/db_1/root.sh
/opt/oracle/oraInventory/orainstRoot.sh
vi /opt/oracle/.bash_profile
最后添加上面下面内容
在安装完之后添加以下内容 exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin exportPATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib exportLIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib export ORACLE_OWNER=oracle export SPFILE_PATH=$ORACLE_HOME/dbs export ORA_NLS10=$ORACLE_HOME/nls/data |
执行source .bash_profile之后,netca和dbca命令就会出现
到这里,oracle11g的数据库实例软件就算是装好了,接下来配置数据库实例的基本参数文件~
(3)静默配置监听
vi /opt/oracle/etc/netca.rsp
[GENERAL] RESPONSEFILE_VERSION="11.2" CREATE_TYPE="CUSTOM" INSTALL_TYPE=""custom" "安装的类型("typical—典型","minimal—最小" or "custom—自定义") LISTENER_NUMBER=1 监听器数量 LISTENER_NAMES={"orcl"} 监听器的名称列表 LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表 LISTENER_START=""orcl"" 监听器启动的名称 |
然后运行:
netca /silent /responsefile /opt/oracle/etc/netca.rsp(注:参数如果用-silent–responseFile是不可执行的,会出错,后面的监听路径必须指定所在绝对路径)
正在对命令行参数进行语法分析: 参数"silent"= true 参数"responsefile"= /etc/netca.rsp 完成对命令行参数进行语法分析。 Oracle Net Services 配置: 完成概要文件配置。 Oracle Net 监听程序启动: 正在运行监听程序控制: /opt/oracle/product/11.2.0/db_1/bin/lsnrctlstart LISTENER 监听程序控制完成。 监听程序已成功启动。 监听程序配置完成。 成功完成 Oracle Net Services 配置。退出代码是0 |
成功运行后,在/opt/oracle/product/11.2.0/db_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
通过netstat-tlnp 命令,看到
tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
说明监听器已经在1521端口上开始工作了。
如果报错或者没出现成功信息,检查/etc/hosts文件内容
(4)静默建立新库(同时也建立一个对应的实例)
创建文件vi /opt/oracle/etc/dbca1.rsp,设置如下:
[GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" [CREATEDATABASE] GDBNAME = "orcl.cluster01.tom.com" SID= "orcl" TEMPLATENAME = "/opt/oracle/product/11.2.0/db_1/assistants/dbca/templates/Genera l_Purpose.dbc" SYSPASSWORD = "Tomcrjlinux01" SYSTEMPASSWORD = "Tomcrjlinux01" DATAFILEDESTINATION = /opt/oracle/oradata RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8" TOTALMEMORY = "5120" |
然后静默安装dbca -silent -responseFile /opt/oracle/etc/dbca1.rsp