目录
一、Oracle部署
1、官网获取安装包
2、创建Oracle账户
#系统版本
sudo su - root
useradd oracle
passwd oracle
3、将软件包上传到指定账户中
4、解压安装包
sudo su - oracle
unzip V17530-01_1of2.zip
unzip V17530-01_2of2.zip
5、安装依赖包
sudo su - root
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc++-devel make sysstat unixODBC unixODBC-devel
#还有部分依赖包没有安装
#Error: Unable to find a match: compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf glibc.i686 glibc-devel.i686glibc-headers libaio.i686 libaio-devel.i686 libgcc.i686 libstdc++.i686libstdc++-devel ,这些依赖看着是i686的,i686指的是32位系统架构,这个软件包包含了在32位系统上运行的标准C++库函数,对于维持软件的兼容性和跨架构的运行起作用。
6、创建oracle安装目录和设置目录权限
sudo su - oracle
# 数据库系统安装目录
mkdir oracle
# 数据库数据安装目录
mkdir oracle/oradata
# 数据备份目录
mkdir oracle/oradata_back
# 清单目录
mkdir oracle/oraInventory
7、配置oracle用户环境变量
sudo su - oracle
vi .bash_profile
# 刷新配置
sudo su - oracle
source .bash_profile
8、将解压的文件复制到etc目录下
sudo su - oracle
cd /home/oracle/oracle
mkdir etc
cd ~
cp database/response/* oracle/etc/
9、配置数据库安装文件
sudo su - oracle
vi /home/oracle/oracle/etc/db_install.rsp
10、根据响应文件安装oracle
sudo su - oracle
cd database
./runInstaller -silent -force -responseFile /home/oracle/oracle/etc/db_install.rsp -ignorePrereq
# home/oracle/database 是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。
# runInstaller 是主要安装脚本
# silent 静默模式
# force 强制安装
# ignorePrereq忽略warning直接安装。
# responseFile读取安装应答文件。
# 这边提示需要安装 jdk
jdk安装可参考文章:kafka 学习笔记(一)_快速了解kafka-CSDN博客
# 再次执行
sudo su - oracle
cd database
./runInstaller -silent -force -responseFile /home/oracle/oracle/etc/db_install.rsp -ignorePrereq
# 还是报错,又百度了下,需要切换到root账户下执行 dnf install libnsl
# 切换到oracle 账户下再次执行命令
sudo su - oracle
cd /home/oracle/database
./runInstaller -silent -force -responseFile /home/oracle/oracle/etc/db_install.rsp -ignorePrereq
# 出现了新问题,“磁盘临时交换空间不足”
# 重启下虚拟机,临时交换空间就清空了,提示有个建议,我不接受
# 开启另一个窗口执行生成的两个脚本
11、oracle用户配置环境变量
sudo su - oracle
vi .bash_profile
# 如下配置
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data
# 使文件生效
source ~/.bash_profile
12、安装数据库实例
sudo su - oracle
cd /home/oracle/oracle/etc
vi dbca.rsp
# 配置如下
# 78行 全局数据库的名字
GDBNAME = "orcl"
# 149行 SID对应的实例名字
SID = "orcl"
# 190行 SYS管理员密码
SYSPASSWORD = "@hz0aroot"
# 200行 SYSTEM管理员密码
SYSTEMPASSWORD = "@hz0aroot"
SYSMANPASSWORD = "@hz0aroot"
DBSNMPPASSWORD = "@hz0aroot"
# 357行 数据文件存放目录,默认值:$ORACLE_BASE/oradata,【该目录下的数据库文件是用各个数据库实例名命名的文件夹区分开来
DATAFILEDESTINATION =/home/oracle/oracle/oradata #有默认值,可选
# 367行 恢复数据存放目录,默认值:$ORACLE_BASE/flash_recovery_area
RECOVERYAREADESTINATION = /home/oracle/oracle/flash_recovery_area #有默认值,可选
# 415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚
CHARACTERSET = "AL32UTF8"
# 540行 oracle内存40,960MB,建议为物理内存70%~85%,物理内存50*1024*80%
TOTALMEMORY = "40960"
13、静默安装数据库
sudo su - oracle
dbca -silent -responseFile /home/oracle/oracle/etc/dbca.rsp
# 报错了,好像是缺少 “libclntsh.so.11.1”
# 去 /home/oracle/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib 中复制缺少的那个文件
sudo su - oracle
cd /home/oracle/oracle/product/11.2.0/db_1/inventory/Scripts/ext/lib
cp libclntsh.so.11.1 /home/oracle/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1
# 再次执行命令
sudo su - oracle
dbca -silent -responseFile /home/oracle/oracle/etc/dbca.rsp
14、实例检查
sudo su - oracle
ps -ef | grep ora_ | grep -v grep
15、监听配置
sudo su - oracle
netca /silent /responsefile /home/oracle/oracle/etc/netca.rsp
16、连接测试
sudo su - oracle
sqlplus / as sysdba
二、Oracle常用命令
1、数据库启动与关闭
# 启动数据库
STARTUP;
# 立即关闭数据库
SHUTDOWN IMMEDIATE;
# 强制关闭数据库
SHUTDOWN ABORT;
# 查看数据库服务名称
select instance_name from v$instance;
# 以管理员模式进入 SQL*Plus(不登录)
sqlplus /nolog
# 然后以管理员模式登录
conn /as sysdba
# 直接以管理员模式登录
sqlplus / as sysdba
2、监听器命令
# 启动监听器
lsnrctl start
# 停止监听器
lsnrctl stop
# 查看监听器状态
lsnrctl status