当前位置: 首页 > news >正文

Centos7安装Oracle12c

CentOS7@VMware12,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB

centos7.4  (1708) 用KDE的界面。

Oracle12C 官网下的64Linux版,文件名叫osso_login,是个压缩包。3.2G

过程纪要:

  1. root身份安装依赖包:  
    yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

     

  2. 用Root账号登录,运行下面指令,创建所需要用户和用户组,分组原因参考网址
    groupadd oinstall             #创建用户组oinstall
    groupadd dba                   #创建用户组dba
    useradd -g oinstall -g dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -g dba -m oracle  

    groups oralce #看oracle用户属于哪个分组。  usermod -a -G oinstall oracle  #-a 的作用是保持oracle用户当前所在分组,同时将该用户加入到oinstall用户组中去。

#    passwd oracle              #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
#    id oracle                          #查看新建的oracle用户

3、创建oracle数据库安装目录(运行下面指令,创建账号和分配权限)

 mkdir -p /data/oracle  #oracle数据库安装目录 -p是确保目标目录“oracle”的父目录“data”也一并建立(存在)。
 mkdir -p /data/oraInventory  #oracle数据库配置文件目录
 mkdir -p /data/database  #oracle数据库软件包解压目录,把那个osso_login解压到这里。
 mkdir -p /data/oracle
 mkdir -p /data/oraInventory
 mkdir -p /data/database

 ls -al #看看这些个新建的目录的属性吧。参考。参考2。接下来把这些文件夹的所有权赋予刚刚建立的那个oracle用户。

chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database

4、关闭防火墙和selinux,具体操作可参考博客

 5、修改etc\sysctl.conf文件,添加下列语句:

fs.aio-max-nr = 1048576  
fs.file-max = 6815744  
kernel.shmall = 2097152  
kernel.shmmax = 4098955264
kernel.shmmni = 4096  
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  
net.core.wmem_max = 1048576

改好后,使之立即生效

sysctl -p

6、改文件限制:/etc/security/limits.conf,添加:

oracle soft nproc 2047  
oracle hard nproc 16384  
oracle soft nofile 1024  
oracle hard nofile 65536  
oracle soft stack 10240

注意:修改此文件是即时生效的,但可能要重登录后再看

以及vi /etc/pam.d/login,添加:

session required pam_limits.so

修改ulimit:vi /etc/profile,添加:

if [ $USER = "oracle" ]; then  
if [ $SHELL = "/bin/ksh" ]; then  
ulimit -p 16384  
ulimit -n 65536a  
else  
ulimit -u 16384 -n 65536  
fi  
fi

修改环境变量。vi ~oracle/.bash_profile,添加红色的部分:自此之后是进入oracle用户进行操作的。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs
ORACLE_BASE=/data/oracle  
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1  
ORACLE_SID=orac  
export ORACLE_BASE ORACLE_HOME ORACLE_SID  
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
#export LANG=c #防止安装过程出现乱码.#我是加了反而乱了,调整了好久才弄好。等乱了再通过控制台命令行修改也不迟。zh_CN.UTF-8因为我的centos7.4用户环境编码是这个。
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致。注意我们的【简体中文】英语表达有空格,所以必须要加双引号。

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

 7、进入/data/database。。。。。。深处。找到并运行./runInstaller 进入图形安装界面就简单了。直至完成安装。

8、开启控制台命令行。先启动数据库实例,再启动监听器。sid会自动设置,不必去调整tns.ora,listerner.ora等。

lsnrctl status #查看监听及数据库状态

lsnrctl start   #启动监听。

如果需要调整配置的话,打开监听配置程序。

netca

 如果需要配置数据库的话,使用下列命令:

xhost +
dbca

 

sqlplus / as sysdba #以 DBA 身份进入 sqlplus

SQL>startup  #开启数据库实例。

SQL>SHUTDOWN IMMEDIATE #关闭 db

SQL>exit #退出。

9、检查服务器和客户端的NLS_LANG是否一致。客户端的(在环境变量里)要向服务器看齐。

为了让低版本的oracle客户端连接服务端。在服务端的sqlnet.ora文件里要加上下面这句话。否则,我的instantclient11.2都连不上这个12c。

SQLNET.ALLOWED_LOGON_VERSION=8

回root,把防火墙的1521打开。

转载于:https://www.cnblogs.com/shuicaitian/p/8486051.html

相关文章:

  • C#下载文件,Stream 和 byte[] 之间的转换
  • 机器学习十一-特征选择与稀疏学习
  • LoadRunner11录制时不能弹出IE浏览器
  • Swift4.0复习访问控制与作用域
  • nginx代理PHP获取IP 的问题
  • git-命令使用
  • C#解析Json
  • Integer值判断是否相等问题
  • EntityFramework Core 2.0 Explicitly Compiled Query(显式编译查询)
  • C语言数组的概念
  • shell中获取当前目录
  • kali使用Fluxion钓鱼WiFi
  • python url中文转码
  • 【网摘】将图片地址直接 转为 base64
  • Git Submodule使用完整教程
  • [译]CSS 居中(Center)方法大合集
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 08.Android之View事件问题
  • canvas 绘制双线技巧
  • CentOS7 安装JDK
  • Git初体验
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript设计模式系列一:工厂模式
  • Koa2 之文件上传下载
  • passportjs 源码分析
  • scala基础语法(二)
  • Sublime Text 2/3 绑定Eclipse快捷键
  • TypeScript实现数据结构(一)栈,队列,链表
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Vue组件定义
  • 阿里云Kubernetes容器服务上体验Knative
  • 二维平面内的碰撞检测【一】
  • 高度不固定时垂直居中
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 跨域
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 什么是Javascript函数节流?
  • 使用putty远程连接linux
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 用Python写一份独特的元宵节祝福
  • k8s使用glusterfs实现动态持久化存储
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​LeetCode解法汇总518. 零钱兑换 II
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)(1.9) MSP (version 4.2)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (第27天)Oracle 数据泵转换分区表
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (原)Matlab的svmtrain和svmclassify
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)树状数组