sudo groupadd oinstall
sudo groupadd dba
sudo mkdir -p /opt/oracle
sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle
sudo chown -R oracle:oinstall /opt/oracle
sudo groupadd oinstall
sudo groupadd dba
sudo mkdir -p /opt/oracle
sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle
sudo chown -R oracle:oinstall /opt/oracle
sudo groupadd oinstallsudo groupadd dba
sudo mkdir -p /opt/oracle
sudo useradd -g oinstall -G dba -d /opt/oracle -s /bin/bash oracle
sudo passwd oracle
sudo chown -R oracle:oinstall /opt/oracle
四、检查系统变量/sbin/sysctl -a | grep sem /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep aio-max /sbin/sysctl -a | grep ip_local_port_range /sbin/sysctl -a | grep rmem_default /sbin/sysctl -a | grep rmem_max /sbin/sysctl -a | grep wmem_default /sbin/sysctl -a | grep wmem_max然后根据结果在/etc/sysctl.conf中增加对应数据
fs.aio-max-nr = 1048576 fs.file-max = 6815744 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 = 1048586
sudo sysctl -p
五、添加对Oracle用户的内核限制,在/etc/security/limits.conf文件中增加以下数据,其中oracle是在第三步中创建的用户,跳过第三步的话就写当前用户。
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
查看/etc/pam.d/login,增加以下行(有了就不用添加了)
session required pam_limits.so
同理检查/etc/pam.d/su,没有就加上
session required pam_limits.so
六、创建需要的文件夹(用于安装oracle)
mkdir ~/Oracle/oracle11g mkdir ~/Oracle/oradata
七、配置环境变量,在 ~/.bashrc中增加以下环境变量,把~替换成绝对路径
#这个写刚刚创建的文件夹 export ORACLE_BASE=~/Oracle/oracle11g #这个后面(貌似)可以随便填写 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #数据库的sid export ORACLE_SID="orcl" #默认字符集 export NLS_LANG=.AL32UTF8关于此步,由于我将oracle数据库安装在/opt/oracle目录下面,所以我的.bashrc文件中的内容为:(不知道这个文件有什么作用,后来还需要在/etc/profile中增加 ORACLE_HOME这个环境变量)
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export NLS_LANG=.AL32UTF8
八、欺骗oracle的安装程序
mkdir /usr/lib64 ln -s /etc /etc/rc.d ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/ ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/basename /bin/basename ln -s /usr/bin/rpm /bin/rpm ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/ echo 'Red Hat Linux release 5' > /etc/redhat-release
cd /xxx/xxx/xxx
./runInstaller
之后出现图形化安装界面,直接下一步。
由于在执行这个步骤的时候,出现/Oracle/oradata文件夹无法访问的情况,于是第九步重启后直接进入了oracle这个新建的用户,于是数据库就安装到了/opt/oracle/app/oracle这个目录下面。(如下图)
安装过程出现如下情况:
直接点了 Ignore All,然后下一步,之后出现“链接二进制文件错误”,解决方法是另外打开一个终端,执行以下命令:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
最后一步,需要执行两个文件,另开一个终端执行就好,很easy。