- 首先,将系统更新到最新:命令:
- sudo apt-get update
- sudo apt-get dist-upgrade
- 安装依赖包:命令:
- sudo apt-get install alien binutils build-essential cpp-4.4 debhelper g++-4.4 gawk gcc-4.4 gcc-4.4-base gettext html2text ia32-libs intltool-debian ksh lesstif2 lib32bz2-dev lib32z1-dev libaio-dev libaio1 libbeecrypt7 libc6 libc6-dev libc6-dev-i386 libdb4.8 libelf-dev libelf1 libltdl-dev libltdl7 libmotif4 libodbcinstq4-1 libodbcinstq4-1:i386 libqt4-core libqt4-gui libsqlite3-0 libstdc++5 libstdc++6 libstdc++6-4.4-dev lsb lsb-core lsb-cxx lsb-desktop lsb-graphics lsb-qt4 make odbcinst pax po-debconf rpm rpm-common sysstat unixodbc unixodbc-dev unzip
- 为了预先排除异常先安装些依赖包: 1、Error in invoking target ‘all_no_orcl’ ofmakefile ‘/opt/oracle/product/10.2/rdbms/lib/ins_rdbms.mk’. See ‘/opt/oracle/oraInventory/logs/installActions2007-12-04_02-50-11AM.log’ for details.命令:
- aptitude install gcc libaio1 lesstif2 lesstif2-dev make libc6 libc6-i386 libc6-dev-i386 libstdc++6 lib32stdc++6 lib32z1 ia32-libs rpm make binutils binutils-dev binutils-source
- 然后:cd/usr/lib
- 再执行:ln -s libstdc++.so.6 libstdc++.so.5
- 创建用户和组:这里oracle 安装需要两个 unix 用户组和一个运行时的 oracle 用户。命令 :
- addgroup oinstall
- addgroup dba
- addgroup nobody
- useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle
- usermod -g nobody nobody
- 创建目录:有很多文档和文件,这里我建议您将oracle 安装到一个独立的分区上面。我这里就安装到/data/oracle下。注意:假设Oracle 的安装目录为/data/oracle。那么至少确保有 3.0G 的可用空间。命令:
- mkdir -p /data/oracle
- chown -R oracle:oinstall /data/oracle
- chmod -R 775 /data/oracle
- 这里创建了 oracle 的运行时路径,授写权限赋予 oracle 用户,执行权限给 dba 组。
- 创建程序链接:命令:
- 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/
- 内核参数/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
- 配置环境变量
- export ORACLE_BASE=/data/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
- export ORACLE_SID="orcl"
- link
- sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' /data/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
- sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' /data/oracle/product/11.2.0/dbhome_1/bin/genorasdksh
- sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' /data/oracle/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk
- sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' /data/oracle/product/11.2.0/dbhome_1/network/lib/env_network.mk
- sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' /data/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk
- ORA-28001: the password has expired解决方法
- ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;去除180天的密码生存周期的限制(Oracle11G的新特性在创建用户时默认密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录)
Ubuntu 12.04 install oracle 11g
最新推荐文章于 2024-10-06 21:49:48 发布