@307086418
2020-03-16T22:31:50.000000Z
字数 11179
阅读 1620
未分类
剩余的默认配置不贴图了
处理器配置(默认)>虚拟机内存(选择4G,根据电脑配置来定)>网络类型(桥接网络)>I/O控制器(默认)>磁盘类型(默认)>创建新的磁盘(选50G用来安装LINUX操作系统,测试环境为方便管理选择将虚拟磁盘拆分为单个文件)>文件名可改可不改(我采用了默认)>完成
添加两块硬盘,一个50G用来装ORALCE安装目录,一个20G用来放安装包等软件
选择ISO镜像光盘
开启虚拟机,开始安装LINUX操作系统
为了学习,安装英语环境
选择上海时区,下面时间要手动改一下
键盘不动
语言包选上中文,不然后面使用中可能会有乱码
安装源,就选择本地
选择一下需要的GUI界面,这里根着田老师安装的,具体需要哪些不太清楚,田老师说有些没安装的后面也可以安装完系统后手动安装(Hardware Monitoring Utilities、Infinband Support、Java platform、KDE、Large system performance Mainframe Access、Performance Tools、PostgreSQL Database Server、Compatibility Libraries 、Development Tools、Security Tools、smart card support、System Administration Tools、)
磁盘分区、格式化、挂载。这里我们只处理第一块磁盘用来装载LINUX系统,其余两块盘装好系统之后再处理。(也可以在这里一次性全部处理,也测试过完全可以,进入系统之后就不用再分区格式化挂载了,但是我感觉存在的问题就是这里三块盘全选,他们就会统一分配,不像我们这里这样,每个盘功能是什么很明确)
选择 i will configure partitioning,手动分配,因为SWAP分区我们要根据内存大小来划分(这里不按住老师讲的规则不知道行不行,还没测试)
选择标准分区
/boot 这是个目录, 可以单独列出来分成一个分区,然后挂载到/boot目录, 也可以只用一个/分区, 里面会有boot目录的,保存的是引导文件,内核等等的东东,通常两三百兆足够。
/swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。当虚拟机内存小于4G时,我们选择swap为内存2倍,当虚拟机内存为8-16G时,我们选择swap分区和内存一样大,当内存>16G时,我们选择swap为内存一般。(这里内存为4G,所以swap为8192M)
其余全部给/目录
Accept Changes
KDUMP不启用,影响不大
选上网络自动连接
手动设置IP,不用DHCP(方便我们下次登录用相同IP)
在这里改了主机名,也可以不改,进入系统后 hostnamectl set -hostname XXX
没啥用,关了吧
开始安装,这里设置root密码为rootroot,用户可以创建也可以操作系统建好后登录时创建,系统会提示的
安装完毕后重启
重启后完成几项设置
同意
创建用户用于登录操作系统,虽然有root用户,但此时时不予许登录的
选择KDE模式登录,因为其他模式在建ORACLE时可能显示不全
fdisk -l 发现第一块磁盘sda已经做好,剩下的sdb和sdc还没有
可以通过 /etc/fstab 查看具体磁盘划分情况
fdisk /dev/sdb m可以查看帮助命令
然后我们在这里只创建一个主分区 用于挂载到/u01 下面,装数据库
同理处理sdc,用于以后挂载到/soft下面,完成后再次查看
格式化
mkfs.xfs /dev/sdb1
mkfs.xfs /dev/sdc1
挂载,就是把新建的分区sdb1挂载到文件夹/u01 sdc1挂载到/soft,当然要先把文件夹建立了,同时,为了方便后面创建oracle用户也能使用,要把权限改了
mkdir /u01
mkdir /soft
chmod -R 777 /u01
chmod -R777 /soft
df -Th 查看一下文件挂载情况
mount /dev/sdb1 /u01
mount /dev/sdc1 /soft
df -Th
现在这是开机自动挂载,否则重启之后又要重新挂载这两个文件
blkid 查看他们的UUID
vim /etc/fstab
YUM: Yellowdog Update Modifier,rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包, up2date的替代工具
ORACLE的安装需要首先安装很多RPM来提供支持,RPM包的安装虽然很方便和快捷,但是依赖性实在是很麻烦,尤其是库文件依赖,还要去 rpmfind 网站査找库文件到底属于哪个 RPM 包,从而导致 RPM 包的安装非常烦琐。那么,有没有可以自动解决依赖性、自动安装的方法呢?
答案是肯定的,yum 在线管理就可以自动处理 RPM 包的依赖性问题,从而大大简化 RPM 包的安装过程。但需要注意的是,首先,yum 安装的还是 RPM 包,其次,yum 安装是需要有可用的 yum 服务器存在的,当然这个 yum 服务器可以在网上,也可以使用光盘在本地搭建。
yum 可以方便地进行 RPM 包的安装、升级、査询和卸载,而且可以自动解决依赖性问题,非常方便和快捷。但是,一定要注意 yum 的卸载功能。yum 在卸载软件的同时会卸载这个软件的依赖包,但是如果卸载的依赖包是系统的必备软件包,就有可能导致系统崩溃。除非你确实知道 yum 在自动卸载时会卸载哪些软件包,否则最好不要执行 yum 卸载。
yum源搭建
yum 源既可以使用网络 yum 源,也可以使用本地光盘作为 yum 源。要使用网络 yum 源,你的主机必须是正常联网的。
当然,要使用 yum 进行 RPM 包安装,那么必须安装 yum 软件。查看命令如下:
[root@localhost ~]# rpm -qa | grep yum
yum-metadata-parser-1.1.2-16.el6.i686
yum-3.2.29-30.el6.centos.noarch
yum-utils-1.1.30-14.el6.noarch
yum-plugin-fastestmirror-1.1.30-14.el6.noarch
yum-plugin-security-1.1.30-14.el6.noarch
如果没有安装,则需要手工使用 RPM 包方式安装。
网络yum源服务器搭建
在主机网络正常的情况下,CentOS 的 yum 是可以直接使用的,不过我们需要了解一下 yum 源配置文件的内容。
————————————————
原文链接:https://blog.csdn.net/zyy1659949090/article/details/88123484
一、本地YUM源配置 以光盘里rpm举例(这里使用虚拟机演示)
1.先把虚拟机光盘连上,然后把光盘内容挂载到/mnt下 mount /dev/cdrom /mnt
然后进入/etc/yum.reps.d/目录下,创建一个以 .repo结尾的文件,内容如下:(此文件为最简写法)
mv redhat.repo redhat.repo.bak
vim hua.repo
[henry_repo] 仓库的名称,不能重复
name = oracle12c 对yum的描述,随便写
baseurl = file:///mnt/ 本地光盘的路径,即YUM源的地址
enable = 1 是否启动,默认启动,也可以不写,如果为0则不启动
gpgcheck = 0 如果是1则要检查数字证书,为0不检查,如果是1要加gpgkey:数字证书的公钥文件保存 位置
配置完后紧接着使用命令 yum clean all 和 yum repolist all 生成元数据后即可使用本地源
2.外网YUM源配置
可以用163,清华大学他们的yum源,详细见https://www.cnblogs.com/fengdejiyixx/p/10952672.html
echo "192.168.10.10 HUA" >> /etc/hosts
cat /etc/hosts
或者直接 vim /etc/hosts
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。在这里我们禁用他,具体机制,后期在学习
vim /etc/selinux/config
SELINUX=disabled
https://blog.csdn.net/yanjun821126/article/details/80828908
之所以对oracle用户做资源的限制,其实主要是出于性能上的考虑,防止oracle用户过渡消耗有限资源,使其系统变得臃肿缓慢
无论安装什么版本的Oracle,在安装之前,都需要配置 /etc/pam.d/login /etc/profile /etc/security/limits.conf这三个文件
那这三个文件究竟是做什么用的呢?答案就是设置对oracle用户的shell limits。
/etc/profile 老师给的安装文档并没有修改,在此我也没有更改,后续再进一步理解
echo "session required pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login
vim /etc/security/limits.conf
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft stack 32768
oracle hard stack 32768
Type:
Soft:当前系统生效的设置值(soft限制不能比hard限制高)
Hard:系统中所能设置的最大值
- :同时设置了soft和hard的值
Item:限制用户的资源类型
core——core文件大小(KB)
data——最大数据大小(KB)
fsize——最大文件大小(KB)
memlock——最大可用内存空间(KB)
nofile——最大可以打开的文件数量
rss——最大可驻留空间(KB)
stack——最大堆栈空间(KB)
cpu——最大CPU使用时间(MIN)
nproc——最大运行进程数
as——地址空间限制
maxlogins——用户可以登录到系统最多次数
locks——最大锁定文件数目
https://blog.csdn.net/halou90/article/details/49510747
在安装ORACLE前要调整LINUX的内核参数,否则ORALCE安装环境预编译通不过
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586
kernel.panic_on_oops = 1
kernel.shmmax = 5033164800
kernel.shmall = 1228800
kernel.shmmni = 4096
sysctl -p 应用
Oracle公司会建议创建多个OS组,其思想是添加多种OS用户,然后根据必要条件和工作角色将他们分配到这些组中,将OS用户分配到组中后,可以为用户提供特定的数据库权限。
安装单实例时需要创建的几个groups:
(1)Oracle 清单组(一般为 oinstall)
OINSTALL 组的成员被视为 Oracle 软件的“所有者”,拥有对 Oracle 中央清单 (oraInventory) 的写入权限。在一个 Linux 系统上首次安装 Oracle 软件时,OUI 会创建 /etc/oraInst.loc 文件。该文件指定 Oracle 清单组的名称(默认为 oinstall)以及 Oracle 中央清单目录的路径。
[root@rac1 ~]#cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
深入理解 OUI(Oracle Universal Installer)
http://blog.csdn.net/tianlesoftware/article/details/6901684
如果不存在 oraInventory 组,默认情况下,安装程序会将集群的网格基础架构的安装所有者的主组列为 oraInventory 组。确保所有计划的 Oracle 软件安装所有者都使用此组作为主组。
(2)数据库管理员(OSDBA,一般为 dba)
OSDBA 组的成员可通过操作系统身份验证使用 SQL 以 SYSDBA 身份连接到一个 Oracle 实例。该组的成员可执行关键的数据库管理任务,如创建数据库、启动和关闭实例。该组的默认名称为 dba。SYSDBA 系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。
不要混淆 SYSDBA 系统权限与数据库角色 DBA。DBA 角色不包括 SYSDBA 或 SYSOPER 系统权限。
(3)数据库操作员组(OSOPER,一般为 oper) 该组也可以不用创建,我们只用Oinstall和dba组就够了
OSOPER 组的成员可通过操作系统身份验证使用 SQL 以 SYSOPER 身份连接到一个 Oracle 实例。这个可选组的成员拥有一组有限的数据库管理权限,如管理和运行备份。该组的默认名称为 oper。SYSOPER系统权限甚至在数据库未打开时也允许访问数据库实例。对此权限的控制完全超出了数据库本身的范围。要使用该组,选择 Advanced 安装类型来安装 Oracle 数据库软件。
如果安装集群等需要的组,详看https://blog.csdn.net/qq_32786873/article/details/82187346
在此我们创建oinstall和dba组
groupadd dba
groupadd oinstall
可以通过 /etc/group 查看
useradd -g oinstall -G dba oracle
passwd oracle
输入密码两次: oracle
chown -R oracle:oinstall /u01
vim /home/oracle/.bash_profile
umask 022
export ORACLE_SID=CDBOCP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export TMP=/tmp
export TMPDIR=$TMP
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export EDITOR=vim
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_PATH=.:$ORACLE_BASE/dba_scripts/sql:$ORACLE_HOME/rdbms/admin
export SQLPATH=$ORACLE_HOME/sqlplus/admin
export NLS_LANG="AMERICAN_CHINA.ZHS16GBK"
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias asmcmd='rlwrap asmcmd'
每个版本需要的包可能不一样,但方法是一样的。
rpm -q autoconf \
automake \
binutils-2.27-34.base.el7.x86_64 \
binutils-devel-2.27-34.base.el7.x86_64 \
bison-3.0.4-2.el7.x86_64 \
cpp-4.8.5-36.el7.x86_64 \
dos2unix-6.0.3-7.el7.x86_64 \
ftp-0.17-67.el7.x86_64 \
gcc-4.8.5-36.el7.x86_64 \
gcc-c++-4.8.5-36.el7.x86_64 \
lrzsz-0.12.20-36.el7.x86_64 \
python-devel-2.7.5-76.el7.x86_64 \
compat-gcc-44-c++-4.4.7-8.el7.x86_64 \
compat-gcc-44-4.4.7-8.el7.x86_64 \
compat-libcap1-1.10-7.el7.i686 \
compat-libcap1-1.10-7.el7.x86_64 \
compat-libstdc++-33-3.2.3-72.el7.x86_64 \
glibc-utils-2.17-260.el7.x86_64 \
libXp-1.0.2-2.1.el7.x86_64 \
libXp-devel-1.0.2-2.1.el7.x86_64 \
libXpm-3.5.12-1.el7.x86_64 \
libXpm-devel-3.5.12-1.el7.x86_64 \
libXt-1.1.5-3.el7.x86_64 \
libXt-devel-1.1.5-3.el7.x86_64 \
libXtst-1.2.3-1.el7.x86_64 \
libXtst-devel-1.2.3-1.el7.x86_64 \
libXext-1.3.3-3.el7.x86_64 \
libXext-devel-1.3.3-3.el7.x86_64 \
libX11-devel-1.6.5-2.el7.x86_64 \
libXau-1.0.8-2.1.el7.x86_64 \
libXau-devel-1.0.8-2.1.el7.x86_64 \
libxcb-1.13-1.el7.x86_64 \
libxcb-devel-1.13-1.el7.x86_64 \
libXi-1.7.9-1.el7.x86_64 \
libXi-devel-1.7.9-1.el7.x86_64 \
libstdc++-docs-4.8.5-36.el7.x86_64 \
libgcc-4.8.5-36.el7.x86_64 \
libstdc++-devel-4.8.5-36.el7.x86_64 \
libstdc++-4.8.5-36.el7.x86_64 \
libaio-0.3.109-13.el7.i686 \
libaio-0.3.109-13.el7.x86_64 \
libaio-devel-0.3.109-13.el7.i686 \
libaio-devel-0.3.109-13.el7.x86_64 \
ksh-20120801-139.el7.x86_64 \
libaio-devel-0.3.109-13.el7.i686 \
libaio-devel-0.3.109-13.el7.x86_64 \
numactl-2.0.9-7.el7.x86_64 \
numactl-devel-2.0.9-7.el7.x86_64 \
make-3.82-23.el7.x86_64 \
sysstat-10.1.5-17.el7.x86_64 \
unixODBC-2.3.1-11.el7.x86_64 \
unixODBC-devel-2.3.1-11.el7.x86_64 \
elfutils-libelf-0.172-2.el7.x86_64 \
elfutils-libelf-devel-0.172-2.el7.x86_64 \
redhat-lsb-core-4.1-27.el7.x86_64 \
readline-devel.x86_64 | grep "not installed"
找出没有安装的 利用 yum安装就行了,这里我们直接调用写的shell脚本(里面命令还不太会,后面再学)
rz 上传rpminstall.sh
给与可执行权限chmod +x rpminstall.sh
./rpminstall.sh
发现有一个包没安装,手动上传后再安装
rpm -ivh 08-compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
这里有两种方式,第一种是在root解压后给oracle文件夹得权限,另一种是给oracle软件包的权限,然后到oracle用户中去解压,我们采用后一种
chmod 777 linuxx64_12201_database.zip
su - oracle
cd /
ll 确保/soft 文件夹oralce用户也有权限
cd /soft
ll
unzip linuxx64_12201_database.zip
解压完成后重启一下
这里我们只创建数据库软件,完成之后再装数据库
我们创建简单的单实例数据库
这是我们在环境变量里面设置好的,不要改
Oracle清单目录
预环境检查
弹出这个界面,要在root下执行这两个脚本之后才可以继续
netca,netmgr都行,很简单不具体贴图了
dbca
高级
Oracle数据库三种模式
一般事务处理(General Purpose or Transportion Processing):许多并发用户执行许多需要快速访问数据的事务。可用性、速度、并发性和可恢复性是关键问题。
定制数据库(Custom Database):此模板允许用户在定义数据库时具有最大的灵活性,用户可以更改正在创建的数据库的任何设置。
数据仓库(Data Warehouse):用户执行大量的复杂查询,处理大量数据。响应时间、准确性和可用性是关键问题。这些查询(SELECT语句)范围从几个记录到许多不同的表中以千计的记录进行查询。
我们选择General Purpose or Transportion Processing
这里我们创建容器数据库,如果选择多个pdb的话,下面输的就是pdb前缀
Oracle Database Vault 能够在 Oracle Database 18c 中实施功能强大的安全控制。这些独特的安全控制限制了数据库特权用户对应用数据的访问,减少了内部和外部威胁的风险,并解决了常见的合规性要求。不懂,用不到暂时。
内存区自动分配
选一下字符集
EM可选可不选,用到时候自己再配置吧
统一密码oracle
保存脚本,保存试例数据库等等,,无所谓的,自己看着办
开始安装
安装完毕
注意:安装rmp包都是在root用户下
su - root
cd /soft
rz
ls
cd
cat README
./configure; make install
安装过程中可能会提示 readline XXX的错误,就是要安装readline包 那就执行 yum install readline* ,然后在./configure; make install
首先确保光盘挂载到/mnt下,因为yum源在/mnt
yum -y install tigervnc* (-y的意思是安装过程中所有提示都输入yes)
vncserver
输入密码:
打开vnc软件,输入ip地址和端口,连接
临时修改:export PS1='[\u@ '
永久修改:在用户的家目录下(oracle就是/home/oracle,root就是/root)有一个文件就是.bashrc(隐藏文件),在里面加入export PS1='[\u@ ' 然后在命令行输入bash刷新
\a ASCII码的响铃字符
\d “星期-月-日”日期格式
\h 主机名
\e ASCII码的转义字符
\j shell管理的作业数量
\l shell终端设备基本名称
\n 换行
\r 回车
\t “小时:分钟:秒“的24小时时间
\T “小时:分钟:秒“的12小时时间
\@ “上午:下午”的12小时时间
\A “上午:下午”的24小时时间
\s shell名称
\v Bash shell的版本
\v Bash shell的发型号
\u 当前shell
\w 当前工作目录(完整目录)
\W 当前工作目录的basename(并非完整目录)
\! 命令的历史记录编号
\$ 如果有效用户的标识符(UID)为0,那么就显示#,否则显示¥
临时设置
sql>set sqlprompt '&_USER@&_CONNECT_IDENTIFIER> ';
永久设置
$ORACLE_HOME/sqlplus/admin/glogin.sql 文件中添加如下参数
set sqlprompt '&_USER@&_CONNECT_IDENTIFIER> ';
_CONNECT_IDENTIFIER 连接标识符,茹数据库的SID
_DATE 当前日期
_EDITOR SQL EDIT 命令使用的编辑器
_O_VERSION Oracle的版本
_O_RELEASE Oracle的发行号
_PRIVILEGE 当前会话的权限登记
_SQLPLUS_RELEASE SQL*PLUS的发行号
_USER 当前使用的用户
alias <别名>='<壳命令>'
.bash_profile 中的 别名
alias bdmp='cd /u01/app/oracle/diag/rdbms/cdbocp/CDBOCP/trace'
Ctrl + P Ctrl +N 和上下箭头一样
history : history 5 查看最近执行的5条命令 要执行的话用!12 执行12号命令
Ctrl + R :查找命令 Ctrl + C 退出查找