Oracle安装


1.Oracle 脚本安装

请使用Oracle官方支持的系统:

  • Centos >=6 全系
  • RedHat >=6 全系
  • OracleLinux >=6 全系
# 使用CentOS7安装,配置2C 4G 120G,需要挂载ISO系统安装光盘。

mkdir /u01
mkdir /oradata
mkdir /soft

cd /soft
# 克隆脚本
# git clone https://gitee.com/luciferlpc/OracleShellInstall.git
# 下载官网Oracle安装包
# https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_free

# 局域网下载 
wget http://192.168.123.200/Software/OracleShellInstall
wget http://192.168.123.200/Software/LINUX.X64_193000_db_home.zip

# 赋予安装脚本执行权限
chmod +x OracleShellInstall

#### 脚本参数说明 
./OracleShellInstall -lf ens33 `# 主机网卡名称`\
-n uos1050d `# 主机名`\
-op oracle `# 主机 oracle 用户密码`\
-d /u01 `# Oracle 软件安装基础目录`\
-ord /oradata `# 数据库文件存放目录`\
-o lucifer `# 数据库名称`\
-dp 'Passw0rd#PST' `# sys/system 用户密码`\
-ds AL32UTF8 `# 数据库字符集`\
-ns AL16UTF16 `# 国家字符集`\
-redo 1000 `# 在线重做日志大小(M)`\
-opd Y `# 是否优化数据库`

#### 案例:
./OracleShellInstall -lf ens33 -n localhost -op oracle -d /u01 -ord /oradata -o test -dp 'root123' -ds AL32UTF8  -ns AL16UTF16 -redo 1000 -opd Y


请选择安装模式 [单机(si)/单机ASM(sa)] : si

数据库安装模式: single                                                                           
请选择数据库版本 [11|12|19|21|23] : 19

数据库版本:     19                                                                               

OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20250116152542.log                                                                                  

正在进行安装前检查,请稍等......                                                                                  

正在检测安装包 /soft/LINUX.X64_193000_db_home.zip 的 MD5 值是否正确,请稍等......                                                                                  

