1、编写hosts文件
vi /etc/hosts
2、关闭防火墙
(1)先检查防火墙状态
systemctl status firewalld.service
我们发现防火墙是开着的
(2)临时关闭防火墙
暂时关闭防火墙,下次启动时防火墙仍随系统启动而启动
systemctl stop firewalld.service
(3)永久关闭防火墙
systemctl disable firewalld.service
最后,查看下防火墙状态
systemctl status firewalld.service
发现,防火墙被关掉了
3、关闭SELINUX防火墙
vi /etc/selinux/config
将内容
SELINUX=enforcing
更改为
SELINUX=disabled
4、配置YUM源解决程序依赖的问题
(1)虚拟机设置
右键设置
设备状态勾选,选择镜像文件,就是之前的镜像文件
然后,我们发现光盘就出来了
(2)创建yum源
创建 /yums 目录
mkdir /yums
进入到centos镜像的挂载点
cd /run/media/root/CentOS\ 7\ x86_64/
将Packagses 下所有文件拷贝到 /yums目录下
cp Packages/* /yums/
这个复制要等一段时间…
检查一下
ls /yums/ | wc -l
我们发现两个目录下文件数目是一样的,这样代表就复制完成了。
(3)安装依赖
cd /yums
rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm
rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm
注意!! 下面这个命令后这个 . 千万不能忘记,这个 . 代表当前目录!!
createrepo .
(4)设置本地yum源
cd /etc/yum.repos.d/
rm -rf *
vi yum.local.repo
添加如下内容:
[local]
name=yum local repo
baseurl=file:///yums
gpgcheck=0
enable=1
(5)yum 配置生成
yum clean all
5、安装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-*
这个等待安装完成
6、修改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
文件说明:
fs.file-max //文件句柄数 一次可以打开文件的个数
kernel.shmall //公式:内存大小*1024*1024*1024/4*1024 //表示所有内存大小(单位:页=4K)
kernel.shmmax //表示最大共享内存大小,一般为物理内存的3/4 但是常用的就是将所有内存换算成字节后-1(单位:字节)
kernel.shmmni = 4096 //表示最小共享内存固定4096KB 一般是固定值
kernel.sem //4个参数依次是SEMMSL:每个用户拥有信号量最大数,SEMMNS:系统信号量最大数,SEMOPM:每次semopm系统调用操作数,SEMMNI:系统辛苦量集数最大数。这4个参数为固定内容大小
net.ipv4.ip_local_port_range = 9000 65500 //ip_local_port_range表示端口的范围,为指定的内容 一般是固定值
net.core.rmem_default //表示套接字接收缓冲区大小的缺省值
net.core.rmem_max //表示套接字接收缓冲区大小的最大值。
net.core.wmem_default //表示套接字发送缓冲区大小的缺省值。
net.core.wmem_max //表示套接字发送缓冲区大小的最大值。
添加完成,执行如下命令,生成系统参数
sysctl -p
7、添加下列参数到/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
8、添加下列条目到/etc/pam.d/login
这两个主要是限制使用进程数可以不用了解
vim /etc/pam.d/login
添加如下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
9、设置环境变量
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
10 、创建文件目录和相应的用户
(1)创建用户
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代表的是建立的用户名
这个命令的意思是 我建立一个oracle用户 让他的主组数据oinstall组 让他数组属于dba oper组
(2)创建目录
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所需要的的环境
chown -R oracle.oinstall /u01 --该命令为把/u01这个目录的所属用户和所属组变为oracle用户和oracle用户所在的oinstall组
chown -R oracle:oinstall /u01/app/oracle --该命令为把/u01/app/oracle这个目录所属用户和所属组改成oracle用户和oinstall组
chmod -R 775 /u01/app/oracle --该命令为把/u01/app/oracle这个目录的权限改为所属用户可对可写可执行 所属用户所在组下的所有同组成员皆为可读可写可执行 其他用户对这个目录只有可读和可执行
举例:
drwxr-xr-x. 3 root root 217088 Oct 2 19:19 yums
d代表的是目录 如果d的位置是个-代表为他是一个文件 如果d的位置是个l(英文的L)的话代表他是一个链接
rwxr-xr-x 三个为一组可变型为rwx r-x r-x 其中r代表为read读权限 w代表的是write写权限 x代表的是执行权限 那么他有第二种表示方式,为数字表示法 则r-4 w-2 x-1,并且三个为一组 第一组代表的是所属用户权限 (由上面可知所属用户对该目录具备可读可写可执行权限) 第二组代表所属用户的所属组权限,这里的所属组代表和所属用户同组的其他用户(有上面可知所属用户的同组用户具备可读和可执行权限)第三组代表的是其他用户(有上面可知其他用户具有可读和可执行权限) 这里的其他用户既不是该文件或目录的所属用户 也不是该文件或目录所属用户的同组用户 就是其他用户。另外这三组还有英文表示法 所属用户用u表示 同组用户用g表示 其他用户用o表示 还有一个特殊的所有用户用a表示。如果权限用数字法去标识的话 那么 所属用户的权限数字为rwx=4+2+1=7 同组用户的权限数字为4+1=5 其他用户的权限数字为4+1=5.所以,rwxr-xr-x可以用数字755表示。 可以用chmod命令修改
root root 代表 该目录所属用户为root用户 所属组为root组 可以用chown去修改 chown -R代表级联修改,更改目录下所有
修改例子
chown -R oracle:oinstall /u01/linuxx64_12201_database.zip
(3)给oracle用户加一个密码
passwd oracle
11、配置ORACLE用户的环境变量
(1)切换oracle用户
su - oracle
(2)修改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
注意,这里实际的名字,安装的时候发现这个路径是dbhome_1!!!
添加完成,执行如下命令,使得环境变量生效
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 生成相关参数
umask 022
12、上传oracle12c安装包并且解压
资源下载地址:
链接:https://pan.baidu.com/s/1IU_6tRevJVJYiOKZaFK-jw
提取码:69fx
(1)上传文件
将 linuxx64_12201_database.zip 压缩包上传到 /u01目录下
如下:文件就上传好了
(2)修改压缩包所属组
切换到root用户
su - root
修改组
chown -R oracle:oinstall /u01/linuxx64_12201_database.zip
(3)解压文件
su -oracle
unzip /u01/linuxx64_12201_database.zip
如下,就安装好了
13、使用工具调出界面安装Oracle
执行如下命令:
export DISPLAY = 192.168.16.10:0.0
注意这里的ip地址是如下的ip
14、进行安装
cd /u01/database
./runInstaller
点击 是
再次点击 是
再点 是
然后就弹出了安装的界面,如下:
15、Oracle安装配置
(1)去掉勾选,点击next
点击 yes
选择第二个只安装软件
选择单实例
选择第一个企业版本
默认,下一步
默认,下一步
红色框,改成dba
检查先决条件
点击安装
然后,等待一会。。
复制一个窗口,执行如下的脚本
然后,回到如下界面:
点击ok
点击close
16、配置监听
执行如下命令,注意这个命令只能使用oracle用户执行!
选择是
下一步
下一步
下一步
下一步
下一步
下一步
下一步
点击Finish
查看监听状态
lsnrctl status
17、建库
(1)安装dbc
输入如下命令:
dbca
选择是
选择创建数据库
选择进一步设置
默认,下一步
去勾选
选择使用默认的文件系统
默认,下一步
默认,下一步
默认,下一步
设置为如下:
其他的默认就行,点击下一步
去勾选,如下,下一步
设置密码,下一步
点击yes
创建数据库,点击next
点击Finish
如下,进行等待…
如下,说明安装成功
18、登录
(1)使用 oracle用户进行登录
sqlplus / as sysdba
select * from dual;
(2)安装一个可以翻页的工具
如下,我们进行按上键的时候,发现出现如下情况
资源下载:
链接:https://pan.baidu.com/s/1X7WkuZF29XlEvfiT18lfFg
提取码:ez9f
上传该文件到 /u01目录下
输入如下命令进行安装:注,必须使用root用户进行安装
rpm -ivh rlwrap-0.37-1.el6.x86_64.rpm
然后切换到 oracle用户,执行如下命令
su - oracle
vi /home/oracle/.bash_profile
添加如下内容:
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
执行如下命令,使得环境变量生效:
source .bash_profile
下面再测试下是否能进行翻页
sqlplus / as sysdba
select * from dual;
如下,按上键,就不会出现乱码了
19、关于数据库的启动、停止命令
在日常工作中,关于数据库的启停:
先关闭上层应用服务---->关闭监听---->关闭数据库
启动数据库----->启动监听----->启动应用 进行相关的连接测试
操作系统重启命令 shutdown -r now
操作系统关闭命令 shudtown -h now
数据库关闭命令 shutdown immediate
数据库启动命令 startup
监听启动命令 lsnrctl start
监听关闭命令 lsnrctl stop
监听查看命令 lsnrctl status
(1)关闭数据库
shutdown immediate
(2)关闭监听
lsnrctl stop
(3)系统关机
关机使用root用户
su - root
shudtown -h now
(4)启动数据库
su - oracle
sqlplus / as sysdba
startup
exit
然后再启动监听
lsnrctl start
查看监听状态
lsnrctl status