当前位置:  技术问答>linux和unix

Linux下怎么装Oracle

    来源: 互联网  发布时间:2016-11-19

    本文导语:  我下载了Oracle11g for linux,有两个zip文件,解压出来后 ./runInstall  提示:无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了DISPLAY 变量。是否继续. 输入y继续后,安装失败 另外我也下载了10g的,是...

我下载了Oracle11g for linux,有两个zip文件,解压出来后
./runInstall  提示:无法使用命令 /usr/X11R6/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了DISPLAY 变量。是否继续.
输入y继续后,安装失败

另外我也下载了10g的,是3个iso文件,要怎么安装?
听说安装前还要设置一大堆东西,要怎么设置?
 

|
看下官方教程http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html

|
虚拟机redhat9下oracle9的安装配置
一、 软件要求:
Redhat 9
Oracle 9.2.04
VMware 5.5.3
二、 软件下载:
oracle下载地址如下:(可按Ctrl键,同时点击下面链接进行下载)
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz
http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz

注:
1) 虚拟linux磁盘空间8G以上;linux 2.8G,oracle 2.85G,数据库2G;
2) 虚拟机内存,最好分配在512M或以上,速度比较快, 我试过用256M,超慢;
3) 如果linux虚拟机硬盘空间不足;建议将安装文件放在windows的盘符下,共享文件夹,通过mount -t smbfs方式来让linux访问windows下共享的文件夹来进行安装,对虚拟linux来说,就不需要占用那么大的空间;需要保证虚拟就机linux和windows之间的网络畅通;或通过虚拟机工具共享;

三、 安装前配置
1) 创建组及用户 (需在root用户下)
建立一个用户和组,Oracle 往往要求建立两个组,一个负责安装,另一个负责管理,但很多老资格的DBA都认为建立一个组就足够了。以root用户运行下列命令:
groupadd oracle
useradd oracle -g dba
passwd oracle 

(注:也可建多个组
groupadd orainstall
groupadd oradba
groupadd oraoper
useradd ora -G orainstall,oradba
可以根据自己的情况用不同的用户名字和组,根据自己喜好.
)

2) oracle安装目录可为 /home/oracle
(注: Oracle安装的位置应遵守OFA( Optimal Flexible Architecture )规范,但在我的机器上,由于空间有限,所以将ORACLE_HOME设定为/soft/oracle,并要确保oracle用户对这个目录可读写。)

3) 修改sysctl.conf (需在root用户下)
vi /etc/sysctl.conf  在最后添如下内容:
###by fj
kernel.shmmax = 261986254  #(此值不可超过虚拟机的理物理内存)

如果遗漏这步,安装的最后一步会报ORA-27123: unable to attach to shared memory segment错误.

  保存后执行(以使立即生效): sysctl –p 

4) 在.bash_profile中添加环境变量
  vi /home/oracle/.bash_profie 在最后添加如下内容:

### by fj
export LD_ASSUME_KERNEL=2.4.1

export ORACLE_BASE=/home/oracle/OraHome
export ORACLE_HOME=/home/oracle/OraHome/9.2.0
export ORACLE_SID=ora9i
export ORACLE_TERM=xterm
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH

export PATH=$PATH:$ORACLE_HOME/bin
CLASSPATH=$CLASSPATH:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export PATH CLASSPATH
unset USERNAME
 
  保存后执行(以使立即生效): source .bash_profile

5) 解压安装文件
zcat  ship_9204_linux_disk1.cpio.gz | cpio -idmv
zcat  ship_9204_linux_disk2.cpio.gz | cpio -idmv
zcat  ship_9204_linux_disk3.cpio.gz | cpio –idmv

解压后,生成 Disk1  Disk2  Disk3 三个文件夹

(注:如文件在windows中,则做如下操作; 但建议放到linux中
在windows下,将存放安装文件的文件夹oracle共享,设置共享权限为可读可写,然后执行如下命令:
mount -t smbfs -o username=cl,password=chenli,ip=192.168.1.100 -l //chenli/oracle /home/ora/setup
命令解释:
上面命令中,username=cl,password=chenli中cl是windows用户,chenli是cl用户的密码ip=192.168.1.100 中192.168.1.100 是windows主机的ip地址
//chenli/oracle 中,chenli是windows主机的主机名,oracle是共享文件夹
/home/ora/setup 是linux下的目录路径,必须存在,可以根据自己的需要,设定不同的路径.
)

