Linux下安装Oracle12c图形化及静默两种方法安装操作手册

首先确定服务器硬件条件
内存:大于2G 命令(free -g)
磁盘空间:100G 命令(df -h)
共享空间:大于等于2G 命令(df -h)
内核版本:64位 命令(uname -m)
注意:图形化安装,必须Linux系统安装了图形化
从官网下载oracel12c
https://www.oracle.com/cn/downloads/
在这里插入图片描述

方法一:图形化安装

参考视频https://study.163.com/course/courseMain.htm?courseId=1006460023
第一步:配置网卡
cd /etc/sysconfig/network-scripts 进入网卡路径,找到对应的网卡
vi ifcfg-ens33 编辑网卡
在这里插入图片描述
重启网卡:systemctl restart network
第二步:设置主机名
1、hostnamectl set-hostname db12c.uplooking.com (红色名字自定义)
2、主机名和IP地址做映射关系,写在hosts里面 vi /etc/hosts
在这里插入图片描述
第三步:关闭防火墙
Linux关闭防火墙命令

1) centos6永久性生效,重启后不会复原
查看防火墙状态 chkconfig iptables --list

开启:chkconfig iptables on
关闭:chkconfig iptables off

2) centos6即时生效,重启后复原
查看状态 service iptables status

开启:service iptables start
关闭:service iptables stop

3)centos7关闭防火墙
查看防火墙状态 firewall-cmd --state

systemctl stop firewalld
systemctl disable firewalld

4)在开启了防火墙时,做如下设置,开启相关端口,
centos6修改/etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

centos7防火墙开放8161和61616端口,命令如下:

firewall-cmd --zone=public --add-port=8161/tcp --permanent
firewall-cmd --zone=public --add-port=61616/tcp --permanent

重启防火墙

firewall-cmd --reload

