Centos7 安装Oracle12.1

Posted gengdadeshitou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7 安装Oracle12.1相关的知识,希望对你有一定的参考价值。

Centos7 安装Oracle12.1

 

0、下载Orcle12.1

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#12c 

 

1、上传文件到服务器或虚拟机的/root目录下

[root@oracle ~]#  rz y

技术图片

 

如果rz y命令不能使用,可用如下方法解决:

[root@oracle ~]# yum install lrzsz -y

 

 

2、解压文件到指定目录:

[root@oracle ~]#  mkdir  /software/

[root@oracle ~]#  unzip  linuxamd64_12102_database_1of2.zip   -d  /software/

[root@oracle ~]#  unzip  linuxamd64_12102_database_2of2.zip   -d  /software/

 

如果unzip命令不能使用,依次执行如下命令:

[root@oracle ~]# yum install zip  unzip  -y 

 

 

 

3、关闭selinux

[root@oracle ~]#  vim /etc/selinux/config

设置SELINUX=disabled

 

[root@oracle ~]# setenforce 0

 

 

4、关闭防火墙

 

查看系统版本:

[root@oracle ~]#  cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

 

[root@oracle ~]# getconf LONG_BIT

64

 

如果是6及以下:

[root@oracle ~]#  service iptables stop

[root@oracle ~]#  service iptables status

[root@oracle ~]#  chkconfig iptables off

 

如果是centenOS7

[root@oracle ~]#  systemctl restart firewalld.service

[root@oracle ~]#  systemctl disable firewalld.service

 

 

5、安装Oracle 11g依赖包

[root@oracle ~]#  yum install gcc make binutils gcc-c++ compat-libstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel  -y

 

 

6、添加安装用户和用户组

[root@oracle ~]#  groupadd oinstall

[root@oracle ~]#  groupadd dba

[root@oracle ~]#  useradd -g oinstall -G dba oracle

 

[root@oracle ~]#  passwd oracle

New password:  ##第一次输入密码

Retype new password:  ##再次输入密码

 

 

 

[root@oracle ~]#  id oracles  ## 验证Oracle 用户信息

uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

 

 

 

7、修改内核参数配置文件

[root@oracle ~]#  vim /etc/sysctl.conf

在末尾添加以下内容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1073741824

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

 

[root@oracle ~]#  sysctl -p   ## 查看是否成功写进/etc/sysctl.conf文件中

注:其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte

 

 

 

8、修改用户的限制文件

8.1修改/etc/security/limits.conf文件:

[root@oracle ~]#  vim /etc/security/limits.conf

在末尾添加以下内容:

oracle           soft    nproc           2047

oracle           hard    nproc           16384

oracle           soft    nofile          1024

oracle           hard    nofile         65536

oracle           soft    stack           10240

 

8.2修改/etc/pam.d/login文件:

[root@myYUn software]# vim /etc/pam.d/login

在末尾添加以下内容:

session required  /lib64/security/pam_limits.so

session required   pam_limits.so

 

 

8.3修改/etc/profile文件:

[root@ myYUn software]# vim /etc/profile

在末尾添加以下内容:

#oracle配置

if [ $USER = "oracle" ]; then

  if [ $SHELL = "/bin/ksh" ]; then

      ulimit -p 16384 

      ulimit -n 65536

  else

      ulimit -u 16384 -n 65536

  fi

fi 

 

 

9、创建安装目录和设置文件权限

[root@oracle ~]#  mkdir -p /data/oracle/product/12.1.0

[root@oracle ~]#  mkdir /data/oracle/oradata

[root@oracle ~]#  mkdir /data/oracle/inventory

[root@oracle ~]#  mkdir /data/oracle/fast_recovery_area

[root@oracle ~]#  chown -R oracle:oinstall /data/oracle

[root@oracle ~]#  chown -R oracle:oinstall  /software

