CentOS7 安装Oracle11g

CentOS7 安装Oracle11g

依赖环境安装

  1. 设置国内源:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  2. 生成缓存:yum makecache
  3. 安装解压软件: yum install -y unzip
  4. 安装Oracle依赖:yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc+±devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* expat numactl-devel pcre-devel numactl-libs
  5. 多执行几次依赖安装 防止有安装失败的
  6. 我一般执行三次 最后一次不会下载会直接跳过就表示安装成功

数据库安装软件下载

  1. 使用浏览器依次访问1:https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_1of7.zip?aru=16716375&patch_file=oracle_Linux-x86-64_1of7.zip
  2. 使用浏览器依次访问2:https://updates.oracle.com/Orion/Services/download/p13390677_112040_Linux-x86-64_2of7.zip?aru=16716375&patch_file=oracle_Linux-x86-64_2of7.zip
  3. 访问需要登录账号可以注册一个
  4. 也是使用百度云盘下载
  5. 链接:https://pan.baidu.com/s/1bqZLS7JLTvcuP3I8sgFjRA 提取码:8888

创建用户和用户组

  1. 创建用户组:groupadd oinstall
  2. 创建用户组:groupadd dba
  3. 创建用户:useradd -g oinstall -G dba oracle

设置内核

  1. 编辑文件 :vi /etc/sysctl.conf

  2. 添加内容如下:

    ## 添加内容如下:
    fs.aio-max-nr=1048576
    fs.file-max=6815744
    kernel.shmall=2097152
    kernel.shmmni=4096
    # kernel.shmmax 参数设置为物理内存的一半 设置为1G:1073741821 
    # 这里设置的是500m 一般也够了
    kernel.shmmax = 536870912
    kernel.sem=250 32000 100 128
    net.ipv4.ip_local_port_range=9000 65500
    net.core.rmem_default=262144
    net.core.rmem_max=4194304
    net.core.wmem_default=262144
    
  3. 让配置生效:sysctl -p

修改系统资源限制

  1. 编辑文件:vi /etc/security/limits.conf

  2. 在末尾添加:

    #在末尾添加
    oracle	soft	nproc	2047
    oracle	hard	nproc	16384
    oracle	soft	nofile	1024
    oracle	hard	nofile	65536
    oracle	soft	stack	10240
    oracle	hard	stack	10240
    

修改用户验证项

  1. 编辑文件:vi /etc/pam.d/login

  2. 在末尾添加:

    #在末尾添加
    session  required   pam_limits.so
    

创建安装文件夹

  1. 创建安装文件夹:mkdir -p /data/oracle/oraInventory
  2. 修改文件夹拥有者:chown -R oracle:oinstall /data
  3. 修改权限:chmod -R 775 /data

设置主机名

  1. 后期监听以及许多配置对主机名都有要求
  2. 命令:hostnamectl set-hostname server
  3. 我这里吧主机名设置成为 server 可以自定义但是后面相应的配置要自己修改

设置oracle账号的环境变量

  1. 切换账号:su - oracle

  2. 编辑配置文件:vi .bash_profile

  3. 在末尾添加:

    # 文件最末尾添加
    # 这个值改成自己计算机的名称 我这里计算名为 server
    # 可以通过 hostname 命令查看计算机名称
    export ORACLE_HOSTNAME=server
    export ORACLE_BASE=/data/oracle
    export ORACLE_SID=ORCL
    export LC_ALL="en_US"
    export LANG="en_US"
    export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
    export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
    
  4. 让配置文件生效:source /home/oracle/.bash_profile

上传数据库安装文件到服务器

  1. 我这里上传到了 /data 目录
  2. 切换到 oracle用户:su - oracle
  3. 切换到上传文件所在目录:cd /data
  4. 解压:ls *.zip | xargs -n1 unzip
  5. 删除压缩包文件 节省空间 (* ̄︶ ̄) :rm -rf *.zip

