1.安装JDK
http://java.sun.com
(1) 下载后的BIN文件可以直接执行
# chmod 755 jdk-1.6.0_23-linux-i586.rpm.bin
# ./ jdk-1.6.0_23-linux-i586.rpm.bin
此步完成后,会生成jdk-1.6.0_23-linux-i586.rpm的文件
默认安装到了/usr/java/jdk1.6.0_23
(2) /etc/profile 设置环境变量
增加如下内容:
JAVA_HOME=/usr/java/jdk1.6.0_23
JRE_HOME=/usr/java/jdk1.6.0_23/jre
PATH=$PATH:$JAVA_HOME/bin:JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
按Esc,然后:wq保存退出
使环境变量生效 source /etc/profile
查看: echo $JAVA_HOME (会显示JDK所在目录)
***********************************************************************************************************
2.检查安装包
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
glibc-devel-2.5-12.i386.rpm
glibc-headers-2.5-12.i386.rpm
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
libXpm-3.5.5-3.i386.rpm libXp
openmotif21-2.1.30-8 setarch-1.3-1
libgomp-4.1.1-52.el5.i386.rpm
查询所需安装包是否完整
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp
由于缺失的包之间有严格的依赖关系,所以必须按照如下顺序安装缺失的包
rpm -Uvh compat-db-4*
rpm -Uvh libaio-0*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh glibc-headers-2.5-12.i386.rpm
rpm -Uvh glibc-devel-2.5-12.i386.rpm
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh gcc-4*
rpm -Uvh glibc-2.5-12.i686.rpm
rpm -Uvh libgomp-4.1.1-52.el5.i386.rpm
rpm -Uvh gcc-4.1.1-52.el5.i386.rpm
安装完成后仍然提示部分包没有安装,不过不影响使用
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
另一种说法:
查询所需安装包是否完整
rpm -q gcc make binutils openmotif setarch libXp
而对于需要安装的包,按如下关键字搜索和安装即可 compat -> libXp -> openmotif 全部安装完毕即可(我是这样做的)
***********************************************************************************************************
3.增加Oracle安装和使用的用户
(1) 新增组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
(2) 创建Oracle的安装目录,并把权限付给oracle用户,其实创建用户后就已经有该文件了
mkdir -p /home/oracle/
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle
***********************************************************************************************************
4.修改配置文件
(1) /etc/sysctl.conf 行末添加以下内容,已有的修改
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphors: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
运行下面的命令使得内核参数生效
/sbin/sysctl -p
(2) /etc/security/limits.conf 行末添加以下内容
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
(3) /etc/pam.d/login 行末添加以下内容
session required pam_limits.so
(4) /etc/selinux/config
更改 SELINUX=disabled 关闭防火墙,必须的
(5) /etc/redhat-release Linux版本信息,5不支持Oracle,安装后可以改回去
Red Hat Enterprise Linux AS release 3 (Taroon)
或Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
(6) gedit /etc/profile 就是增加JDK配置的文件,在增加JDK配置后紧接着增加如下内容
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
(6) bash_profile 在创建用户后在用户的目录下有一个.bash_profile(使用Oracle用户)
并在文件中增加如下内容
(ORACLE_BASE是最重要的,他代表Oracle的安装路径)
(在安装时就可以创建数据库,如果安装完毕重启,则再启动监听时无法启动,则要注意ORACLE_HOME在数据库安装后要根据实际路径进行修改)
ORACLE_BASE=/home/oracle/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=CUI
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
***********************************************************************************************************
5.解压(使用Oracle用户)
unzip 10201_database_linux32.zip -d /tmp/oracle
改权限
chown oracle /tmp/oracle
chmod -R 755 /tmp/oracle
安装
到根目录下:./runInstaller
(如果安装时不创建数据库,可以在Oracle_HOME/bin 下运行 dbca 来创建和管理数据库)
***********************************************************************************************************
6.配置Oracle在Linux下的命令
(1) 修改Rehhat版本信息
/etc/redhat-release 将版本改为原来版本
(2) 启动数据库与监听
/etc/oratab
SID名字:/Oracle/app/product/10.2.0/db_1:N为
oracle:/Oracle/app/product/10.2.0/db_1:Y
$Oracle_HOME/bin/dbstart
把其中的Oracle_HOME_LISTNER=什么东西,注释掉
加上 Oracle_HOME_LISTNER=$Oracle_HOME
修改/增加配置文件,起名字叫oracle,添加下面的script
(如果.bash_profile文件中配置过的话,就把export注销)
===== Script ====
#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=xterm
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_SID=oracle
export DISPLAY=localhost:0
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
===========end of script==============
授权
chown root:root /etc/rc.d/init.d/oracle
chmod 755 /etc/rc.d/init.d/oracle
(3) 启动/关闭服务
service oracle start / service oracle stop
(有可能启动会报syntax error: unexpected end of file错)
(这是因为回车的问题,你用vi把它去掉。在windows里,换行用的两个符号,回车符\r换行符\n;在linux下只需一个符号\n就可以了)
***********************************************************************************************************
附(一):卸载(简单,全是rm)
1)使用SQL*PLUS停止数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate]
SQL> exit
2)停止Listener
$ lsnrctl stop
3)停止HTTP服务
$ $ORACLE_HOME/Apache/Apache/bin/apachectl stop
4)用su或者重新登录到root
(1)运行 $ORACLE_HOME/bin/localconfig delete
(2)# rm -rf $ORACLE_BASE/*
(3)# rm -f /etc/oraInst.loc /etc/oratab
(4)# rm -rf /etc/oracle
(5)# rm -f /etc/inittab.cssd
(6)# rm -f /usr/local/bin/coraenv
(7)# rm -f /usr/local/bin/dbhome
(8)# rm -f /usr/local/bin/oraenv
(9)删除oracle用户和组
userdel –r oracle
groupdel oinstall
groupdel dba
(10)将启动服务删除
chkconfig --del dbora
附(二):正常模式启动和关闭数据库
9i 之后已经没有 svrmgrl 了,所有的管理工作都通过 sqlplus 来完成
启动数据库步骤如下:
注:$ORACLE_HOME为oracle的安装路径
1,以oracle用户登录
su oracle
2,启动TNS监听器
$ORACLE_HOME/bin/lsnrctl start
3,用sqlplus启动数据库
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup
出现如下显示,表示Oracle已经成功启动
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 778392 bytes
Variable Size 74456936 bytes
Database Buffers 130023424 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.
4,用sqlplus停止数据库
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> shutdown
注:shutdown可加关闭选项,从最温和到最粗暴的行为选项为(shutdown、shutdown transactional、shutdown immediate、shutdown abort)
命令解释如下
shutdown:关闭,等待每个用户退出系统戓被取消后退出关闭数据库
shutdown transactional:事务性关闭,等待每个用户提交戓回退当前的事务,然后oracle取消对话,在所有用户退出系统后执行关闭
shutdown immediate:直接关闭,取消所有用户对话(促使回退),执行正常的关闭程序
shutdown abort:终止关闭,关闭数据库时没有自动检查点戓日志开关
出现如下显示,表示oracle已经停止
Database closed
Database dismounted
ORACLE instance shut down
http://java.sun.com
(1) 下载后的BIN文件可以直接执行
# chmod 755 jdk-1.6.0_23-linux-i586.rpm.bin
# ./ jdk-1.6.0_23-linux-i586.rpm.bin
此步完成后,会生成jdk-1.6.0_23-linux-i586.rpm的文件
默认安装到了/usr/java/jdk1.6.0_23
(2) /etc/profile 设置环境变量
增加如下内容:
JAVA_HOME=/usr/java/jdk1.6.0_23
JRE_HOME=/usr/java/jdk1.6.0_23/jre
PATH=$PATH:$JAVA_HOME/bin:JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
按Esc,然后:wq保存退出
使环境变量生效 source /etc/profile
查看: echo $JAVA_HOME (会显示JDK所在目录)
***********************************************************************************************************
2.检查安装包
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
glibc-devel-2.5-12.i386.rpm
glibc-headers-2.5-12.i386.rpm
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
libXpm-3.5.5-3.i386.rpm libXp
openmotif21-2.1.30-8 setarch-1.3-1
libgomp-4.1.1-52.el5.i386.rpm
查询所需安装包是否完整
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp
由于缺失的包之间有严格的依赖关系,所以必须按照如下顺序安装缺失的包
rpm -Uvh compat-db-4*
rpm -Uvh libaio-0*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh glibc-headers-2.5-12.i386.rpm
rpm -Uvh glibc-devel-2.5-12.i386.rpm
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh gcc-4*
rpm -Uvh glibc-2.5-12.i686.rpm
rpm -Uvh libgomp-4.1.1-52.el5.i386.rpm
rpm -Uvh gcc-4.1.1-52.el5.i386.rpm
安装完成后仍然提示部分包没有安装,不过不影响使用
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
另一种说法:
查询所需安装包是否完整
rpm -q gcc make binutils openmotif setarch libXp
而对于需要安装的包,按如下关键字搜索和安装即可 compat -> libXp -> openmotif 全部安装完毕即可(我是这样做的)
***********************************************************************************************************
3.增加Oracle安装和使用的用户
(1) 新增组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
(2) 创建Oracle的安装目录,并把权限付给oracle用户,其实创建用户后就已经有该文件了
mkdir -p /home/oracle/
chown -R oracle:oinstall /home/oracle
chmod -R 775 /home/oracle
***********************************************************************************************************
4.修改配置文件
(1) /etc/sysctl.conf 行末添加以下内容,已有的修改
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphors: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
运行下面的命令使得内核参数生效
/sbin/sysctl -p
(2) /etc/security/limits.conf 行末添加以下内容
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
(3) /etc/pam.d/login 行末添加以下内容
session required pam_limits.so
(4) /etc/selinux/config
更改 SELINUX=disabled 关闭防火墙,必须的
(5) /etc/redhat-release Linux版本信息,5不支持Oracle,安装后可以改回去
Red Hat Enterprise Linux AS release 3 (Taroon)
或Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
(6) gedit /etc/profile 就是增加JDK配置的文件,在增加JDK配置后紧接着增加如下内容
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
(6) bash_profile 在创建用户后在用户的目录下有一个.bash_profile(使用Oracle用户)
并在文件中增加如下内容
(ORACLE_BASE是最重要的,他代表Oracle的安装路径)
(在安装时就可以创建数据库,如果安装完毕重启,则再启动监听时无法启动,则要注意ORACLE_HOME在数据库安装后要根据实际路径进行修改)
ORACLE_BASE=/home/oracle/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=CUI
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH
***********************************************************************************************************
5.解压(使用Oracle用户)
unzip 10201_database_linux32.zip -d /tmp/oracle
改权限
chown oracle /tmp/oracle
chmod -R 755 /tmp/oracle
安装
到根目录下:./runInstaller
(如果安装时不创建数据库,可以在Oracle_HOME/bin 下运行 dbca 来创建和管理数据库)
***********************************************************************************************************
6.配置Oracle在Linux下的命令
(1) 修改Rehhat版本信息
/etc/redhat-release 将版本改为原来版本
(2) 启动数据库与监听
/etc/oratab
SID名字:/Oracle/app/product/10.2.0/db_1:N为
oracle:/Oracle/app/product/10.2.0/db_1:Y
$Oracle_HOME/bin/dbstart
把其中的Oracle_HOME_LISTNER=什么东西,注释掉
加上 Oracle_HOME_LISTNER=$Oracle_HOME
修改/增加配置文件,起名字叫oracle,添加下面的script
(如果.bash_profile文件中配置过的话,就把export注销)
===== Script ====
#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_TERM=xterm
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_SID=oracle
export DISPLAY=localhost:0
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
===========end of script==============
授权
chown root:root /etc/rc.d/init.d/oracle
chmod 755 /etc/rc.d/init.d/oracle
(3) 启动/关闭服务
service oracle start / service oracle stop
(有可能启动会报syntax error: unexpected end of file错)
(这是因为回车的问题,你用vi把它去掉。在windows里,换行用的两个符号,回车符\r换行符\n;在linux下只需一个符号\n就可以了)
***********************************************************************************************************
附(一):卸载(简单,全是rm)
1)使用SQL*PLUS停止数据库
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown [immediate]
SQL> exit
2)停止Listener
$ lsnrctl stop
3)停止HTTP服务
$ $ORACLE_HOME/Apache/Apache/bin/apachectl stop
4)用su或者重新登录到root
(1)运行 $ORACLE_HOME/bin/localconfig delete
(2)# rm -rf $ORACLE_BASE/*
(3)# rm -f /etc/oraInst.loc /etc/oratab
(4)# rm -rf /etc/oracle
(5)# rm -f /etc/inittab.cssd
(6)# rm -f /usr/local/bin/coraenv
(7)# rm -f /usr/local/bin/dbhome
(8)# rm -f /usr/local/bin/oraenv
(9)删除oracle用户和组
userdel –r oracle
groupdel oinstall
groupdel dba
(10)将启动服务删除
chkconfig --del dbora
附(二):正常模式启动和关闭数据库
9i 之后已经没有 svrmgrl 了,所有的管理工作都通过 sqlplus 来完成
启动数据库步骤如下:
注:$ORACLE_HOME为oracle的安装路径
1,以oracle用户登录
su oracle
2,启动TNS监听器
$ORACLE_HOME/bin/lsnrctl start
3,用sqlplus启动数据库
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup
出现如下显示,表示Oracle已经成功启动
ORACLE instance started.
Total System Global Area 205520896 bytes
Fixed Size 778392 bytes
Variable Size 74456936 bytes
Database Buffers 130023424 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.
4,用sqlplus停止数据库
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> shutdown
注:shutdown可加关闭选项,从最温和到最粗暴的行为选项为(shutdown、shutdown transactional、shutdown immediate、shutdown abort)
命令解释如下
shutdown:关闭,等待每个用户退出系统戓被取消后退出关闭数据库
shutdown transactional:事务性关闭,等待每个用户提交戓回退当前的事务,然后oracle取消对话,在所有用户退出系统后执行关闭
shutdown immediate:直接关闭,取消所有用户对话(促使回退),执行正常的关闭程序
shutdown abort:终止关闭,关闭数据库时没有自动检查点戓日志开关
出现如下显示,表示oracle已经停止
Database closed
Database dismounted
ORACLE instance shut down