参考自:http://blog.csdn.net/idber/article/details/9039857
项目需要对oracle日志进行分析,但以前只接触过mysql数据库,所以先安装体验一下oracle。
1.oracle数据库下载
下载目前主流的oracle 11g,linux安装包分为两个文件file1,file2.
下载地址,以及oracle官网账号如下:
引自:http://www.blogjava.net/wangdetian168/archive/2013/09/09/403858.html
user:1603869780@qq.com
pass:qwe123QWE
Linux x86-64 光盘 1、光盘 2 (2GB)
适用于 Linux x86-64 的 Oracle Database 11g 第 2 版 (11.2.0.1.0)
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
2.jdk安装
略 参考自己博客
http://blog.csdn.net/weishuxiao1/article/details/26554459
3.更新系统
sudo apt-get update
sudo apt-get dist-upgrade
3.解压orcle文件
创建安装目录
sudo mkdir /usr/oracle
将oracle两个安装文件复制到该安装目录,并解压
Zip文件有两个,解压缩的方法一定要对,不然之后安装的时候就会各种各样问题
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
解压之后生成一个database文件夹
4.安装依赖包(文件较多,耗时较长)
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
5.检查并获取系统变量
/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
6.根据上面得到的参数配置相关文件(并不是所有参数都可以获得,部分参考网上)
vi /etc/sysctl.conf
#网上参考他人数据
#这个 fs.aio-max-nr 参数,指的是 同时可以拥有的的异步IO请求数目。值出现在 /etc/sysctl.conf 文件中,推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个。fs.aio-max-nr = 1048576
#其意义是: 系统中可以同时打开的文件数目。其值相当于 6.5×1024×1024=6.5M
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 = 32768 61000
net.core.rmem_default = 212992
net.core.rmem_max = 212992
net.core.wmem_default = 212992
net.core.wmem_max = 212992
更新系统参数:
sysctl -p
7.在 /etc/security/limits.conf 添加oracle 对用户的内核限制
vi /etc/security/limits.conf
添加:
#nutch为用户名
nutch soft nproc 2047
nutch hard nproc 16384
nutch soft nofile 1024
nutch hard nofile 65536
nutch soft stack 10240
8.查看/etc/pam.d/login,增加以下行(有了就不用增加了):
session required pam_limits.so
同样检查/etc/pam.d/su,没有以下行就自己加上:
session required pam_limits.so
9.创建安装目录
#mkdir /usr/oracle11g
#mkdir /usr/oracle11g/oracle11g
#mkdir /usr/oracle11g/oradata
10.配置Oracle环境变量
vi /etc/bash
.bashrc 同时在vi ~/.bashrc添加
底部添加
<pre name="code" class="delphi">#oracle 环境变量
export ORACLE_BASE=/usr/oracle11g/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID="orcl"
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin
11.oracle本身并不支持ubuntu来安装,所以要进行欺骗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
12.正式安装(注意安装时关闭浏览器)
返回安装文件路径
cd /usr/oracle/oracle/database/
设置语言不然可能出现乱码
export LANG=US
开始安装
./runInstaller
界面安装
1.输入正确邮箱密码,下一步提示配置代理服务器,如果不需要点击不在提示,进行下一步
可能提示无法创建路径,这是权限不够造成
解决办法
sudo chmod -R 777 /usr/oracle11g/oracle11g
11.
linking rman utility这一步比较费时间
错误提示 有脚本无法执行,里面包括连接地址等 ,解决办法,关闭浏览器。
提示执行脚本
sudo /usr/oracle11g/oraInventory/orainstRoot.sh
sudo /usr/oracle11g/oracle11g/product/11.2.0/dbhome_1/root.sh
解决办法:
打开一个新的终端,输入如下命令:
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
然后在图形界面点击‘Retry’就能继续安装了。
解决办法:
打开一个新的终端,输入如下四个命令:
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
sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/ge
目前问题:
https://localhost:1158/em
emctl dbconsol status
发现em未启动
没有找到
$ORACLE_HOME/network/admin/listener.ora
但却有 $ORACLE_HOME/network/admin/samples/listener.ora