Oracle 19C学习 - 00a. Oracle12C的安装

1. 安装Cent OS 7。

虚拟机硬件配置:

CPU 2核心

内存 8G

磁盘 80G

 

安装过程中:

采用LVM虚拟磁盘。 

/boot 500M

swap空间 8G

/  剩余所有空间。

 

网络:NAT方式, 静态IP地址,地址为 192.168.x.50。

主机名: oracle12

 

用户:

新建普通用户leo。

更改root密码。

 

远程工具: MobaxTerm ssh远程连接。

 安装Cent OS 7以后,使用普通用户leo登录经过MobaxTerm登录到Cent OS 7。

2.  设置hosts。

sudo vi /etc/hosts

#添加 
192.168.35.50 oracle12
#保存退出

#ping oracle12 测试是否正常

[leo@oracle12 ~]$ ping oracle12
PING oracle12 (192.168.35.50) 56(84) bytes of data.
64 bytes from oracle12 (192.168.35.50): icmp_seq=1 ttl=64 time=0.058 ms
64 bytes from oracle12 (192.168.35.50): icmp_seq=2 ttl=64 time=0.233 ms

#ping的结果可以看到已经hosts已经设置成功

  

3. 关闭防火墙

# 停止防火墙
sudo systemctl stop firewalld.service

# 禁用防火墙,避免随即启动
sudo systemctl disable firewalld.service

 

4. 关闭SELinux

sudo sed -i "s#enforcing#disabled#" /etc/selinux/config

  

5. 虚拟机的光驱挂载Cent OS光盘镜像, 复制光盘的Package目录的文件到/yums。