安装oracle数据库

  1. 编辑配置文件:vi /data/database/response/db_install.rsp
  2. 修改如下选项:
# 注意是修改  不是创新创建一个文件 不然会报错
# 设置安装类型 29行左右
oracle.install.option=INSTALL_DB_SWONLY
# 这个换成服务器的主机名 不然后期会报错 37行左右
ORACLE_HOSTNAME=server
# 安装组 42行左右
UNIX_GROUP_NAME=oinstall
# 设置Inventory目录 49行左右
INVENTORY_LOCATION=/data/oracle/oraInventory
# 设置语言 86行左右
SELECTED_LANGUAGES=en,zh_CN
# 数据库安装目录 91行左右
ORACLE_HOME=/data/oracle/product/11.2.0/db_1
# 数据库基本目录 96行左右
ORACLE_BASE=/data/oracle
# 安装版本 107行左右
oracle.install.db.InstallEdition=EE
# dba用户组 154行左右
oracle.install.db.DBA_GROUP=dba
# oper用户组 160行左右
oracle.install.db.OPER_GROUP=oinstall
# 设置数据库类型 189行左右
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# 数据库名称 194行左右
oracle.install.db.config.starterdb.globalDBName=orcl
# SID名称  199行左右
oracle.install.db.config.starterdb.SID=orcl
# 指定管理内存大小(单位:M) 229行左右
oracle.install.db.config.starterdb.memoryLimit=512
# 设定所有数据库用户使用同一个密码 162行左右
oracle.install.db.config.starterdb.password.ALL=oracle
# 设置安全更新 400行左右 
DECLINE_SECURITY_UPDATES=true
  1. 切换目录:cd /data/database/

  2. 执行安装命令:./runInstaller -silent -force -responseFile /data/database/response/db_install.rsp -ignorePrereq

  3. 可选:新建一个ssh连接查看安装进度:tail -f /data/oracle/oraInventory/logs/installActions*

  4. 肯能会存在提示找不到文件或者没有文件夹 等几分钟就可以。显示这个是才可以使用tail命令
    在这里插入图片描述

  5. 安装成功效果
    在这里插入图片描述

  6. 按一下回车键

  7. 切换root账号:su root

  8. 执行脚本1: /data/oracle/oraInventory/orainstRoot.sh

  9. 执行脚本2:/data/oracle/product/11.2.0/db_1/root.sh

  10. 结果:
    在这里插入图片描述

设置oracle账号的环境变量

  1. 切换 oracle账号:su - oracle

  2. 编辑文件:vi ~/.bash_profile

  3. 编辑如下:

    # 在最后面追加文件内容
    export ORACLE_HOME=/data/oracle/product/11.2.0/db_1
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/local/bin
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
    export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
    export ORACLE_OWNER=oracle
    export SPFILE_PATH=$ORACLE_HOME/dbs
    export ORA_NLS10=$ORACLE_HOME/nls/data
    
  4. 文件生效:source ~/.bash_profile

配置监听

  1. 切换root账号:su root

  2. 编辑hosts文件:vi /etc/hosts

  3. 添加一行内容:127.0.0.1 server # 请把server 替换成你自己服务的名称 不然配置监听会报错
    在这里插入图片描述

  4. 切换 oracle账号:su oracle

  5. 切换目录:cd /data/oracle/product/11.2.0/db_1/bin

  6. 配置监听:./netca /silent /responseFile /data/database/response/netca.rsp

  7. 需要等待几分钟

  8. 成功界面:

  9. 查看监听:lsnrctl status

  10. 完成后默认会自动启动监听

  11. 关机重启后启动监听方法:lsnrctl start