第四步:修改selinux,关闭disabled
1、vi /etc/sysconfig/selinux 永久关闭
在这里插入图片描述
2、setenforce 0 临时关闭 (查看状态sestatus
第五步:创建数据库用户组及用户
创建组:

groupadd -g 1010 oinstall (1010为gid号区分集群时候名字,id不一样区分)

groupadd -g 1100 dba
groupadd -g 1200 oper
groupadd -g 1300 backupdba
groupadd -g 1400 dgdba
groupadd -g 1500 kmdba

建立组后,想修改的话,可以再文件在 vi /etc/group 下修改

添加用户:

useradd -u 777 -g oinstall -G dba,oper,backupdba,dgdba,kmdba oracle

id oracle (查看建立好的用户)

第六步:配置oracel环境变量
1、vi /home/oracle/.bash_profile

export TMP=/tmp
export TMPDIR=$TMP
export DISPLAY=:0.0  (其中这一步是为了后期oracle用户调出图形化界面)
export ORACLE_SID=updb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_home1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64
export PATH=$ORACLE_HOME/bin:$PATH

在这里插入图片描述
切换到oracel用户 su – oracle
检查配置信息 echo $ORACLE_HOME

2、创建目录信息

mkdir /u01/app/oracle -pv
chown oracle.oinstall /u01/app -R
chmod 775 /u01/app -R

查看修改后的目录权限及赋予的用户

ls –ld /u01/app

在这里插入图片描述
第七步:安装Oracle
unzip ORACLE_LINUX_86x64_121010.zip -d /usr/local/src 解压安装文件指定到某个目录
授权普通用户使用桌面权限,切换到oracel用户,并且启动OUI

xhost +
su – oracle
cd /usr/local/src/database/

在这里插入图片描述
第八步:图形化安装(前提Linux下安装了图形化界面)
1、邮箱和更新账号可以不写
在这里插入图片描述
2、先仅安装数据库,建库后面再安装在这里插入图片描述
3、安装什么类型的数据库 单实例,rac结构,one node rac结构
在这里插入图片描述
4、选择那个版本的,企业版,标准版
在这里插入图片描述
5、默认安装路径,这里是自动显示的,前提你之前环境变量配置好了自动显示,如果没有显示可以先写后再建立好目录 在这里插入图片描述
6、默认inventory,用于更新oracel。默认组oinstalll在这里插入图片描述
7、自动默认所有组
在这里插入图片描述
8、环境监测,会提示那些不满足要求在这里插入图片描述
9、运行Fix&Check Again,会弹出操作方法,意思就是打开终端,root用户下运行
funfixup.sh文件
在这里插入图片描述
在这里插入图片描述
10、现在limit.conf下还是报错,可以去终端查看下,如果已经修改为1024,直接忽略
在这里插入图片描述
目前已修改成1024,但还是提示可以忽略,不修复

vi /etc/security/limits.conf

在这里插入图片描述
11、下面就是缺少依赖包了
确少本地依赖包,需要配置本地yum源,首先需要挂在完整的系统镜像。

1、在没有网络情况下:

cd /etc/yum.repos.d
yum-config-manger --add-repo file:///mnt

在这里插入图片描述
打开mnt文件,设置不验证参数

gpgcheck=0

在这里插入图片描述
然后把系统自带的yum网络源,给注释,备份,压缩 都行,就是不让他运行
在这里插入图片描述
yum clean all clean清楚下

下面就可以安装确少的依赖包
在这里插入图片描述
2、在有网络情况下:
#若执行一遍失败则执行第二遍

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutilslibelf-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 unixODBCdevel*.i686 libXp

12、全部修改完后,还剩limit可以忽略
在这里插入图片描述
13、这里保存响应文件,用途是可以静默安装时候使用(也可以不保存)
在这里插入图片描述
14、下面就是install,进行安装,等待一段时候后需要执行两个脚本
在这里插入图片描述
第九步:配置监听
1、 在oracel用户下使用netca命令,图形化进行配置监听
在这里插入图片描述
第十步:创建数据库
1、 在oracel用户下使用dbca命令创建数据库,选择高级配置
在这里插入图片描述
2、 使用单实例,通用模板
在这里插入图片描述
3、 设置数据库名字及sid,还有创建容器数据库(此为12c特点)
在这里插入图片描述
在这里插入图片描述
4、这里Enable archiving是开启归档意思(根据需要是否开启)
在这里插入图片描述
5、监听环节上面已经建立过了(没有的话需要建立)在这里插入图片描述
6、默认不需要配置,这一步
在这里插入图片描述
7、下面调整内存,进程,字符集,链接模式(dedicated独占模式)样例数据库
在这里插入图片描述8、创建密码,及创建数据库,路径不用选
在这里插入图片描述
9、同样的保存响应文件,为静默安装使用(可选)
在这里插入图片描述
10、安装完成
在这里插入图片描述

方法二:静默安装

静默安装从上述,执行到第六步后继续执行下面步骤:
修改内核参数

1、编辑配置文件sysctl.conf后面添加如下内容

vi /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967296
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 立即生效

2、修改配置文件limits.conf 在文件末尾添加以下内容

vi  /etc/security/limits.conf

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

在这里插入图片描述
3、修改 /etc/pam.d/login 添加以下内容

vi  /etc/pam.d/login

session required /lib64/security/pam_limits.so
session required pam_limits.so

在这里插入图片描述
4、修改/etc/profile 添加以下内容

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

使配置文件生效

source /etc/profile

5、静默安装文件配置
文件夹中有案例文件可以直接使用不过里面配置及路径需要自定义修改,当然你创建目录时候一直可以不修改
1.返回oracle用户

su - oracle

#编辑 /usr/local/src/database/response/db_install.rsp

vi /usr/local/src/database/response/db_install.rsp

#文件内容修改—一般主要就这些

oracle.install.option=INSTALL_DB_SWONLY   // 安装类型

UNIX_GROUP_NAME=oinstall    // 安装组

INVENTORY_LOCATION=/u01/app/oraInventory   //INVENTORY目录(不填就是默认值)

ORACLE_HOME=/u01/app/oracle/product/12/db_1 

ORACLE_BASE=/u01/app/oracle

oracle.install.db.InstallEdition=EE     // 企业版本

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=oinstall

oracle.install.db.OSBACKUPDBA_GROUP=oinstall

oracle.install.db.OSDGDBA_GROUP=oinstall

oracle.install.db.OSKMDBA_GROUP=oinstall

oracle.install.db.OSRACDBA_GROUP=oinstall

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE  //数据库类型

oracle.install.db.config.starterdb.globalDBName=orcl

oracle.install.db.config.starterdb.SID=orcl

oracle.install.db.config.starterdb.memoryLimit=81920   //自动管理内存的内存(M)

oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

DECLINE_SECURITY_UPDATES=true

开始安装

(1)执行文件db_install.rsp

切换到database文件夹下

./runInstaller -silent -responseFile /usr/local/src/database/response/db_install.rsp

成功案例:在这里插入图片描述
失败案例,是因为上面依赖包安装缺少,可以执行下面命令解决
在这里插入图片描述
解决办法:
在radhat 或者centos系统中运行一下命令即可:

yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64

6、安装成功后需要执行两个文件
#执行下方命令

su - root
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12.2.0/db_home1/root.sh

在这里插入图片描述
7、配置监听

netca /silent /responsefile  /usr/local/src/database/response/netca.rsp

#启动监听

 lsnrctl start

在这里插入图片描述
8、静默建库配置文件修改

vi  /usr/local/src/database/response/dbca.rsp

#文件内容

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=orclpdb
templateName=/u01/app/oracle/product/12/db_1/assistants/dbca/templates/General_Purpose.dbc
emExpressPort=5500
omsPort=0
characterSet=AL32UTF8
listeners=LISTENER
memoryPercentage=40
automaticMemoryManagement=false
totalMemory=0

执行静默建库

 dbca -silent -createDatabase  -responseFile /usr/local/src/database/response/dbca.rsp

在这里插入图片描述
9、数据库安装成功
创建oracle 用户

$ sqlplus / as sysdba
create user 用户名 identified by 口令[即密码];
grant connect, resource,dba to 用户名;

10、数据库基本操作
查oracle版本

select * from product_component_version;

连接数据库服务器
(1)启动服务器端监听器与数据库服务
Linux/Unix下,

    启动监听器: $ lsnrctl start                     
    关闭监听器: $ lsnrctl stop
    查看监听状态 $ lsnrctl status

(2)单独启动数据库实例

oradim -startup -sid orcl

(3)启动oracle数据库步骤:
首先使用oracle用户登录Linux,执行(su - oracle)然后在shell命令行中执行下面的命令:
首先用oracle用户进入 su - oracle
第一步:打开Oracle监听
$ lsnrctl start
第二步:进入sqlplus
$ sqlplus /nolog
SQL>
第三步:使用sysdab角色登录sqlplus
SQL> conn /as sysdba
第四步:启动数据库
SQL> startup
经过上面的四个步骤,oracle数据库就可以启动了。
关闭数据库用 shutdown 是要等待事物结束才关闭。

正常关闭 shutdown normal
立即关闭 shutdown immediate
强制关闭 shutdown abort

ORACLE导出语句

1.排除相关表

expdp jcms/hanweb file=/data/dmpbak/jother20190719.dmp log=/data/dmpbak/jother20190719.log schemas=jcms exclude=table:“in(‘JCMS_21’,‘GZ_BSRY’)” ,exclude=TABLE:“LIKE ‘JCMS_MODALOBJECTUNIT_%’”, exclude=TABLE:“LIKE ‘%_SEARCHINFO_20181218’” , exclude=TABLE:“LIKE ‘%_SEARCHINFO’” version=11.2.0.4.0 full =n

2.导出指定表
expdp jcms/hanweb file=/data/dmpbak/JCMS_21_20190713.dmp log=/data/dmpbak/jcms_21_20190713.log tables=JCMS_21 version=11.2.0.4.0 full =n
3.只是导出特定对象
expdp jcms/hanweb file=/data/dmpbak/jotherB20190719.dmp log=/data/dmpbak/jotherB20190719.log schemas=jcms INCLUDE=TABLE:“LIKE ‘JCMS_WEB%_SEARCHINFO’” version=11.2.0.1.0 full =n
4.导入
impdp jcms/jcms file=/data/dmpbak/jcms21_0724.dmp log=/data/db/oracle/jcms21_0724.log full=y
5.带条件导出指定表的内容
expdp jcms/hanweb file=/data/dmpbak/jcms21_0724.dmp log=/data/dmpbak/jcms21_0724.log tables=JCMS_21 QUERY=‘JCMS_21:“where I_WEBID = 1 and where I_WEBID = 2”’ full =n
6.指定表空间 用户导入
impdp jcms/jcms remap_schema=jcms:jcms remap_tablespace=USERS:jcms dumpfile=jcms21_0724.dmp directory=dump_dir logfile=jcms21_0724.log version=11.2.0.1.0

安装jdk

首先需要卸载系统自带的openjdk

1、输入以下命令,查看已有的openjdk版本

rpm -qa|grep jdk

在这里插入图片描述
2、输入以下命令将openjdk卸载

yum -y remove copy-jdk-configs-3.3-10.el7_5.noarch

3、卸载掉所有通过rpm -qa|grep jdk命令输出的openjdk文件,卸载完成之后java相关的命令都不可使用(如:java ,java -version,javac等)
安装需要的JDK
放到你需要的目录下,解压jdk unzip jdk1.8.0_211.zip
在这里插入图片描述
然后配置环境变量 vi /etc/profile

# set Java Environment
JAVA_HOME=/usr/local/src/jdk1.8.0_211
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH

在这里插入图片描述
使用文件生效 source /etc/profile
赋予权限chmod 777 /usr/local/src/jdk1.8.0_211 -R
查看jdk安装信息 java -version

常见问题

navicat远程数据库遇到的问题及解决方案
一般数据库是安在远程服务器上,然后用本机的管理软件去连接,此时需要配置一下
在oracle用户下,打开并编辑listener.ora文件(一般在安装目录下)

$vim /database/oracle/oracle/product/12/db_1/network/admin/listener.ora

然后将其中的HOST改为服务器的IP(这里为了保留之前的配置所以直接在文件后面复制了上面的配置然后作修改)
在这里插入图片描述
保存退出
打开并编辑tnsnames.ora文件

$vim /database/oracle/oracle/product/12/db_1/network/admin/tnsnames.ora

跟上面操作一样,将HOST改为服务器的IP
在这里插入图片描述
保存退出
然后重启数据库实例和数据库监听,此时可以用navicat来连接数据库了
可能会遇到的错误:
1、
ORA-12170:TNS:连接超时
检查步骤及解决方法:
(1)从本机ping服务器IP是否能ping通
(2)使用tnsping或者telnet测试端口是否通畅
(3)服务器防火墙是否已关闭
(4)服务器selinux是否已关闭
(5)数据库监听是否开启
(6)如果是用PL/SQL的话,tns配置中,host是否为服务器的IP
2、
ORA-28040:No matching authentication protocol
错误原因是因为navicat的oci.dll版本不匹配,通常是因为版本过低,即低版本的oci.dll连接高版本的数据
根据下面步骤查看oci.dll的版本
在这里插入图片描述
在这里插入图片描述
可看到这个版本是10_2,需要上官网找到最新的版本(截至到本篇文章的日期,最新版本是18_5)
地址:https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index-4369172.html
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载好后解压,并找到以下三个文件,然后替换掉原来版本的三个文件然后重启navicat即可(10_2跟18_5的有两个文件文件名会有点不同)
在这里插入图片描述

  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值