四、 安装
配置后最好重启,用oracle登录,并登入xwindow图形界面
进入Disk1目录
执行./runInstaller  (将出现下面的界面)

(
注意,有些时候显示的安装界面是乱码的,我的red hat linux 9的简体中文版,安装程序都是英文的,这个时候可以通过执行如下命令来解决问题:
export LANG=C 
然后再执行./runInstaller就不会有乱码了.
)
1)
 

2) 点击Next 键,进入下一步,直至出现图二
 

 3) 一直next到完成,中间出现的错误可点 Ignore 忽略; 且在创建数据库过程中要求输入默认用户的密码

 4) 数据库安装成功后可用$:dbca 命令建多个数据库(实例)

五、 错误总结:
我在安装过程中出现了一些问题

1) 弹出对话框,显示错误信息:thrown when the ip address of a host cannot be determined 这时候需要用root用户打开/etc/hosts 编辑该文件,ip地址和主机名字的对应关系,尽量简单,在第二列,即主机名列,不要出现ip地址形式x.x.x.x的主机名

2) 在安装的最后,安装agent工具的时候出现如下的错误信息:
Parameter "orahome" = /oracle/product/9.2.0
Parameter "nodeinfo" = NO_VALUE
Agent Service Failed
这个问题是没有打补丁引起的,不过该问题不会影响到数据库的使用,只是agent工具不可用.下载
p2617419_220_GENERIC.zip
p3006854_9204_LINUX.zip
p3238244_9204_LINUX.zip
然后安装,需要重新执行oracle的安装./runInstaller,所以最好在安装前打一下这个补丁.

补丁安装如下:
a) p2617419_220_GENERIC.zip 是oracle的opatch 补丁工具,在虚拟机中unzip解压后生成OPatch目录,可放在$ORACLE_HOME目录中,并将其路径放在PATH环境变量中;
$ unzip p2617419_220_GENERIC.zip  解压生成 OPatch 目录
$ vi .bash_profile          编辑 .bash_profile文件
export PATH=$PATH: $ORACLE_HOME/OPath
$ sourch .bash_profile      使配置生效

b) p3006854_9204_LINUX.zip  是oracel的一个补丁,安装步骤如下
$ unzip p3006854_9204_LINUX.zip        解压生成 3006854目录
$ cd 3006854                           进入补丁目录
[oracle@local 3006854]$ opatch apply      安装补丁
[oracle@local 3006854]$ opatch lsinventory   查看安装是否成功

c) p3238244_9204_LINUX.zip 是oracle的一个补丁,安装同上


3) ORA-29807: specified operator does not exist
   在建立新的DB时会出现的错误。
    这是Oracle 的bug , 可以忽略掉,安装完成后,在$ORACLE_HOME/rdbms/admin 目录下运
行utlrp.sql ,用于修补ORA-29807 错误。

4) creating and starting Oracle instance 80%
ORA-29550: java session state cleared
(没打补的原故,但对数据创建使用没影响,可Ignore忽略)

5)小小的提示:
如果大家以后碰到类似ORA-xxxx之类的错误信息,可以用
oerr ora NUMBER
这个命令来看看oracle是怎么解释和解决这个问题的。

六、 启动数据库
用oracle用户登录linux
首先执行命令
$:sqlplus "/ as sysdba"
SQL> startup     启动数据库;
SQL> shutdown   关闭数据库.

启动监控程序,在普通命令行下执行如下命令
$:lsnrctl start   启动监控
$:lsnrctl stop    停止监控

七、 使用数据库
1)然后创建表空间
create   tablespace   ts_test1
         datafile   '/home/oracle/tbspace/devbase_20080121.dbf'   size   500M
         autoextend   on
         next   100M
         maxsize   1000M;
要确保/home/oracle/tbspace目录存在,有权限,足够的空间存放表空间文件

2)创建用户
create  user  test1
       identified  by  test1
       default   tablespace   ts_test1
       temporary   tablespace   temp;
创建用户test1,密码是test1,默认表空间为ts_test1
注意,这个时候还不能用test1登录数据库,因为test1用户还没有create session,connect,resource权限,还不能登录;

3)给用户授予权限
grant  resource,connect  to  test1; 
grant  create session to test1;
grant  create table to test1;
grant  create tablespace to test1;
grant  create view to test1;
这时你可以用dev用户进行登录了.

4)修改用户密码
用sys或者system用户登录,执行如下的sql修改用户密码
alter user test1identified by manager;

