centos7远程安装oracle11g R2详细教程-解决一切问题

时间:2022-09-03 23:53:50

相关链接与资源:
sqldevelper(各种操作系统的oracle客户端)
oracle11g r2下载地址:
centos7相关rpm包下载:
安装过程参考链接:
#centos7安装oracle11g R2
#linux安装oracle图文操作
#centos6安装oracle11g R2
#dbca建库图形化教程
#impdp和expdp使用说明
 
 
遇到的oracle报错以及解决方案:
ORA-01940: cannot drop a user that is currently connected
原因:user存在没有中断的任务
解决:
    1、等待,一般等会(几分钟)就ok了
    2、主动杀死任务:http://www.linuxidc.com/Linux/2012-12/76448.htm
          不过成功的几率不是太高
 
ORA-39171: Job is experiencing a resumable wait.
ORA-01688: unable to extend table IEVSP
原因:表空间不足,任务暂停
解决:
    1、直接增加表空间的存储文件了事。
命令:
alter tablespace TBS_IEVSP add datafile '/opt/oracle/oradata/gw/TBS_IEVSP02.dbf' size 30G;
相关命令:查询表空间大小
查询表大小:
select a.tablespace_name, total, free, total-free as used from
(select tablespace_name, sum(bytes)/1024/1024/1024 as total from dba_data_files group by tablespace_name) a,
(select tablespace_name, sum(bytes)/1024/1024/1024 as free from dba_free_space group by tablespace_name) b
where a.tablespace_name = b.tablespace_name;
相关链接:
#查询表空间大小
#扩展表空间方法
 
ORA-39070: Unable to open the log file
原因:创建目录上级目录属组与用户有问题。
解决:chown -R oracle:oinstall /path
 
下面描述一下整体过程以及遇到的问题和解决方法,用于记录,为以后工作提供参考。
 
起因:客户给了一批大约150G的数据,需要给建模工程师分析。
整体处理流程:
    1、查看用户提供数据格式为.dmp数据,是oracle导出的备份数据。
    2、数据为GBK格式,而平台只能接入UTF-8的oracle,可能需要转码
那么临时目标变为了:
    1、将数据导入某个现有的oracle数据库,有两个选择:
        aws的oracle数据库实例
        docker容器版本的oracle
    2、尝试对数据进行转码
 
第一阶段:数据导入:
    阶段目标是将数据导入oracle
尝试1:将数据导入docker的oracle容器。
 
    在这个阶段尝试启动了一个oralce容器,镜像名称是:rodrigozc/oracle11g
    相关启动命令可以在dockerhub上获取
阶段结果:失败
失败原因:由于oracle的镜像版本是xe,对表空间大小有限制,最高11G,失败!
 
尝试2:将数据导入aws的oracle服务实例
    
    启动了aws实例,并且经过各种尝试和学习oracle概念,连接成功,但是出现问题
阶段结果:失败
失败原因:用户数据的导出方式是expdp|impdp,这种方式只能将数据经由本地导入。
 
第二阶段:创建数据库
    
    第一步:环境准备
        1、尝试在aws官方的AMI上进行搭建,但是官方源不支持linux界面安装。
        2、尝试使用社区本的AMI进行搭建,进行了两次尝试(centos6)均失败,原因各有不同。
        3、最终选择之间安装docker的私有AMI centos7 进行安装
 
    第二步:oracle11g R2安装
        1、安装步骤参照上面的参考链接即可,有一些小坑但是问题不大。
        2、最大的问题可能在于display的设置以及vnc连接。
        3、还有就是oracle安装环境检查时提示缺少rpm,除了一个centos5存在的包需要版本号比较大之外,其他的忽略即可
 
第三阶段:数据导入
    
    第一步:创建表空间、索引空间、用户等。
        1、这里有一个大坑,表空间即便自动增长,最大也就32G(好像),这导致我重复导入多次,实际上只要简单的扩充表空间存储文件,任务就会继续,这个阶段至少浪费了三个小时。
 
以上问题基本上baidu都可以解决,重点是由于比较分散,坑需要一个一个的踩,比较浪费时间。
 
投入时间:全程投入了4天,数据库安装与导入用了两天,并且都小加班了一下。
简单的记录下来,用于以后的参考。
 
####################################################
以下是详细的环境准备与安装过程,其实上面才是重点
####################################################
标题:centos7 安装oracle11g r2
 
#替换yum源为163源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all
yum makecache
 
#安装需要的包
rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel
 
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers glibc-static kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel libstdc++-static make numactl-devel sysstat unixODBC unixODBC-devel
 
#创建用户和组
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle
 
#配置内核
# vi /etc/sysctl.conf
按照系统值对比添加:
 
#由于系统内存为119G,那么shmmax=118/2*1024*1024*1024 = 63350767616
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 63350767616
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
保存后生效命令:
# /sbin/sysctl -p
 
#创建安装目录
mkdir -p /opt/oracle/product/11.2.0.1
chown -R oracle:oinstall /opt/oracle
mkdir /var/oracle
chown oracle:oinstall  /var/oracle
chmod 755 /var/oracle
 
#设置环境变量
vi /etc/profile
增加下面行:
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
 
#修改oracle账户环境变量
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
umask 022
 
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
# 如果安装出现相关问题请屏蔽下面5行,
# 安装好后再取消屏蔽这些环境变量设置
export ORACLE_HOME=/opt/oracle/product/11.2.0.1
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=orcl
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
 
export LANG=AMERICAN_AMERICA.ZHS16GBK
unset USERNAME
 
echo ".bash_profile executed"
 
#修改进程和最大会话数-root下编辑
编辑文件:
# vi /etc/security/limits.conf
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
 