[root@oracle ~]#  chmod -R 775 /data/oracle

 

 

10、设置oracle用户环境变量

首先切换到oracle用户下:

[root@oracle ~]# su -l oracle

[oracle@oracle ~]$  vim .bash_profile

在末尾添加如下内容:

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/12.1.0

ORACLE_SID=orcl

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

注意:标红处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。

 

[oracle@oracle ~]$ source .bash_profile

 

 

 

11、编辑静默安装响应文件

复制安装文件夹response到当前oracle用户的家目录下:

[oracle@oracle ~]$  cp -R /software/database/response/ .

[oracle@oracle ~]$  cd response/

[oracle@oracle response]$ vim db_install.rsp

需要设置的选项如下:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=CentOS

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/12.1.0

ORACLE_BASE=/data/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba 

oracle.install.db.OPER_GROUP=dba

oracle.install.db.BACKUPDBA_GROUP=dba

oracle.install.db.DGDBA_GROUP=dba

oracle.install.db.KMDBA_GROUP=dba

DECLINE_SECURITY_UPDATES=true

 

 

12、根据响应文件静默安装Oracle12g

[oracle@oracle response]$ cd /software/database/

[oracle@oracle database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

注:如果执行以上命令出错,会提示有参数格式,按照提示参数格式修改修改即可,一般是由于word中的字体、符号格式复制到客户端命令行后不一致引起,修改即可。

 

如果遇到了交换空间不足的问题,解决方案如下(在root用户下执行):

[root@oracle ~]#  dd if=/dev/zero of=swapfile bs=1024 count=500000

500000+0 records in

500000+0 records out 

512000000 bytes (512 MB) copied, 1.67013 s, 307 MB/s

 

[root@oracle ~]#  mkswap swapfile

Setting up swapspace version 1, size = 499996 KiB 

no label, UUID=c5e355eb-e73e-4aa0-b882-cb6d1f88e6bc

 

[root@oracle ~]#  swapon swapfile

swapon: /swapfile: insecure permissions 0644, 0600 suggested.

 

开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现Successfully Setup Software,则安装程序已经停止了。

 

可以新开终端在以下位置找到本次安装会话的日志:

/data/oracle/inventory/logs/installActions2020-07-24_09-55-08AM.log

 

可以切换终端执行top命令查看后台进程一直是在安装的,/data目录也在不断增大,

当出现以下提示时,代表安装成功:

技术图片

 

按照要求执行脚本。

打开终端,退出到root身份登录,执行脚本:

 

[oracle@oracle database]$  exit

logout

 

[root@oracle ~]#   /data/oracle/inventory/orainstRoot.sh

Changing permissions of /data/oracle/inventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /data/oracle/inventory to oinstall.

The execution of the script is complete.

 

[root@oracle ~]#   /data/oracle/product/11.2.0/root.sh

Check /data/oracle/product/11.2.0/install/root_oracle_2020-07-24_09-58-50.log for the output of root script

 

 

13、以静默方式配置监听

重新使用oracle用户登录:

[root@oracle ~]#  su -l oracle

 

[oracle@oracle ~]$   netca /silent /responseFile /home/oracle/response/netca.rsp

技术图片

注意此处,必须使用/silent /responseFile格式,而不是-silent -responseFile,因为是静默安装。

成功运行后,在/data/oracle/product/12.1.0/network/admin中生成listener.orasqlnet.ora

 

通过netstat命令可以查看1521端口正在监听。

[root@oracle ~]#   netstat -tnulp |grep  :1521

tcp6       0      0 :::1521           :::*         LISTEN      26541/tnslsnr

 

如果命令 执行失败,,Yum安装netstat软件,软件包是在net-tools中。

[root@oracle ~]#   yum install net-tools

 

 

14、以静默方式建立新库,同时也建立一个对应的实例

[oracle@oracle ~]$  vim /home/oracle/response/dbca.rsp

修改文件中以下参数:

 

[GENERAL]

# oracle版本,不能更改

RESPONSEFILE_VERSION = "12.1.0"

  

# Description   : Type of operation

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]