最后还因为注意一个小问题,修改ORACLE_HOME/network/admin/tnsnames.ora,将配置该文件中所有HOST的值,全部由ip地址替换,这样在登录数据库的过程总,减少了主机名字=>ip地址的解析过程,有些时候,会提高一下登录的速度.

5)创建seq对象
create sequence SEQ_T_USER
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 20;

6)创建表
create table T_USER
(
NID  number(10),
SNAME  varchar2(20),
SADDRESS    varchar2(200)
);

八、 在linux用户下建立开发环境
在需要用oracle数据库的linux用户下配置环境变量,搜索路径需可以找到oracle程序.

vi  .bash_profile 添加如下的配置

#oracle
export ORACLE_BASE=/home/oracle/OraHome
export ORACLE_HOME=/home/oracle/OraHome/9.2.0
export ORACLE_SID=ora9i
export ORACLE_TERM=xterm

#LD_LIBRARY_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:$ORACLE_HOME/rdbms/demo

PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:.
PATH=$PATH:$ORACLE_HOME/bin
export PATH

建立普通用户在路径
$ORACLE_HOME/bin
$ORACLE_HOME/include
$ORACLE_HOME/lib
上所有目录的rx读执行权限,这样该登录用户才能使用$ORACLE_HOME/bin 目录下的一些oracle程序;并且要保证在开发过程中,可以使用oracle下的头文件,库文件;


到这里oracle数据库就可以使用了


九、 完全卸载(删除)ORACLE
1.用oracle用户登录
如果要再次安装, 最好先做一些备份工作。包括用户的登录脚本,数据库自动启动关闭的脚本,和Listener自动启动的脚本。要是有可能连创建数据库的脚本也保存下来

2.使用SQL*PLUS停止数据库
[oracle@ora920 oracle]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate]
SQL> exit

3.停止Listener
[oracle@ora920 oracle]$ lsnrctl stop

4.停止HTTP服务
[oracle@ora920 oracle]$ $ORACLE_HOME/Apache/Apache/bin/apachectl stop

5.用su或者重新登录到root(如想重新安装可以保留oracle用户,省得输入环境变量了)

6.将安装目录删除
[root@ora920 /root]# rm -rf  /opt/oracle

7.将/usr/bin下的文件删除
[root@ora920 /root]# rm  /usr/bin/dbhome
[root@ora920 /root]# rm  /usr/bin/oraenv
[root@ora920 /root]# rm  /usr/bin/coraenv

8.将/etc/oratab删除
[root@ora920 /root]# rm  /etc/oratab

9.将/etc/oraInst.loc删除
[root@ora920 /root]# rm  /etc/oraInst.loc

10.将oracle用户删除(若要重新安装,可以不删除)
[root@ora920 /root]# userdel –r oracle

11.将用户组删除(若要重新安装,可以不删除)
[root@ora920 /root]# groupdel oinstall
[root@ora920 /root]# groupdel dba

12.将启动服务删除
[root@ora920 /root]# chkconfig --del dbora

|
不用这么麻烦,在X-windows环境下安装就行了,在命令行模式下我也碰到这个问题过

    
 
 

您可能感兴趣的文章:

  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • Linux系统下Oracle的启动与Oracle监听的启动
  • 在linux 中如何删除oracle db 与卸载oracle.
  • 如何将Aix上的oracle 物理备份 然后再在linux 系统上还原oracle
  • 那里有免费的oracle odbc driver for linux?或怎么破解easysoft oracle odbc driver安装包?急
  • XP Oracle客户端进入Linux Oracle服务端
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • 在Red Hat Linux 9 和 Oracle 9.2 环境下,如何配制字符集,让Oracle能存入并显示日语里的假名?
  • 红帽Linux表示Oracle提供Linux支持是不完美的
  • Linux+Oracle学习笔记
  • Linux下的Oracle安装问题(非常问题)
  • Linux安装oracle,菜鸟急用!
  • 我载了oracle8i_linux81701.tar 在linux下解包,怎么是乱码啊?
  • Linux平台下Oracle 密码文件重建
  • Suse linux使用oracle问题
  • Linux系统下利用java连接Oracle 10G
  • 在Linux下安装ORACLE
  • Oracle商业数据库对Linux的策略是什么
  • Gartner:Oracle的Linux 可以先用后买
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • XP Oracle客户端进入Linux Oracle服务端 iis7站长之家
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • 我重装了winme,却进不了Linux了,而我现在又没有Linux光盘,也没有Linux启动盘,还有没有办法?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3