由于Oracle官网上无法下载Oracle数据库之前的版本,可以在 Oracle Software Delivery Cloud 里搜索oracle database 11g 

然后选择自己需要的版本进行下载:

此处上传目录以 /opt/software/ 为例。解压后两个文件会自动放入当前路径的database目录下,执行命令如下:

如果未安装 unzip 命令,可使用 yum 安装:

  1. yum install -y unzip zip
  1. cd /opt/software/
  2. unzip V17530-01_1of2.zip
  3. unzip V17530-01_2of2.zip
  1. vim /etc/hosts
  2. 192.168.31.100 hadoop100
  1. vim /etc/selinux/config
  2. # 修改内容
  3. SELINUX=disabled
  4. #执行命令,关闭SELinux
  5. setenforce 0
  1. systemctl stop firewalld
  2. systemctl disable firewalld.service
  1. yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc++-devel make sysstat unixODBC unixODBC-devel

创建oinstall组和dba组,把oracle用户加入到用户组,并设置oracle登录密码,命令如下:

  1. groupadd oinstall   
  2. groupadd dba  
  3. useradd -g oinstall -G dba oracle   
  4. passwd oracle
  1. # 把database文件权限给oracle:oinstall
  2. chown -R oracle:oinstall /opt/software/database/
  1. vim /etc/sysctl.conf
  2. # 在文件底部添加以下的内容
  3. fs.file-max= 6815744
  4. fs.aio-max-nr=1048576
  5. net.ipv4.ip_local_port_range= 9000 65500
  6. net.core.rmem_default= 262144
  7. net.core.rmem_max= 4194304
  8. net.core.wmem_default= 262144
  9. net.core.wmem_max= 1048576
  10. kernel.sem= 250 32000 100 128
  11. # 执行命令sysctl使其自检并生效
  12. sysctl -p

>>修改配置文件

  1. vim /etc/security/limits.conf
  2. # 在文件底部添加以下的内容
  3. oracle soft nproc 2047
  4. oracle hard nproc 16384
  5. oracle soft nofile 1024
  6. oracle hard nofile 65536

>>修改用户关联文件

  1. vim /etc/pam.d/login
  2. # 在文件底部添加以下的内容
  3. session required /lib64/security/pam_limits.so
  4. session required pam_limits.so

>>修改系统环境参数

  1. vim /etc/profile
  2. # 在文件底部添加以下的内容
  3. if [ $USER = "oracle" ]; then
  4. if [$SHELL = "/bin/ksh" ]; then
  5. ulimit -p 16384
  6. ulimit -n 65536
  7. else
  8. ulimit -u 16384 -n 65536
  9. fi
  10. fi
  11. # 刷新配置
  12. source /etc/profile

