linux安装ORACLE.docx
《linux安装ORACLE.docx》由会员分享,可在线阅读,更多相关《linux安装ORACLE.docx(11页珍藏版)》请在冰点文库上搜索。
linux安装ORACLE
一、系统软件版本:
(由于系统和软件的不同版本可能导致安装步骤,文件配置不同,所以我只介绍我所采用的版本安装过程)软件:
Linux版本:
[红帽企业Linux.5.4].rhel-server-5.4-i386-dvd.iso
Oracle版本:
linux_11gR1_database.zip
我是采用Vmware虚拟机软件为载体,将Linux系统安装在虚拟机上,这样的好处是可以在一台电脑上运行多个系统,模拟系统之间远程连接,对于学习很有帮助。
当然,对于如何在虚拟机上安装Linux系统,在此不做详细的介绍。
二、准备安装环境
(1)创建必要的目录和组(以root用户登陆,用户帐户将称为oracle,而组将称为 oinstall 和 dba。
)
命令如下:
mkdir-p/home/u01/oracle//创建目录
groupadddba//创建dba用户组
groupaddoinstall//创建Oracle安装用户组
useraddoracle//创建oracle用户
chown-goinstall-Gdba/home/u01/oracleoracle//将oracle用户添加到
dba和oinstall组中(这句话我实验是错的!
下面是我写的!
)
usermod-gdbaoracle
usermod-goinstalloracle
passwdoracle//设置密码
chown-Roracle:
oinstall/home/u01 把u01目录赋予oracle用户oinstall组
(2)安装和更新必要的软件包
注意:
Linux的软件包之间有的存在依赖关系,所以有些软件包之间安装一定要有顺序,否则会提示错误,导致安装失败,我下面列出的软件包安装顺序是经过我的试验的,网上的文档存在错误,大多在这里,一般是安装顺序不对,导致安装失败。
安装顺序:
(这些软件包在Linux系统镜像文件中都可以找到:
光盘镜像中server文件夹中都可以找到)
rpm-ivhbinutils-2.17.50.0.6-12.el5.i386.rpm
rpm-ivhcompat-libstdc++-33-3.2.3-61.i386.rpm
rpm-ivhelfutils-libelf-0.137-3.el5.i386.rpm
rpm-ivhelfutils-libelf-devel-0.137-3.el5.i386.rpm(这个有依赖我是用yum)
rpm-ivhkernel-headers-2.6.18-164.el5.i386.rpm
rpm-ivhglibc-headers-2.5-42.i386.rpm
rpm-ivhglibc-devel-2.5-42.i386.rpm
rpm-ivhlibgomp-4.4.0-6.el5.i386.rpm
rpm-ivhgcc-4.1.2-46.el5.i386.rpm
rpm-ivhlibstdc++-devel-4.1.2-46.el5.i386.rpm
rpm-ivhgcc-c++-4.1.2-46.el5.i386.rpm
rpm-ivhglibc-common-2.5-42.i386.rpm
rpm-ivhglibc-2.5-42.i686.rpm
rpm-ivhlibaio-0.3.106-3.2.i386.rpm
rpm-ivhlibaio-devel-0.3.106-3.2.i386.rpm
rpm-ivhlibgcc-4.1.2-46.el5.i386.rpm
rpm-ivhlibstdc++-4.1.2-46.el5.i386.rpm
rpm-ivhmake-3.81-3.el5.i386.rpm
rpm-ivhsysstat-7.0.2-3.el5.i386.rpm
rpm-ivhunixODBC-2.2.11-7.1.i386.rpm
rpm-ivhunixODBC-devel-2.2.11-7.1.i386.rpm
(3)设置linux内核打开修改/etc/sysctl.conf,在最后加入以下内容:
(vi/etc/sysctl.conf打开,加完以后安 ESC+:
+w 保存,ESC+:
+q退出)
kernel.shmall=268435456
kernel.sem=105532000100128
kernel.shmmax=2147483648
kernel.shmall=2097152
net.ipv4.tcp_sack=0
net.ipv4.tcp_timestamps=0
net.ipv4.conf.default.rp_filter=0
net.core.optmem_max=65535
net.core.rmem_default=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
fs.file-max=6553600
net.ipv4.ip_local_port_range=102465000
注意:
结束后sysctl-p 执行一下,使系统生效
(4)修改 /etc/security/limits.conf,加入内容(修改方法同上)
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
(5)修改/etc/profile,加入内容
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
注意:
在进行完这步操作之后,有些时候会出现一些小错误,错误现象是我们使
用su命令在root和oracle用户之间切换时会提示下列错误:
-bash:
[oracle:
commandnotfound
-bash:
[root:
commandnotfound
解决这个问题很简单:
在修改profile文件时第一行、第二行中
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
中括号与内容之间一定要有空格,如果没有空格,会提示上面的错误的。
例如if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
和上面比较一下,错误很明显的。
(6)编辑 /etc/pam.d/login
添加以下行:
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
以上六步的完成均是在root用户登录下,下面将用户切换到oracle用户
使用命令#su – oracle切换用户
打开 v.bash_profile 加入(/home/oracle)
ORACLE_BASE=/home/oracle/app
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1
ORACLE_SID=orcl(设定SID名称,一般为数据库名字)
PATH=$ORACLE_HOME/bin:
$PATH
exportORACLE_BASEORACLE_HOMEORACLE_SIDPATH
三、进行安装
进入root用户把你下的linux_11gR1_database.zip用unzip
linux_11gR1_database.zip
解压出来得到database,把它移动到/home、u01目录下
mvdatabase/home/u01
chown-Roracle:
oinstall/home/u01/database
权限不够 chmod-R/u01/*755
这时使用oracle用户登录到Linux图形用户界面
suoracle 在database目录下$./runInstaller
xhostlocal:
oracle
xhost+不成功
[root@localhost~]#vncserver
New'localhost:
1(root)'desktopislocalhost:
1
Startingapplicationsspecifiedin/root/.vnc/xstartupLogfileis
/root/.vnc/localhost:
1.log
[root@localhost~]#exportDISPLAY=localhost:
1
[root@localhost~]#xhost+
accesscontroldisabled,clientscanconnectfromanyhost
DISPLAY 尚未设置
$runInstaller
正在启动 OracleUniversalInstaller...
正在检查安装程序要求...
检查操作系统版本:
必须是5.6,5.7,5.8,5.9or5.10。
实际为5.10 通过所有安装程序要求均已满足。
准备从以下地址启动
OracleUniversalInstaller/tmp/OraInstall2005-12-21_04-14-11PM. 请稍候...
DISPLAY 尚未设置。
请设置 DISPLAY 后重试。
根据所使用的 UnixShell, 您可以使用以下示例中的一个命令来设置DISPLAY 环境变量:
- 对于 csh:
%setenvDISPLAY192.168.1.128:
0.0 对sh,ksh 和bash:
$DISPLAY=192.168.1.128:
0.0;export
DISPLAY
使用以下命令来查看所使用的 shell:
echo$SHELL
使用以下命令来查看当前的 DISPLAY 环境变量设置:
echo$DISPLAY
- 确保客户机用户有权连接到 X 服务器。
要允许客户机用户访问 X 服务器, 请以启动会话的用户身份打开xterm,dtterm
或 xconsole, 并键入以下命令:
%xhost+
要测试 DISPLAY 环境变量是否设置正确, 请运行本机操作系统自带的基于 X11 的程序, 例如 'xclock':
%
如果无法成功运行 xclock, 请与您的 PC-X 服务器或操作系统供应商联系以获得帮助。
xclock 的典型路径为:
/usr/openwin/bin/xclock
$
安装Oracle时,经常会报以下错误:
无法使用命令/usr/X11R6/bin/xdpyinfo
自动检查显示器颜色。
请检查是否设置了DISPLAY 变量。
可以使用下述命令解决这个问题:
解决办法:
1.在root下(以root用户登录)执行#xdpyinfo记录下nameofdisplay:
后的字符串,如127.0.0.1:
1.0 (我的记录的为:
0.0)
2.#xhost+
显示:
accesscontroldisabled,clientscanconnectfromanyhost
3.切换到Oracle用户:
#su-oracle
4.在Oracle用户下执行命令:
exportDISPLAY=:
1.0
在Oracle下执行xdpyinfo命令,如果能正常显示,说明设置成功
Xlib:
connectionto":
0.0"refusedbyserver
解决办法:
用root登陆,在#提示符后输入:
xhostlocal:
oraclenon-networklocalconnectionsbeingaddedtoaccess
controllist
敲回车运行后出现:
non-networklocalconnectionsbeingaddedtoaccesscontrollist
xhost:
badhostname"non-network"
xhost:
badhostname"local"
xhost:
badhostname"connections"
xhost:
badhostname"being"
xhost:
badhostname"added"
xhost:
badhostname"to"
xhost:
badhostname"access"
xhost:
badhostname"control"
xhost:
badhostname"list"
linux下无法启动sqlplus
问题描述:
[root@localhostoracle]#su-oracle
[oracle@localhostoracle]$sqlplus"as/sysdba"
-bash:
sqlplus:
commandnotfound
[oracle@localhostoracle]$
/u01/app/oracle/oracle/product/11.1.0/db_1/bin/sqlplus
Error6initializingSQL*Plus
Messagefilesp1.msbnotfound
SP2-0750:
YoumayneedtosetORACLE_HOMEtoyourOraclesoftware
directory
[oracle@localhostoracle]$
解决方法:
由于环境变量没有设置导致的。
可以编辑.profile文件可以进行环境变量设置的。
打开/etc/profile底部插入
exportORACLE_SID=demo1(数据库实例id)
exportORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
exportPATH=$PATH:
$ORACLE_HOME/bin
保存关闭,重启系统或执行source/ect/profile设置立即生效。
如何使数据库实例和linux系统一起启动
在/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:
su-oracle-c"lsnrctlstart"
su-oracle-c"dbstart"
(注意:
有些文章提示在命令行中执行./runInstaller会提示如过提示diaplay变
量错误,需要执行#xhost+ , #xhost+localhost两个命令,不过本人安装中没有遇到这个问题。
)
在接下来的安装中,我都是采用默认安装的方式,默认装时Linux系统默认将程序安装在/home/oracle目录中在安装过程中会弹出一个要求执行oraInstRoot.sh和root.sh的提示框,可在命令行窗口中,以ROOT用户执行这两个文件,在图形界面打开命令窗口,切换到root用户,按照提示进入两个文件所在目录,分别执行两个文件 ./oraInstRoot.sh./root.sh。
在安装的过程中,在安装路径的选择上本来可以更改安装目录,将Oracle安装在我们新建的目录/home/u01/oracle下的,但是我在安装时疏忽了这一点,系统进行了默认方式安装,安装路径在/home/oracle/app但是这并不影响使用。
如果有人更改了默认的安装路径,那么在/home/oracle中./bash_profile文件中
ORACLE_BASE=/home/oracle/app、
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1
中内容要进行相应的修改。
经过一段时间的等待之后,oracle数据库就已经安装完毕了。
emctlstartdbconsole 查询图像登陆地址
四、一些小的错误的修正(注:
这些操作均是在oracle用户登陆下完成的。
)
(1)安装完毕之后,我们可以退出Linux的X-windows环境了,继续在控制台上以
命令行的方式操作,当我们输入sqlplus/nolog时会提示下面的错误
cannotrestoresegmentprotafterreloc:
Permissiondenied
这是SELinux搞的鬼,解决办法有两个
1. 使用chcon 命令
示例:
chcon-ttexrel_shlib_t
/usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so
(注:
这种方法本人没有试验,不知道效果。
)
2. 禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=disabled
(注:
本人采用的是这种解决方法,解决了这个问题。
)
(2)在安装完oracle之后如果想要使用数据库必须要启动数据库的监听器,一般我们安装完数据库之后就已经建立好了监听器,我们只要启动就可以了,在控制台使用以下命令;
A、lsnrctlstart//启动监听器命令
B、lsnrctlstop//关闭监听器命令
C、lsnrctlstatus//查看监听器的状态
emctlstatusdbconsole 查看web控制台的状态和地址
emctlstartdbconsole 开启web控制台
(3)在使用sqlplus 连接数据库时还有可能出现如下错误:
提示ORA-01034:
ORACLEnotavailable
ORA-27101:
sharedmemoryrealmdoesnotexist
有人说解决这个问题的办法是改sqlnet.ora将认证方式改为none也没有用。
这一点我试过不好用的,不敢恭维,也许遇到的问题不同吧。
采用的一下方法解决的:
输入一下命令
1、sqlplus/nolog
2、conn/assysdba
3、startup