Redhat 5 下 Oracle10g 安装 修改版 博客分类: DB管理 RedHatOracleLinuxcuisuqiangGCC
1.安装JDK(可选,如果你安装的系统没有JDK请安装)
jdk-6u23-linux-i586-rpm.bin
(1) 设置可执行权限
# chmod 755 jdk-1.6.0_23-linux-i586.rpm.bin
(2)执行安装
# ./ jdk-1.6.0_23-linux-i586.rpm.bin
(3)此步完成
会生成jdk-1.6.0_23-linux-i586.rpm等文件
默认安装到了/usr/java/jdk1.6.0_23
(4) 设置环境变量
# vi /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所在目录)
备注:
许多时候有人会使用以下命令来看是否生效
# java -version
但是如果你之前安装过Java的话,那么打印就不是现在安装的版本
我们需要更改java这个命令的引用,进入路径
# cd /usr/bin # rm java # ln -s /usr/java/jdk1.6.0_23/bin/java java
2.检查安装包
(1)检查缺陷包
# rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp
(2)安装缺陷的包,由于缺失的包之间有严格的依赖关系,所以必须按照如下顺序安装缺失的包
# cd /mnt/cdrom/Server/ # rpm -Uvh setarch-2* # rpm -Uvh make-3* # rpm -Uvh glibc-2* # rpm -Uvh libaio-0* # rpm -Uvh compat-libstdc++-33-3* # rpm -Uvh compat-gcc-34-3* # rpm -Uvh compat-gcc-34-c++-3* # rpm -Uvh gcc-4* # rpm -Uvh libXp-1* # rpm -Uvh openmotif22-* # rpm -Uvh compat-db-4*
(3)安装完成后仍然提示部分包没有安装
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
(4)GCC的安装查看
http://cuisuqiang.iteye.com/blog/1711153
3.增加Oracle安装和使用的用户
(1) 新增组和用户
# groupadd oinstall # groupadd dba # groupadd oper # useradd -g oinstall -G dba oracle # passwd oracle
设置密码
(2) 创建Oracle的安装目录,并把权限付给oracle用户
# mkdir /oracle # chown -R oracle:oinstall /oracle # chmod -R 775 /oracle
4.修改系统参数
(1) 内核参数
# vi /etc/sysctl.conf
行末添加以下内容
kernel.shmmni = 4096 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
(2)内核参数生效
运行下面的命令使得内核参数生效
# sysctl -p
(3)设置oracle用户的shell limit
# vi /etc/security/limits.conf
行末添加以下内容
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
(4)用户shell参数生效
# vi /etc/pam.d/login
添加
session required pam_limits.so
(5)关闭防火墙
# vi /etc/selinux/config
更改关闭防火墙
SELINUX=disabled
(6)Linux版本信息
# vi /etc/redhat-release
Linux版本信息,5不支持Oracle,安装后可以改回去
Red Hat Enterprise Linux AS release 3 (Taroon) 或 Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
(7) oracle用户的环境变量
下面的操作,用oracle用户登陆执行
为了防止安装oracle时出现乱码,先把语言环境改为英文
# export LC_CTYPE=en_US.UTF-8 # vi /home/oracle/.bash_profile
添加如下内容
export ORACLE_BASE=/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
(8)变量生效
# source /home/oracle/.bash_profile
5.安装Oracle
(1)上传文件到 /tmp
安装FTP:http://cuisuqiang.iteye.com/blog/846521
如果你是虚拟机可以安装VMware Tools
http://cuisuqiang.iteye.com/blog/1454315
(2)解压
# unzip 10201_database_linux32.zip
(3)安装
进入解压目录
# ./runInstaller
(4)安装完毕后需要root执行连个命令
# /oracle/oraInventory/orainstRoot.sh # /oracle/product/10.2.0/db_1/root.sh
(5)安装完毕
6。启动关闭数据(oracle 的 根目录)
(1)首先应该启动监听器
# lsnrctl start # lsnrctl stop
(2)启动和停止OEM
# emctl start dbconsole # emctl stop dbconsole
(3)访问
http://192.168.x.x:1158/em
(4)使用iSQL*Plus访问数据库
# isqlplusctl start # isqlplusctl stop
(5)访问
http://192.168.x.x:5560/isqlplus
7.配置Oracle在Linux下的命令(root用户)
(1) 修改Rehhat版本信息
# vi /etc/redhat-release
将版本改为原来版本
(2) 启动数据库与监听
# vi /etc/oratab
SID名字:
/Oracle/app/product/10.2.0/db_1:N
改为
oracle:/Oracle/app/product/10.2.0/db_1:Y
(3)数据库配置文件
# vi $ORACLE_HOME/bin/dbstart
把其中的ORACLE_HOME_LISTNER=什么东西,注释掉
加上
ORACLE_HOME_LISTNER=$ORACLE_HOME
(4)修改/增加配置文件,起名字叫oracle,添加下面的script
部分内容.bash_profile文件中配置过,就注销掉
ORACLE_SID是你数据库的实例,如果没有动过应该就是orcl
# vi /etc/rc.d/init.d/oracle
添加脚本内容:
export ORACLE_TERM=xterm export ORACLE_SID=orcl export DISPLAY=localhost:0 export ORACLE_USER=oracle 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
授权
# 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
请您到ITEYE看我的原创:http://cuisuqiang.iteye.com
或支持我的个人博客,地址:http://www.javacui.com