创建数据库应答 dbca建库

  1. 修改配置文件:vi /data/database/response/dbca.rsp

  2. 修改如下:

    # 注意 是修改 不是替换文件
    # 服务名 78行左右
    GDBNAME="orcl" 
    # 170行左右
    SID="orcl"
    # 211行左右
    # 删除前面的#号
    SYSPASSWORD = "oracle" 
    # 221行左右
    # 删除前面的#号
    SYSTEMPASSWORD = "oracle" 
    #  418行左右 比较难找
    # 删除前面的#号
    CHARACTERSET="AL32UTF8" 
    #  428行左右 比较难找
    # 删除前面的#号
    NATIONALCHARACTERSET="UTF8"
    
  3. 执行安装命令:$ORACLE_HOME/bin/dbca -silent -responseFile /data/database/response/dbca.rsp

  4. 需要等几分钟

  5. 安装成功结果
    在这里插入图片描述

  6. 设置开机启动:vi /etc/oratab

  7. 修改最后一行 把“N”改成“Y”

  8. 结果:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P9BbBcVI-1608364523324)(C:\Users\chenzhen\AppData\Roaming\Typora\typora-user-images\image-20201218235650201.png)]

  9. 现在数据库已经可以通过外部工具连接访问了但是 sqlplus还不能访问数据、

启动数据库实例

  1. 登录数据库:sqlplus / as sysdba

  2. 启动实例:startup

  3. 启动成功
    在这里插入图片描述

  4. 一般都会报错 (* ̄︶ ̄)
    [

  5. 执行退出sqlplus命令:exit

  6. 复制文件:cp /data/oracle/admin/orcl/pfile/init.ora.* /data/oracle/product/11.2.0/db_1/dbs/initORCL.ora

  7. 注意复制的时候不能使用root账号 不然还是没有权限打开文件

  8. 再次执行 第一步和第二步

  9. 如果出现
    [

    1. 编辑配置文件:vi /etc/fstab
    2. 调整/dev/shm的大小如果有tmpfs开头的就进行修改 如果没有就新建一行:tmpfs /dev/shm tmpfs defaults,size=2G 0 0
    3. 让其生效:mount -o remount /dev/shm
    4. 再次重新执行第一步
  10. 如果出现
    在这里插入图片描述

    1. 执行退出 :exit

    2. 切换到root:su root

    3. 执行命令:ipcs -s

    4. 执行命令:ipcrm -s semid # 注意吧这里的semid换成你自己的
      在这里插入图片描述

    5. 验证:ipcs -m
      在这里插入图片描述

    6. 切换到 oracle账号:su - oracle

    7. 再次执行第一步开始

  11. 如果出现
    在这里插入图片描述

    1. 执行命令:shutdown

    2. 再次执行:startup

    3. 如果启动成功就可以了 不行在执行下面备选方案

    4. 执行退出 :exit

    5. 切换到root:su root

    6. 执行命令:ipcs -s
      在这里插入图片描述

    7. 执行命令:ipcrm -s semid # 注意吧这里的semid换成你自己的
      在这里插入图片描述

    8. 验证:ipcs -m
      在这里插入图片描述

    9. 切换到 oracle账号:su - oracle

    10. 再次执行第一步开始

解锁账号

  1. 登录sqlplus :sqlplus / as sysdba
  2. 解锁scott账号:alter user scott account unlock ;
  3. 设置密码:alter user scott identified by oracle;

开放端口

  1. 开发端口:firewall-cmd --zone=public --add-port=1521/tcp --permanent
  2. 重新加载:firewall-cmd --reload

电脑重启后启动数据库

  1. 切换到oracle账号: su - oracle
  2. 方式一:
    1. 启动数据库实例:dbstart $ORACLE_HOME
    2. 启动监听:lsnrctl start
  3. 方式二:
    1. 登录:sqlplus / as sysdba
    2. 启动数据库:startup
    3. 退出: exit
    4. 启动监听:lsnrctl start

1. 错误 ORA-12514

在这里插入图片描述

  1. 登录:sqlplus / as sysdba
  2. 启动数据库:startup
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值