>>添加/etc/oraInst.loc文件并授权

  1. vim /etc/oraInst.loc
  2. # 添加配置
  3. inventory_loc=/opt/module/oracle/oraInventory
  4. inst_group=oinstall
  1. chown oracle:oinstall /etc/oraInst.loc
  2. chmod 664 /etc/oraInst.loc
  1. mkdir /opt/module/oracle # oracle是数据库系统安装目录,
  2. mkdir /opt/module/oracle/oradata # oradata是数据库数据安装目录,
  3. mkdir /opt/module/oracle/oradata_back # oradata_back是数据备份目录,
  4. mkdir /opt/module/oracle/oraInventory # oraInventory是清单目录
  1. chown -R oracle:oinstall /opt/module/oracle /opt/module/oracle/oraInventory /opt/module/oracle/oradata/
  2. chmod -R 775 /opt/module/oracle /opt/module/oracle/oraInventory /opt/module/oracle/oradata/
  1. vim /home/oracle/.bash_profile
  2. # 在文件底部追加以下内容
  3. export ORACLE_BASE=/opt/module/oracle
  4. export ORACLE_SID=orcl
  5. # 保存退出,刷新配置
  6. source /home/oracle/.bash_profile
  1. su - root
  2. cd /home/oracle/
  3. mkdir etc
  4. # 将解压后的配置文件复制过来
  5. cp /opt/software/database/response/* /home/oracle/etc/
  6. # 授权
  7. chown -R oracle:oinstall /home/oracle/etc
  8. chmod 777 /home/oracle/etc/*.rsp

拷贝过来的文件如下:

  1. su - oracle
  2. vim /home/oracle/etc/db_install.rsp
  1. oracle.install.option=INSTALL_DB_SWONLY
  2. ORACLE_HOSTNAME=hadoop100 #主机名
  3. UNIX_GROUP_NAME=oinstall
  4. INVENTORY_LOCATION=/opt/module/oracle/oraInventory
  5. SELECTED_LANGUAGES=en,zh_CN,zh_TW
  6. ORACLE_HOME=/opt/module/oracle/product/11.2.0/db_1
  7. ORACLE_BASE=/opt/module/oracle
  8. oracle.install.db.InstallEdition=EE
  9. oracle.install.db.isCustomInstall=false
  10. oracle.install.db.DBA_GROUP=dba
  11. oracle.install.db.OPER_GROUP=oinstall
  12. #这里必须填ture
  13. DECLINE_SECURITY_UPDATES=true
  1. cd /opt/software/database
  2. ./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq

参数说明:

  • /opt/software/database 是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。
  • runInstaller 是主要安装脚本 
  • -silent 静默模式   
  • -force 强制安装 
  • -ignorePrereq忽略warning直接安装。
  • -responseFile读取安装应答文件。

 操作截图:

此处我们不必切换至root用户,oracle用户有权限执行。

  1. sh /opt/module/oracle/product/11.2.0/db_1/root.sh

操作截图:

  1. su - oracle
  2. vim ~/.bash_profile
  1. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  2. export TNS_ADMIN=$ORACLE_HOME/network/admin
  3. export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
  4. export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
  5. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
  6. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
  7. export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
  8. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
  9. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
  10. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
  11. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
  12. export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
  13. export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
  14. export ORACLE_OWNER=oracle
  15. export SPFILE_PATH=$ORACLE_HOME/dbs
  16. export ORA_NLS10=$ORACLE_HOME/nls/data

使.bash_profile文件生效:source ~/.bash_profile

如果需要安装多个实例,则重复如下操作即可,但是注意dbca.rsp文件如下的配置要做对应修改

配置dbca.rsp文件:

  1. vim /home/oracle/etc/dbca.rsp

配置如下:

  1. GDBNAME = "orcl"
  2. SID = "orcl"
  3. SYSPASSWORD = "oracle"
  4. SYSTEMPASSWORD = "oracle"
  5. SYSMANPASSWORD = "oracle"
  6. DBSNMPPASSWORD = "oracle"
  7. DATAFILEDESTINATION =/opt/module/oracle/oradata #有默认值,可选
  8. RECOVERYAREADESTINATION = /opt/module/oracle/fast_recovery_area #有默认值,可选
  9. CHARACTERSET = "AL32UTF8"
  10. TOTALMEMORY = "40,960"

参数说明:

  • GDBNAME=“orcl” #78行 全局数据库的名字
  • SID=“orcl” #149行 SID对应的实例名字
  • SYSPASSWORD=“oracle” #190行 SYS管理员密码
  • SYSTEMPASSWORE=“oracle” #200行 SYSTEM管理员密码
  • DATAFILEDESTINATION=/opt/module/oracle/oradata  #357行 数据文件存放目录,默认值:$ORACLE_BASE/oradata,【该目录下的数据库文件是用各个数据库实例名命名的文件夹区分开来的】
  • RECOVERYAREADESTINATION=/usr/local/oradata_back     #367行 恢复数据存放目录,默认值:$ORACLE_BASE/flash_recovery_area
  • CHARACTERSET=”AL32UTF8″    #415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚
  • TOTALMEMORY= “40,960”       #540行 oracle内存40,960MB,建议为物理内存70%~85%,物理内存50*1024*80%。

>>静默安装数据库命令

  1. dbca -silent -responseFile /home/oracle/etc/dbca.rsp

操作截图:

查看上述截图中的日志文件:cat /opt/module/oracle/cfgtoollogs/dbca/orcl/orcl.log

 

>>实例进程检查

  1. ps -ef | grep ora_ | grep -v grep

操作截图:

  1. netca /silent /responsefile /home/oracle/etc/netca.rsp

操作截图:

>>查看数据库监听情况【查看对应的实例是否被监听】

  1. lsnrctl status

操作截图:

生成的监听文件内容如下:

>>切换到root用户执行以下操作

“chmod +s ”表示为了方便普通用户执行一些特权命令,SUID/SGID程序允许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。

  1. su root
  2. chmod +s /bin/netstat

权限变化如下:

  1. sqlplus system

 

>>切换到root用户执行以下操作

  1. vim /opt/module/oracle/product/11.2.0/db_1/bin/dbstart

  修改内容:将 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

>>再执行

  1. vim /opt/module/oracle/product/11.2.0/db_1/bin/dbshut

  修改内容:将 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

>>修改/etc/oratab文件:vim /etc/oratab

  修改内容:将 orcl:/u01/app/oracle/product/11.2.0/db_1:N 中最后的 N 改为 Y

>>切换用户到oracle执行 dbshut dbstart 测试oracle数据库的手动关闭和启动

操作截图:


>>开始添加oracle自启动脚本【可选】:vim /etc/rc.d/init.d/oracle 

  1. #!/bin/bash
  2. # oracle: Start/Stop Oracle Database 11g R2
  3. # chkconfig: 345 90 10
  4. # description: The Oracle Database is an Object-Relational Database Management System.
  5. #
  6. . /etc/rc.d/init.d/functions
  7. LOCKFILE=/var/lock/subsys/oracle
  8. ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
  9. ORACLE_USER=oracle
  10. case "$1" in
  11. 'start')
  12. if [ -f $LOCKFILE ]; then
  13. echo $0 already running.
  14. exit 1
  15. fi
  16. echo -n $"Starting Oracle Database:"
  17. su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
  18. su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
  19. su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
  20. touch $LOCKFILE
  21. ;;
  22. 'stop')
  23. if [ ! -f $LOCKFILE ]; then
  24. echo $0 already stopping.
  25. exit 1
  26. fi
  27. echo -n $"Stopping Oracle Database:"
  28. su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
  29. su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
  30. su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
  31. rm -f $LOCKFILE
  32. ;;
  33. 'restart')
  34. $0 stop
  35. $0 start
  36. ;;
  37. 'status')
  38. if [ -f $LOCKFILE ]; then
  39. echo $0 started.
  40. else
  41. echo $0 stopped.
  42. fi
  43. ;;
  44. *)
  45. echo "Usage: $0 [start|stop|status]"
  46. exit 1
  47. esac
  48. exit 0

>>修改文件权限:chmod 755 /etc/init.d/oracle

>>设置开机启动执行:chkconfig oracle on

>>检查是否设置成功 : chkconfig --list oracle

>>执行操作测试 service oracle start/stop/restart 如下即可:

 


>>使用客户端工具测试连接


【注意】

su - oracle相当于重新登陆,此时用户的家目录和PATH等信息会发生改变

su oracle切换到oracle身份后用户的家目录和PATH仍然是原先用户的家目录和PATH

加了”-“,是以login shell登陆的,所以会设置环境变量。如果不加,使用的还是切换前用户的环境变量,此时执行 sqlplus命令就会出错:bash: sqlplus: 未找到命令...

版权声明:本文为DANIEL原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/danielzzz/p/16697441.html