一、安装依赖软件包
前提条件:centos需要以图形化安装或后将桌面装好。
yum install -y gcc-c++ binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel
二、配置先决条件
1、修改内核参数
编辑sysctl.conf文件
# vi /etc/sysctl.conf
写入如下内容:
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
使配置生效
# sysctl -p
2、 限制oracle 用户资源使用
编辑/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 8000000
oracle soft memlock 8000000
3、创建用户与组
# groupadd oinstall
# groupadd dba
# groupadd oper
# useradd -g oinstall -G dba,oper oracle
4、为oracle用户设置密码
# passwd oracle
(默认设置的是oracle)
5、 关闭selinux与防火墙
关闭selinux
# setenforce 0
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld
6、创建oracle安装目录并授权
# mkdir -p /data/app
# chown -R oracle:oinstall /data
# chmod -R 775 /data
7、配置Oracle环境变量并验证
切换至oracle用户
su - oracle
编辑 .bash_profile 配置环境变量
vim .bash_profile
ORACLE_BASE=/data/app
ORACLE_HOME=$ORACLE_BASE/oracle12c
ORACLE_SID=WARRANTY
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
使配置立即生效
$ source .bash_profile
验证是否生效
[oracle@test01 ~]$ echo $ORACLE_HOME
/u01/app/oracle12c
8、修改hosts 为当前ip地址与计算机名
vim /etc/hosts 添加hosts
127.0.0.1 test01
10.177.11.222 test01
三、oracle图形化安装
1、上传oracle安装包并解压
安装包放到了/data/linuxx64_12201_database.zip
cd /data/
unzip linuxx64_12201_database.zip
2、使用oracle用户从控制台或VNC登录到到linux 桌面
进入到解压好的安装包里面,运行 ./runInstaller 唤出图形化安装界面
3、安装oracle database 软件
第一步没有什么用默认点下一步
这里先选择仅安装database
这里根据安装需求,默认单机安装就选单实例安装。
选择安装企业版本
这里要确认一下安装目录是否正确如果正确点下一步
确认没问题默认下一步
确认没问题默认下一步
确认没问题开始安装,安装需要等一小会儿
当弹出如下窗口时候需要切换到root命令行下执行两条脚本
/data/oraInventory/orainstRoot.sh
/data/app/oracle12c/root.sh
注意运行时候需要以root用户执行, 如果提示输入yes/no 直接回车确认即可
数据库安装好关闭即可。
4、配置数据库
用oracle用户登录桌面打开终端输入dbca
下一步
这里选择 Advanced configuration
默认下一步
SID与database改称自己业务的名字
如果不勾选Create as Container database 选项,则和11g是一样的,这里勾选以后,就是创建容器数据库,下面的PDB name 自定义
(这里我因为单机运行,没有勾选,这里请自行斟酌)
这里开启闪存,如果是测试环境也可以不开。如果开启的话会有一定的空间存最近的更改,一旦有问题可以回滚
闪存的路径和占用的大小,下面enable archiving是开启 archive日志,如果需要备份可以打卡, 也可以后面再开。
这一页保持默认下一步吧,这里创建监听可能会出现报错。
默认下一步
这里可以给一半或者多一些, 需要给操作系统预留一部分缓存空间。
横着选sizing
横着选项character sets这里配置完点下一步
默认点下一步
这里配置sys与system账号的密码
过于简单会提示警告
默认下一步
默认下一步
安装成功关掉即可。
5、配置监听并启动监听
命令行执行netca弹出如下软件框
默认下一步
下一步
下一步
这里可以更换默认端口号
是否创建其他监听,一般不用
查看监听是否启动
[oracle@fcsltales01 ~]$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 07-JUL-2022 15:17:22
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=fcsltales01)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date 07-JUL-2022 15:15:26
Uptime 0 days 0 hr. 1 min. 55 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /data/app/oracle12c/network/admin/listener.ora
Listener Log File /data/app/diag/tnslsnr/fcsltales01/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fcsltales01)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "ALESTEST" has 1 instance(s).
Instance "ALESTEST", status READY, has 1 handler(s) for this service...
Service "ALESTESTXDB" has 1 instance(s).
Instance "ALESTEST", status READY, has 1 handler(s) for this service...
The command completed successfully ####看这里已经启动
查看1521端口是否启动
[oracle@fcsltales01 ~]$ ss -ntlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 128 127.0.0.1:631 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 [::]:111 [::]:*
LISTEN 0 128 [::]:1521 [::]:*
users:(("tnslsnr",pid=19965,fd=8))LISTEN 0 128 [::]:31124 [::]:*
users:(("ora_d000_aleste",pid=18522,fd=8))LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 128 [::1]:631 [::]:*
LISTEN 0 100 [::1]:25 [::]:*
四、 配置oracle数据库 开机自启
1.切换到root用户下执行如下操作:
vim /etc/oratab
N 改为Y
WARRANTY:/u01/app/oracle12c:N 改为 WARRANTY:/u01/app/oracle12c:Y
2.切换到oracle用户下
切换目录
$ cd $ORACLE_HOME/bin
修改文件 vim dbstart
大约在80行
ORACLE_HOME_LISTNER=$1 改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
修改 vim dbshut
在50行左右
ORACLE_HOME_LISTNER=$1 改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
3.测试运行 dbshut, dbstart 看能否启动oracle 服务及listener服务
测试停止:
[oracle@fce-slt-warranty bin]$ ./dbshut
Processing Database instance "WAR RANTY": log file /u01/app/oracle12c/shutdown.log
[oracle@fce-slt-warranty bin]$ ss -ntlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 100 :::8009 :::*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 1 ::ffff:127.0.0.1:8005 :::*
测试启动:
[oracle@fce-slt-warranty bin]$ ./dbstart
Processing Database instance "WARRANTY": log file /u01/app/oracle12c/startup.log
[oracle@fce-slt-warranty bin]$ ss -ntlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 100 :::8009 :::*
LISTEN 0 128 :::111 :::*
LISTEN 0 100 :::8080 :::*
LISTEN 0 128 :::1521 :::* users:(("tnslsnr",pid=15933,fd=8))
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 :::14621 :::* users:(("ora_d000_warran",pid=16140,fd=8))
LISTEN 0 1 ::ffff:127.0.0.1:8005 ::
可以启动数据库与监听,测试可以连接。
4.配置系统启动项
切换为root用户
添加自启文件可执行权限
# chmod +x /etc/rc.d/rc.local
编辑该文件末尾写入如下内容:
su - oracle -lc dbstart
测试能否开机自启
*备注:
命令执行:
启动:su - oracle -lc dbstart
停止:su - oracle -lc dbshut
五、创建表空间与业务用户授权
创建无限制大小表空间文件:
create bigfile tablespace “表空间名如:ALESTEST” datafile '/data/app/oradata/ALESTEST/datafile/ALESTEST.dbf' size 128m AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;
'/data/app/oradata/ALESDEV/datafile/ALESTEST.dbf' 这是表空间存放的路径。
bigfile 代表大文件类型表空间。
创建数据库业务用户:
CREATE USER "用户名"
IDENTIFIED BY "密码"
DEFAULT TABLESPACE "上面创建的表空间名"
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
例如:
CREATE USER ALESTEST
IDENTIFIED BY ALESTEST_123
DEFAULT TABLESPACE ALESTEST
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
将创建好的用户授权给数据库:
GRANT CONNECT TO ALESTEST;
GRANT DBA TO ALESTEST;
GRANT RESOURCE TO ALESTEST;
上面授权语句是将ALESDEV用户授权为DBA权限用户。
将该用户与密码发给业务开发,即可用连接数据库。