[leo@oracle12 /]$ sudo mount /dev/sr0 /mnt
[leo@oracle12 /]$ sudo mkdir /yums
[leo@oracle12 /]$ su 
[leo@oracle12 /]$ cp /mnt/Packages/* /yums

 

6. 创建本地Yum源

#添加创建本地Yum源的工具

[root@oracle12 yums]# cd /yums
[root@oracle12 yums]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
[root@oracle12 yums]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
[root@oracle12 yums]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

#创建本地yum源
[root@oracle12 yums]# createrepo .


#修改Yum源的配置
[root@oracle12 yums]# cd /etc/yum.repos.d/
[root@oracle12 yum.repos.d]# rm -f *.repo
[root@oracle12 yum.repos.d]# vi yum-loal.repo

#添加以下内容:
[local]
name=local yum
baseurl=file:///yums
gpgcheck=0  
enabled=1  

#生成yum配置
[root@oracle12 yum.repos.d]# yum clean all

 

7. 安装oracle先决条件包

yum install -y bc
yum install -y compat-libcap1*
yum install -y compat-libcap*
yum install -y binutils 
yum install -y compat-libstdc++-33 
yum install -y elfutils-libelf 
yum install -y elfutils-libelf-devel 
yum install -y gcc 
yum install -y gcc-c++ 
yum install -y glibc-2.5 
yum install -y glibc-common 
yum install -y glibc-devel 
yum install -y glibc-headers 
yum install -y ksh libaio 
yum install -y libaio-devel 
yum install -y libgcc 
yum install -y libstdc++ 
yum install -y libstdc++-devel 
yum install -y make 
yum install -y sysstat 
yum install -y unixODBC 
yum install -y unixODBC-devel
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install -y libXp*
yum install -y glibc-kernheaders
yum install -y net-tools-*

8. 修改Linux内核。

vi /etc/sysctl.conf


#添加下面内容

kernel.shmmax = 277495689510912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.file-max = 6815744
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 1
#net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_probes = 6
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_timestamps = 0
fs.aio-max-nr = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2

#wq保存退出
#sysctl -p 使参数生效

sysctl -p

linux kernel.shmall kernel.shmmax 内核参数详解_ORA_无花果的博客-CSDN博客

 可以使用 ipcs -l 看结果。ipcs -u 可以看到实际使用的情况。

[root@oracle12 ~]# ipcs -l

------ Messages Limits --------
max queues system wide = 32000
max size of message (bytes) = 8192
default max size of queue (bytes) = 16384

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 3145728
max total shared memory (kbytes) = 3145728
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 128
max semaphores per array = 250
max semaphores system wide = 32000
max ops per semop call = 100
semaphore max value = 32767

[root@oracle12 ~]# ipcs -u

------ Messages Status --------
allocated queues = 0
used headers = 0
used space = 0 bytes

------ Shared Memory Status --------
segments allocated 2
pages allocated 524
pages resident  524
pages swapped   0
Swap performance: 0 attempts     0 successes

------ Semaphore Status --------
used arrays = 0
allocated semaphores = 0

  

9. 添加参数到/etc/security/limits.conf

vi /etc/security/limits.conf

#添加下列内容 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728

 

10. 修改/etc/pam.d/login

vim /etc/pam.d/login

#添加下列内容
session required /lib/security/pam_limits.so
session required pam_limits.so

 

11. 修改/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

#wq保存退出
source /etc/profile

 

12. 创建oracle用户和相关的组

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle

groupadd oinstall --创建 oinstall组 安装数据库软件用
groupadd dba --创建 dba组 管理数据库软件用
groupadd oper --创建 oper组 操作数据库软件用--但是基本用不到。因为官方文档要求,所以我们最好还是给他建立上
useradd -g oinstall -G dba,oper oracle -g代表的是主组 -G代表的属组 oracle代表的是建立的用户名

 

13. 创建oracle目录及更改权限

mkdir -p /u01/app/oracle                    
mkdir -p /u01/oraInventory
chown -R oracle.oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

mkdir -p /u01/app/oracle --级联创建/u01/app/oracle目录
mkdir -p /u01/oraInventory --级联创建oraInventory目录 这个目录下放置的是安装oracle所需要的的环境

14. 切换到oracle用户,配置环境变量

passwd oracle

su - oracle

vim .bash_profile

#添加以下内容
export EDITOR=vi
export TMP=/tmp  
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export INVENTORY_LOCATION=/u01/oraInventory
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH:$HOME/bin
umask 022

#wq保存退出

source .bash_profile

export EDITOR=vi 默认的编辑器是vi
export TMP=/tmp ORACLE默认的临时目录是/tmp
export TMPDIR=$TMP 临时目录生成
export ORACLE_SID=orcl ORACLE实例名称是orcl
export ORACLE_BASE=/u01/app/oracle ORACLE的基本目录
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1 ORACLE数据库的HOME目录
export INVENTORY_LOCATION=/u01/oraInventory ORACLE安装时的inventory
export TNS_ADMIN=$ORACLE_HOME/network/admin ORACLE的网络文件主目录
export LD_LIBRARY_PATH=$ORACLE_HOME/lib ORACLE的库文件目录
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8" ORACLE的字符集 因为我们使用UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" ORACLE的日期格式 我们使用会话的方式修改 没有上面的NLS_LANG,那么这个参数不会生成
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin:$PATH:$HOME/bin 生成相关参数

 

15. MobaxTerm上传linuxx64_12201_database.zip到服务器的/u01目录。

 

16. 修改上传后文件的所有者并解压

cd /u01
su
chown oracle:oinstall linuxx64_12201_database.zip
su - oracle
cd /u01
unzip linuxx64_12201_database.zip

  

17. 启用MobaxTerm的XServer, 在linux上将输出导出到XServer,

点击MobaxTerm右上角的XServer启动,并能看到本地的IP。

su - oracle
cd /u01/database
export DISPLAY=192.168.35.1:0.0 #192.168.35.1是Windows主机的IP地址

启动Oracle安装程序

cd /u01/database
./runInstaller

 

18. 图形化安装过程截图

 这一步需要新开一个shell,用root登录,执行上面这两个脚本。执行后点击OK完成安装。

19. 注册实例到监听器

 监听器负责将server process与user process结合起来,产生一个会话。

 

 

检查监听状态 lsnrctl  status 命令

[oracle@oracle12 database]$ lsnrctl status

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 01-OCT-2022 11:55:04

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                01-OCT-2022 11:54:13
Uptime                    0 days 0 hr. 0 min. 51 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/db_1/network/admin/listener.                                                ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oracle12/listener/alert/log.xm                                                l
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

 

20. dbca创建数据库

#仍然需要导出屏幕到windows
export DISPLAY=192.168.35.1:0.0

#dbca命令开始执行创建数据库的操作
dbca

 

 

21. 上传、安装 rlwrap工具,方便在sqlplus中上下翻查命令。

上传: 使用MobaxTerm上传到/u01目录下。

安装:

#root用户
cd /u01
rpm -ivh rlwrap-0.37-1.el6.x86_64.rpm


#oracle用户
su - oracle
vi ~/.bash_profile

#添加下面代码
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

#source 生效
source ~/.bash_profile

  

22. 数据库的启停

关闭的顺序: 关闭应用 -> 关闭监听 -> 关闭数据库

停止数据库: SQLPLUS中shutdown immediate

关闭监听: BASH中lsnrctl stop

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

[oracle@oracle12 database]$ lsnrctl stop
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 01-OCT-2022 19:13:32
Copyright (c) 1991, 2016, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12)(PORT=1521)))
The command completed successfully

 

启动的顺序: 启动数据库 -> 启动监听 -> 启动应用

启动数据库: SQLPLUS中 startup

启动监听: BASH中lsnrctl start

SQL> startup
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  8626240 bytes
Variable Size             322965440 bytes
Database Buffers          499122176 bytes
Redo Buffers                8146944 bytes
Database mounted.
Database opened.

 

posted on 2022-10-01 19:25  LeoZhangJing  阅读(67)  评论(0编辑  收藏  举报

导航