当前位置: 技术问答>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文件,要怎么安装?
听说安装前还要设置一大堆东西,要怎么设置?
./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
一、 软件要求:
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环境下安装就行了,在命令行模式下我也碰到这个问题过