Linux AS4下卸载单机Oracle 10.2.0.1数据库
使用SQL*PLUS停止数据库
[oracle@standby1 ~]$ sqlplus /nolog
SQL> conn /as sysdba
SQL> shutdown
停止Listener
lsnrctl stop
执行下列操作
[root@standby1 ~]# rm -rf /u01/app/oracle/*
[root@standby1 ~]# rm -f /etc/oraInst.loc
[root@standby1 ~]# rm -rf /etc/oracle
[root@standby1 ~]# rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
将oracle用户删除(若要重新安装,可以不删除)
[root@standby1 ~]# userdel –r oracle
将用户组删除(若要重新安装,可以不删除)
[root@standby1 ~]# groupdel oinstall
[root@standby1 ~]# groupdel dba
参考网址http://blog.csdn.net/l106439814/article/details/24231013一.检查 全程以root用户登录执行
1.确保系统为64位CentOS
2.确保磁盘空间够用,大约需要5GB
# df -k
3.使用# free -m命令确保swap空间大于1GB
如果使用阿里云等原因swap不存在,使用如下命令创建swap
# dd if=/dev/zero of=/var/swap bs=1M count=2048 这一步会比较慢,2分钟左右才会有反应,耐心等待
# mkswap /var/swap
# swapon /var/swap
# vi /etc/fstab
添加/var/swap swap swap defaults 0 0
# vi /etc/rc.d/rc.local
将swapoff -a注释掉或者删掉
4.修改系统内核参数
# vi /etc/sysctl.conf
kernel.shmall = 2097152 // 该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 2147483648 // 该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,应该设为可用内存的一般
kernel.shmmni = 4096 // 这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 // 表示设置的信号量
fs.file-max = 65536 // 表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量
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 这句话使前面的修改立即生效
5.安装必要的组件
# yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel libXp
碰到[y/N]就输入y
二.创建组和用户
1.创建
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/groupadd asmadmin
# /usr/sbin/groupadd asmdba
# /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
# id oracle
# passwd oracle
输入一个密码来创建oracle账户的密码
2.修改系统配置
# vi /etc/security/limits.conf
添加如下内容
oralce soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
# vi /etc/pam.d/login
添加如下内容
session required /lib/security/pam_limits.so
session required pam_limits.so
三.建立必要目录
1.创建目录
# mkdir -p /u01/oracle/
2.创建清单
# vi /etc/oraInst.loc
添加如下内容
inventory_loc=/u01/oraInventory
inst_group= oinstall
2.赋予oracle访问这些文件夹的权限
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
四.下载oracle11g
1.切换目录
# cd /u01/
2.下载 这一步也可以用xftp4将本地的oracle11g上传上去,但一般上传速度太慢,不推荐。
先用windows系统下载oracle官网的oracle11g,然后取消,复制刚才下载的链接地址url
# wget url 此步骤最好在网速好的时候执行
3.解压
假设下载下来的文件名为filename
#unzip filename
4.解压完成
解压完成之后u01下应该会有database文件夹的存在
五.配置环境变量
1.编辑环境变量
# su - oracle
# vi ~/.bash_profile
添加如下内容
export PATHTH=$PATH:HOME/bin
export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=ora11g
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:ORACLE_HOME/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#export ORA_NLS10=$ORACLE_HOME/nls/data
unset USERNAME
umask 022
# source ~/.bash_profile
六.修改响应文件
1.修改db_install.rsp
# vi /u01/database/response/db_install.rsp
修改以下内容
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=localhost
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/oracle
ORACLE_BASE=/u01
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=oracle11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
DECLINE_SECURITY_UPDATES=true
七.安装oracle
1.切换用户
# su - oracle
2.切换目录
# cd /u01/database/
3.运行安装程序
# ./runInstaller -silent -force -ignorePrereq -responseFile /u01/database/response/db_install.rsp
如果遇到WARNING,不用担心
这一步非常非常慢,可能10分钟都没有反应,请耐心等待,因为此时它正在安装
4.出现以下字样说明安装成功
/u01/oracle/oraInventory/orainstRoot.sh
/u01/oracle/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:
1. Open a terminal window
2. Log in as "root"
3. Run the scripts
4. Return to this window and hit "Enter" key to continue
Successfully Setup Software.
5.切换到root用户,运行oracle脚本
# su - root
输入root账户的密码
# /u01/oracle/oraInventory/orainstRoot.sh
# /u01/oracle/root.sh
八.静默配置监听
1.配置监听器
# su - oracle
# $ORACLE_HOME/bin/netca /silent /responsefile /u01/database/response/netca.rsp
# ll $ORACLE_HOME/network/admin/*.ora
# lsnrctl status
九.静默建库
1.配置响应文件
# vi /u01/database/response/dbca.rsp
修改以下内容
[CREATEDATABASE]
GDBNAME = "oracle11g"
SID="ora11g"
CHARACTERSET = "utf8"
SYSPASSWORD="123456"
SYSTEMPASSWORD="123456"
2.建库
# $ORACLE_HOME/bin/dbca -silent -responseFile /u01/database/response/dbca.rsp
当显示以下内容说明数据库创建完毕了
100% complete
Look at the log file "/u01/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details.
3.设置数据库自启动
# vi /etc/oratab
将<Oracle的SID>:<Oracle的主目录>:N
修改为ora11g:/u01/oracle:Y
十.登陆数据库
1.启动数据库
# $ORACLE_HOME/bin/dbstart
2.登陆数据库
# sqlplus sys as sysdba
至此,数据库安装完毕,其他特别功能在后面可用可不用
十一.数据库相关操作
1.启动数据库
# $ORACLE_HOME/bin/dbstart
2.关闭数据库
# $ORACLE_HOME/bin/dbshut
3.让Oracle运行为服务
# su - root
输入密码
# vi /etc/init.d/oracle
添加以下内容
#!/bin/sh
# chkconfig: 35 80 10
# description: Oracle auto start-stop script.
#
# Set ORACLE_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORACLE_OWNER to the user id of the owner of the
# Oracle database in ORACLE_HOME.
ORACLE_HOME=/app/oracle/11g
ORACLE_OWNER=oracle
if [ ! -f $ORACLE_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart" >>/var/log/oracle
echo "Done"
# Start the Listener:
echo "Starting Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" >>/var/log/oracle
echo "Done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
'stop')
# Stop the Oracle Listener:
echo "Stoping Oracle Listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" >>/var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
# Stop the Oracle Database:
echo "Stoping Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut" >>/var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;
'restart')
$0 stop
$0 start
;;
esac
将这个文件赋予可执行的权限,运行
# chmod a+x /etc/init.d/oracle
添加Oracle服务并设置在Linux启动时自动运行
# chkconfig --level 35 oracle on
# chkconfig --list oracle
这样就可以用service oracle start|stop|restart来启动、停止和重启Oracle了