#关联设置
vi /etc/pam.d/login
-倒数第二行加入
session    required     pam_limits.so
 
#安装vnc server 以及 图形化界面
yum install tigervnc tigervnc-server libvncserver -y
 
yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts -y
 
yum -y groupinstall "X Window System"
 
#centos7安装图形化界面和vnc
 
#远程静默安装oracle
 
#执行安装脚本报错
Exception in thread "main" java.lang.NoClassDefFoundError
 
#最正确的安装步骤:
export DISPLAY=:1
xhost +
su - oracle
./runInstaller
 
使用vnc连接远程服务器安装oracle
 
#环境检查问题解决:
 
#创建大于16G的swap分区
dd if=/dev/zero of=/var/swap bs=1024 count=2048000
 
fallocate -l 17G /home/swapfile
 
chmod 600 /home/swapfile
mkswap swapfile
swapon swapfile
 
#pdksh包缺失:
rpm -e ksh-20120801-34.el7.x86_64
卸载ksh包,并安装pdksh包
 
 
#启动数据库监听服务
百度就ok 

centos7远程安装oracle11g R2详细教程-解决一切问题的更多相关文章

  1. Centos7下安装Oracle11g r2图形化界面数据库

    我的centos7是在VMware下安装的,安装Oracle安装了好久好久,最开始的时候在网上找的两个文章,按照步骤装,有一篇写着装的时候有灰色的竖线,直接按space键或者鼠标右键closed关闭掉 ...

  2. Centos7下安装Oracle11g r2

    我的centos7是在virtualbox下安装的,安装Oracle安装了好久好久,最开始的时候在网上找的两个文章,按照步骤装,有一篇写着装的时候有灰色的竖线,直接按space键或者鼠标右键close ...

  3. Win7 32位安装Oracle11g R2 图解示例

    Win7 32位操作系统安装Oracle11g R2 图解示例.废话不说了,直接上图. 1.下载的两个oracle 11gR2压缩包解压到单独的文件夹中. 2.找到解压的database文件夹中的Se ...

  4. Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程

    MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码.因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考. 升级准备 备份之前MySql目 ...

  5. Git下载安装及设置详细教程

    Git下载安装及设置详细教程 一.安装前准备   1. 廖雪峰老师Git教程 :推荐Git入门教程.  2. 按照自己的系统版本下载Git软件,我的操作系统:Windows7 64位,安装版本为Git ...

  6. CentOS7编译安装php7.1配置教程详解

    这篇文章主要介绍CentOS7编译安装php7.1的过程和配置详解,亲测 ,需要的朋友可以参考. 1.首先安装依赖包: yum install libxml2 libxml2-devel openss ...

  7. linux安装 Android Studio详细教程,支持性较差,需要安装最新底层库内核的linux

    安装 Android Studio详细教程 libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jdk1.8.0_25 android-st ...

  8. Anconda 3.7安装以及使用详细教程

    Anconda 3.7安装以及使用详细教程 2019-04-17    22:42:03 一.下载anconda 3.7 链接地址:官方地址 二.安装 双击下载好的Anaconda3-2019.03- ...

  9. Deepin系统手动安装oracle jdk8详细教程

    Deepin系统手动安装oracle jdk8详细教程 oracle官网下载jdk压缩包,使用 sudo tar -zxf jdk***解压文件,我放在在了home/diy/java/jdk路径下. ...

随机推荐

  1. SVN版本控制与分支设置

    使用SVN+Eclipse做软件版本控制. (2009年5月) 1,SVN目录结构 Trunk : 主干目录,此目录下的文件为基准文件 Branches : 用于开发的分支目录 Tags : 用于发布 ...

  2. 使用php来访问操作sql server

    使用php来访问操作sql server 在此分成三步走: 第一部:查看配置,下载文件 首先查看自己的php和sql server版本 Php文件输入echo PHP_VERSION  运行脚本就可以 ...

  3. 【Swoole应用教程】一、Swoole扩展的编译安装部署

    介绍swoole扩展,从源码的下载,环境依赖,编译参数配置,常见编译问题,安装,配置等内容.期间还会介绍: Linux发行版本的选择 不同版本内核的差异 gcc/g++/clang 3种编译器介绍 a ...

  4. Toast报错 android.content.res.Resources$NotFoundException

    Toast.makeText(getActivity(), String.valueOf(position), Toast.LENGTH_SHORT)                         ...

  5. hdoj 2203 亲和串

    亲和串 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. JAVA学习:方法

    方法是放在两个不同的java文件中,一个是指存储相应的业务逻辑, 另一个java文件是只控制 输入输出(也就是用户界面). Calc方法: /* * 方法 */ public class Calc { ...

  7. mybatis自我总结

    mybatis是一款优秀的持久层框架,它避免了JDBC代码.将SQL语句放在Java中以及结果集的处理.利于后期的维护.它将SQL语句放到XML文件中. mybatis有sqlsessionfacto ...

  8. JMeter 不同线程组间变量传递

    JMeter元件都是有作用域的,而变量大多使用正则表达式提取器,要想在不通过线程组件使用变量参数,则需要设置全部变量 JMeter函数助手就提供了一个函数用于设置全局变量属性,实现的功能类似于在用户自 ...

  9. GradleUserGuide中文版 19)Plugins 20)插件规范 21)Java插件

    https://blog.csdn.net/roymuste/article/details/51321881

  10. 为什么Firefox在SSH上这么慢?

    为什么Firefox在SSH上这么慢? Modified on: Fri, 13 Jul 2018 18:37:30 +0800 我尝试使用 通过SSH启动Firefox ssh -X user@ho ...