正在配置本地软件源......已完成 (耗时: 0 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 11 秒)
正在禁用防火墙......已完成 (耗时: 1 秒)
正在禁用 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 0 秒)
正在配置主机名和 hosts 文件......已完成 (耗时: 0 秒)
正在创建用户和组......已完成 (耗时: 1 秒)
正在创建安装目录......已完成 (耗时: 0 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在解压 Oracle 安装包......已完成 (耗时: 37 秒)
正在安装 Oracle 软件......已完成 (耗时: 50 秒)
正在创建监听......已完成 (耗时: 5 秒)
正在创建数据库......已完成 (耗时: 428 秒)
正在优化数据库......已完成 (耗时: 22 秒)

恭喜!Oracle 一键安装执行完成 (耗时: 568 秒),现在是否重启主机:[Y/N] Y

2.图形化安装

使用带有GUI的CentOS7系统进行安装,内存4G、存储50G+

2.1. 安装包准备

可以直接官网下载

安装包:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_free

image-20250205092613257

预安装包:https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

image-20250205092852801

也可以通过网友分享的百度网盘下载

链接:https://pan.baidu.com/s/1kRg1pOLzTThdbAmWhaxEZA 提取码:tgi6

下载后有两个文件

image-20250205093329194

ZIP的是安装包 rpm的是预安装包

2.2安装过程

上传安装包到/root路径下 可以使用Xftp工具或者其他工具上传

# 班级局域网下载
wget http://192.168.123.200/Software/LINUX.X64_193000_db_home.zip
wget http://192.168.123.200/Software/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

[root@localhost ~]# ls -l
总用量 2988024
-rw-------. 1 root root       1540 2月   5 09:13 anaconda-ks.cfg
-rw-r--r--. 1 root root       1588 2月   5 09:16 initial-setup-ks.cfg
-rw-r--r--. 1 root root 3059705302 2月   5 09:29 LINUX.X64_193000_db_home.zip
-rw-r--r--. 1 root root      18204 2月   5 09:28 oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

# 关闭防火墙并设置为开机自动关闭
systemctl disable --now firewalld
# 关闭SELinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

安装预安装包

# 下载华为yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo

yum makecache

yum localinstall -y /root/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

# 此时已经自动创建系统用户oracle,用户组oinstall等。

安装依赖包

# 更新系统
yum update

# 安装依赖
yum -y install bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools sysstat gcc-c++

# 如果依赖安装失败,请重新配置yum源
cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo

# 在/etc/sysctl.conf文件末尾追加内核参数
cat >> /etc/sysctl.conf <<EOF
#同时可以拥有的的异步IO请求数目
fs.aio-max-nr = 1048576  
#允许文件句柄的最大数目
fs.file-max = 6815744  
#控制共享内存页数(kernel.shmall = shmmax/4096)
kernel.shmall = 2097152
#单个共享内存段最大值,让数据库在一个共享段里面的可以容纳整个SGA
#最大值:比物理内存小1字节
#(kernel.shmmax = 物理内存*1024*1024*1024-1)
kernel.shmmax = 4294967295
#共享内存的最大数量
kernel.shmmni = 4096
#信号参数
kernel.sem = 250 32000 100 128
#IP V4的端口范围
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
EOF

# 使内核参数生效
sysctl -p

# 修改用户资源限制 /etc/security/limits.conf文件是Linux 资源使用配置文件,用来限制用户对系统资源的使用,在文件末尾追加以下内容

cat >> /etc/security/limits.conf << EOF
#打开文件描述符大小
oracle soft nproc 2047 
oracle hard nproc 16384 
#单个用户可用的进程数
oracle soft nofile 1024 
oracle hard nofile 65536 

#进程堆栈段的大小
oracle soft stack 10240
oracle hard stack 32768 

#soft指定当前系统生效的指定值
#hard当前系统能设定最大的指定值
EOF

创建路径&解压安装包

#创建路径
mkdir -p /u01/app/oracle/product/19.3.000/db_home
#解压安装包
unzip /root/LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19.3.000/db_home
#授权
chown -R oracle:oinstall /u01
chmod -R 775 /u01

配置信息

passwd oracle
# 设置oracle用户密码

su - oracle
vim ~/.bash_profile

## 插入以下配置信息

ORACLE_SID=orcl;export ORACLE_SID  
ORACLE_UNQNAME=orcl;export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.3.000/db_home; export ORACLE_HOME
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

使配置文件生效

source ~/.bash_profile

图形化安装

# 使用oracle用户图形化登录系统
cd $ORACLE_HOME
./runInstaller

这个时候如果安装界面都是乱码,原因是字符编码冲突导致的,需要临时修改为en_US.UTF-8。

# export LANG=en_US.UTF-8
# 此时再次执行即可
./runInstaller

2.3安装并配置

1.创建并配置

image-20250205102101643

2.选择安装服务端

image-20250205102249142

3.选择企业版

image-20250205102445974

4.安装路径(之前我们手动创建过)

image-20250205102534183

5.详细目录配置

image-20250205102632982

6.常规用途

image-20250205102721454

7.取消候选创建容器数据库

image-20250205102803759

8.配置内存使用比例,按需调整

image-20250205102907822

9.设置字符集

image-20250205102959449

10.存储位置

image-20250205103044371

11.配置云端控制台(我这里不需要)

image-20250205103127771

12.恢复选项配置(暂不启用)

image-20250205103212047

13.设置使用同一密码

至少为8个字符,包含至少1个大写字母、1个小写字母和1个数字[0-9]

我这里设置为Root123

image-20250205103356922

14.操作系统组配置

选择对应的组(我这里使用默认组)

image-20250205103457735

15.输入root密码

输入系统的root密码,后期安装的时候就不需要用root手动执行一些命令了

image-20250205103619548

16.先决条件检查

image-20250205103744440

17.点击install安装

image-20250205103824433

image-20250205103854771

过程中会有确认弹窗,点击yes

image-20250205104209587

18.安装成功

image-20250205104946544

3.使用DBCA创建数据库

1)以oracle用户执行dbca创建数据库

dbca

image-20250207142649691

2)使用高级模式创建 高级模式安装灵活性比较好,可以自行设置某些参数

image-20250207142731091

3)选择oracle单实例数据库和一般用户或事务

image-20250207142808923

4)配置数据库实例名称

根据自己的需要选择是否创建容器数据库,不需要的话就取消

image-20250207142858936

image-20250207143012589

根据实际需要开启归档和闪回区

image-20250207143052169

5)创建监听

如果这里不创建,也可以单独使用netmgr命令进行创建

image-20250207143218544

image-20250207143253224

6)选择字符集和连接模式

image-20250207143335164

image-20250207143356710

image-20250207143429735

7)设置用户密码 所有用户使用一个密码

image-20250207143536583

8)创建数据库

image-20250207143609653

9)完成安装

image-20250207143640931

image-20250207143652698

image-20250207144513674

4.数据库基础操作

安装完数据库,监听器和数据库实例都会自动被启动起来,可以直接访问。

1、监听器操作

# 查看监听器状态
lsnrctl status
# 启动监听器
lsnrctl start
# 停止监听器
lsnrctl stop

2、查看实例状态

# 登录数据库
# 方式一:直接只用/登录,不用输入账号密码
sqlplus / as sysdba
# 方式二:输入账号密码登录
sqlplus sys/Root123 as sysdba
# 方式三:先进入数据库,再连接实例
sqlplus /nolog
conn sys/Root123 as sysdba

# 查看实例状态
select instance_name,status from v$instance;
# 如果实例是OPEN状态,说明实例正常运行