是个BUG,但是没关系! 看下面的解释。
RHEL7.2+ORACLE11G 是有这么个BUG,我也遇到了,不知道是 RHEL7.2 的还是 ORACLE11G的,反正 在一起就发现,妈逼,我还以为不兼容.
那个遮罩 效果真是个坑爹货,它 的提信息示页面,将整个安装界面罩住了,但是提示信息缩成一个很小很小的点点,或者一个浅浅的竖杠,不仔细看,就以为 “卡死”了。
解决办法:找到那个点或者杠,用鼠标拉大,就看到提示内容和操作按钮了。
因项目需求,需要在64位linux系统中安装Oracle 11g,在网上查了很多内容,结合自己的实际经验,终于安装成功,记录下来,分享给有需要的同志们,不谢哈!^_^
一、修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
?
1
2
3
4
5
6
7
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑完成后按Esc键,输入“:wq”存盘退出
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
?
1
2
3
session required /lib/security/pam_limits.so
session required pam_limits.so
编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
linux:~ # sysctl -p
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if [ $USER = "oracle" ]then
if [ $SHELL = "/bin/ksh" ]then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
编辑完成后按Esc键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者。
创建Oracle用户和密码,输入命令:
?
1
2
3
useradd -g oinstall -g dba -m oracle
passwd oracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:
?
1
2
3
4
5
6
7
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/product
8)更改目录属主为Oracle用户所有,输入命令:
?
1
chown -R oracle:oinstall /home/oracle/app
9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
?
1
2
3
4
5
6
7
8
9
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
编辑完成后按Esc键,输入“:wq”存盘退出
二、安装过程
1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令:
?
1
2
3
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解压完成后 cd 进入其解压后的目录database
输入命令:
cd database
使用ls命令可以查看解压后database所包含的文件,如下图:
2)执行安装,输入命令:./runInstaller
装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中(或去D:\linux_oracle11g_Package)查找所缺的包,使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。
安装过程中86%可能会遇到报错如出错问题(error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile)按照如下步骤顺序执行。
上传安装镜像rhel-server-6.1-x86_64-dvd.iso,
然后将镜像文件挂,如/mnt
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt
# cd /mnt/Packages
# rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm
# rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm
# rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm
# rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm
# rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm
# rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm
# rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm
# rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm
# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
# rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm
# rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm
注:以上是安装gcc,软件安装顺序不能错。
?
1
2
3
4
5
6
7
******************************************
# rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm
# rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm
# rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm
注:以上是安装gcc-c++
根据这个方法解决了错误。
安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:
?
1
2
3
4
5
6
7
8
9
su – root
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
sh root.sh
cd /home/oracle/oraInventory
sh orainstRoot.sh
三、数据库建库
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。
Ubuntu12.04 安装Oracle10g 全过程(完美)及问题解决办法PS:正常情况下,完美无错。。如果遇到问题,也有解决办法1.安装前准备工作
1.1 到oracle官网下载适合自己电脑的oracle软件包;我的是:Oracle Database 10gRelease 2 (10.2.0.1.0)Enterprise/Standard Edition for Linux x86下的:10201_database_linux32.zip地址:http://www.oracle.com/technetwork/database/10201linuxsoft-097986.html1.2 更新ubuntu
# apt-get update
# apt-get upgrade
1.3 安装额外的javaJDK
可在【Ubuntu软件中心】搜OPENjdk,安装OpenJDK 完成后path路径自动设置好了1.4 安装缺少的包并降低GCC版本
apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 alienapt-get install ksh libtool libstdc++5 build-essential compat-libstdc++卸载gcc-4.6,安装gcc-4.4 版本
apt-get remove gcc-4.6
apt-get install gcc-4.4
1.5 创建oracle用户
登录到root用户下操作:
1.5.1 修改shell
ls -l /bin/sh如果是dash修改为bash
rm /bin/sh
ln -s /bin/bash /bin/sh
1.5.2 创建用户和组及oracle安装路径
addgroup oinstall
addgroup dba
addgroup nobody
usermod -g nobody nobody
adduser oracle
usermod -g oinstall -G dba oracle
id oracle
id nobody
mkdir -p /opt/oracle
mkdir -p /opt/oradata
chown -R oracle:dba /opt/ora*
chmod -R 775 /opt/ora*
1.5.3 创建欺骗版本声明
vi /etc/redhat-release
然后向其中加入 Red Hat Linux release 3.1
1.5.4 建立链接
ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/libgcc.s.so.1ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
mkdir /etc/rc.d
ln -s /etc/rc0.d /etc/rc.d/rc0.d
ln -s /etc/rc1.d /etc/rc.d/rc1.d
ln -s /etc/rc2.d /etc/rc.d/rc2.d
ln -s /etc/rc3.d /etc/rc.d/rc3.d
ln -s /etc/rc4.d /etc/rc.d/rc4.d
ln -s /etc/rc5.d /etc/rc.d/rc5.d
ln -s /etc/rc6.d /etc/rc.d/rc6.d
ln -s /etc/init.d /etc/rc.d/init.d
1.5.5 添加用户到sudoer列表中
vi /etc/sudoers
在“ root ALL=(ALL:ALL) ALL” 下一行 ,添加:
oracle ALL=(ALL:ALL) ALL
1.5.6 修改内核参数和系统变量
A 修改/etc/sysctl.conf文件(可以不用修改)
gedit /etc/sysctl.conf
添加如下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 25 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000B 修改/etc/security/limits.conf(可以不用修改)gedit /etc/security/limits.conf
添加如下内容:
* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
说明:不要忘了“*”号,可以换成oracle
C 修改ubuntu的oracle用户的环境变量
修改/home/oracle/.profile和/etc/profile两个文件vi /home/oracle/.profile
vi /etc/profile
添加如下内容:
#oracle_path start
export ORACLE_HOME=/opt/oracle
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin
#oracle_path end
1.5.7 使参数生效
重启系统 或 终端执行命令 sysctl -p
1.5.8 将下载好的oracle安装文件mv到/home/oracle下,并解压。注销root用户,登录oracle用户2.开始安装oracle
2.1 打开终端,cd到/home/oracle/database的oracle解压文件下,执行下面这条命令./runInstaller -jreLoc /usr/lib/jvm/java-6-openjdk-i386/jrejava-version是java的安装版本,这一句是为了在图像化装oracle是不会出现乱码或者方框然后就向windows下安装一样的图像化安装界面。
不行的话,使用英文安装界面
export LANG=ENGLISTH
./runInstaller
2.2 按照下面的图像步骤操作
http://www.cnblogs.com/luochengor/archive/2011/08/20/2147041.html2.3 执行到配置配置脚本时
切换到root下,在终端中执行脚本
/home/oracle/oralnventory/orainstRoot.sh
/opt/ora10/root.sh
2.4 出现oracle database 10g 安装完成时,记下两个URL。
2.5 安装数据库
在终端中执行如下命令:
$dbca //如果出现中文乱码,执行下面命令$cd /opt/ora10/bin
$gedit dbca
在dbca中找到“JRE_DIR=/opt/ora10/jdk/jre”,替换为JRE_DIR=/usr/lib/jvm/java-1.6.0-openjdk/jre ,然后保存退出$dbca//正常显示了
2.6 按照下面步骤执行
http://www.cnblogs.com/luochengor/archive/2011/08/20/2147041.html但是:要将数据库名字及SID都要写上orcl
一直到安装完成。
3. 启动oracle
在“终端”以oracle身份运行
启动TNS监听器:$ORACLE_HOME/bin/lsnrctl start($ORACLE_HOME,就是oracle的安装目录:/opt/ora10 .直接cd,进入oracle的安装目录,到bin文件夹下,$lsnrctl start ,也行)。
关闭TNS:$ORACLE_HOME/bin/lsnrctl stop
启动sqlplus:$ORACLE_HOME/bin/sqlplus /nolog关闭sqlplus:SQL>exit
4. 为了能够像windows下一样能够使用上下键翻动命令,还需要安装rlwrap包:
sudo apt-get install rlwrap
然后修改oracle用户的~/.bashrc文件和/etc/profile文件,在其最后添加两行:
这样上下左右键就可以使用了。
最后来解决oracle中文字符集的问题。不出意外的话,启动oracle会发现所有的中文都是“?”,要么就是乱码,这其实是服务器端字符集和客户端字符集不一致造成的。
解决方法为:DBA身份进入sqlplus,做查询
SQL>select userenv(‘language’) from dual将查询结果复制,在/etc/bash.bashrc文件中再加一行:export NLS_LANG=”查询结果”,重新登录问题解决。例如:我的查询结果为SIMPLIFIED CHINESE_CHINA.AL32UTF8,则新加一行为export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"。
但是有时候这个方法不一定奏效,你可以将
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"分别写到两个文件中尝试一下,但是两个文件写的一定要一致。
5. 如果有问题可按下列过程处理:
5.1
问题:调用makefile '../sqlplus/lib/ins_sqlplus.mk' 的目标'install' 时出错。请参阅'/home/oracle/oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
解决办法:$ORACLE_HOME/sqlplus/lib/env_sqlplus.mk添加一行:EXPDLIBS=-lclntsh ,然后点击“重试”按钮, ok.
其实安装 gcc-4.4 以后没有这个问题。
5.2
问题:调用makefile '../sysman/lib/ins_sysman.mk' 的目标'agent nmo nmb' 时出错。请参阅'.. /oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
分析:后面遇到的错误其实本质上是一个问题,主要是gcc的版本高了,oracle10g的gcc是3.4左右的版本,但是ubuntu的开发速度早就用了4.0以上版本,而且你还无法apt安装低版本解决办法:卸载gcc-4.6,安装gcc-4.4 版本
apt-get remove gcc-4.6
apt-get install gcc-4.4
5.3
调用makefile '../network/lib/ins_net_server.mk' 的目标'install' 时出错。请参阅'.. /oraInventory/logs/installActions2011-12-06_11-03-18AM.log' 以了解详细信息。
分析:我在网上找到了一篇类似的文档,参见(点击打开链接),但是我手工编译还是有问题,而且在oracle10g中并不是他所提到的-lons参数问题。
还是gcc版本问题,我曾尝试过安装低版本的gcc,但是一开始编译就报错,所以放弃了,如果有人能成功降低版本环境,相信一定能解决所有错误问题,这也是为什么ubuntu 8能很自然成功安装的一个解释。
方法:目前我还没有方法,按照其.mk文件的说明,这个东西好像是数据库链接断裂时候重新链接用的解决办法:卸载gcc-4.6,安装gcc-4.4 版本
在/usr/bin 下做了 /usr/bin/gcc-4.4 的软链接cd /usr/bin
ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
5.4
调用makefile '../rdbms/lib/ins_rdbms.mk' 的目标'all_no_orcl ihsodbc' 时出错。请参阅'../oraInventory/logs/installActions2011-12-06_11-07-36-AM.log' 以了解详细信息。
分析:我们看一下log文件
信息: Generating BASE ORASDK library...
信息: Creating /opt/ora10/lib/liborasdkbase.so.10.2信息: gcc: 错误:/lib/libgcc_s.so.1:没有那个文件或目录gcc: 错误:/usr/lib/libstdc++.so.5:没有那个文件或目录我们看到终于是那个非常多的错误了,其实还是gcc的问题,重新下载了libgcc_s.so.1,并且重新做了stdc++5的链接,但是问题还是更多,因为只做软链接和下载一个动态库是没法解决所有问题的。
解决办法:安装compat-libstdc++-33_3.2.3-48.3_i386.deb,重试。。
在一个libgcc_s.so.1软链接
cd /lib
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 libgcc.s.so.16. 开机启动
6.1 root 下面修改:vi /etc/oratab
orc1:/opt/oracle/product/10.2.0/db_1:Y
将N该为Y
6.2 oracle 下面修改:
cd $ORACLE_HOME/bin
vi dbstart
找到 ORACLE_HOME_LISTNER 这行, 修改成:
ORACLE_HOME_LISTNER=/opt/oracle/product/10.2.0/db_1或者直接修改成:
ORACLE_HOME_LISTNER=$ORACLE_HOME
测试运行 dbshut, dbstart 看能否启动oracle 服务及listener服务ps -efw | grep ora_
lsnrctl status
ps -efw | grep LISTEN | grep -v grep
6.3 root 下创建文件:
vi /etc/rc.d/init.d/oracle10
#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases# /etc/init.d/oracle10
export ORACLE_SID=ym
# export ORACLE_HOME_LISTNER=/data/files/oracle/10g/bin#oracle 安装目录
export ORACLE_HOME=/data/files/oracle/10gexport PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
su oracle -c $ORACLE_HOME/bin/dbstart #启动服务su oracle -c $ORACLE_HOME/bin/lsnrctl start #启动监听touch /var/lock/oracle
echo "OK"
stop)
echo -n "Shutdown Oracle: "
su oracle -c $ORACLE_HOME/bin/dbshut #启关闭服务su oracle -c $ORACLE_HOME/bin/lsnrctl stop #关闭监听rm -f /var/lock/oracle
echo "OK"
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0
然后
chmod 775 oracle10
chkconfig --add oracle10
chkconfig --list oracle10
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)