# Description   : Global database name of the database

# 全局数据库的名字=SID+主机域名

# 第三方工具链接数据库的时候使用的service名称

GDBNAME = "orcl.test"

 

# Description   : System identifier (SID) of the database

# 对应的实例名字

SID = "orcl"

 

# Description   : Name of the template

# 建库用的模板文件

TEMPLATENAME = "General_Purpose.dbc"

 

# Description   : Password for SYS user

# SYS管理员密码

SYSPASSWORD = "123456"

 

# Description   : Password for SYSTEM user

# SYSTEM管理员密码

SYSTEMPASSWORD = "123456"

 

# Description   : Password for SYSMAN user

# SYSMAN管理员密码

SYSMANPASSWORD = "123456"

  

# Description   : Password for DBSNMP user

# DBSNMP管理员密码

DBSNMPPASSWORD = "123456"

 

# Description   : Location of the data file‘s

# 数据文件存放目录

DATAFILEDESTINATION =/data/oracle/oradata

 

# Description   : Location of the data file‘s

# 恢复数据存放目录

RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

 

# Description   : Character set of the database

# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。

# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")

CHARACTERSET = "ZHS16GBK"

 

# Description   : total memory in MB to allocate to Oracle

# oracle内存1638MB,物理内存2G*80%

TOTALMEMORY = "1638" 

 

 

进行静默配置:

[oracle@oracle ~]$  dbca -silent -responseFile /home/oracle/response/dbca.rsp

技术图片

 

建库后进行实例进程检查:

[oracle@oracle ~]$  ps -ef | grep ora_ | grep -v grep

 

查看监听状态:

[oracle@oracle ~]$  lsnrctl status

技术图片

 

 

数据库创建完成。

有关详细信息, 请查看以下位置的日志文件: /data/oracle/cfgtoollogs/dbca/orcl/orcl.lo

数据库信息:

全局数据库名:orcl.test

系统标识符 (SID):orcl

 

登录查看实例状态:

[oracle@oracle ~]$  sqlplus / as sysdba

SQL> select status from v$instance;

技术图片

 

15成功安装oracle后,创建一个登录账户

 

15.1、切换到oracle用户下

[oracle@oracle ~]$ su -l oracle

 

15.2、使用sysdba账户登录:

[oracle@oracle ~]$  sqlplus / as sysdba

 

15.3、创建用户

语法:CREATE USER 用户名 IDENTIFIED BY 密码;

SQL> CREATE  USER mmzsit IDENTIFIED BY mmzsit;

 

15.4、将刚创建的用户解锁/锁住

语法:ALTER USER 用户名 ACCOUNT UNLOCK/LOCK

SQL>  alter user mmzsit account unlock;   //用户解锁

SQL>  alter user mmzsit account lock;     //用户锁住

 

15.5、授予新登陆的用户创建权限:

语法:CRANT CREATE SESSION TO 用户名

SQL> grant create session to mmzsit;

 

15.6、授予新创建的用户数据库管理员权限

语法:CRANT DBA TO 用户名;

SQL> grant dba to mmzsit;

 

15.7、切换到新创建的用户登陆

语法:CONNECT 用户名/密码

SQL>  connect mmzsit/mmzsit;

 

15.8、删除用户

语法:DROP USER 用户名

SQL>  drop user mmzsit

 

以上是关于Centos7 安装Oracle12.1的主要内容,如果未能解决你的问题,请参考以下文章

plsql developer v12.1的使用

Centos7 Minimal安装Oracle 11gR2

12.2 asmca fails with ‘ORA-00845‘

sh 在MacOSX上安装Oracle即时客户端(sqlplus)v12.1

ORACLE 导入的问题

oracle 12.1的删除和创建公共用户问题