> 技术文档 > Oracle 的单体安装

Oracle 的单体安装

目录

一、Oracle部署

1、官网获取安装包

2、创建Oracle账户

3、将软件包上传到指定账户中

4、解压安装包

5、安装依赖包

6、创建oracle安装目录和设置目录权限

7、配置oracle用户环境变量

8、将解压的文件复制到etc目录下

9、配置数据库安装文件

10、根据响应文件安装oracle

11、oracle用户配置环境变量

12、安装数据库实例

13、静默安装数据库

14、实例检查

15、监听配置

16、连接测试

二、Oracle常用命令

1、数据库启动与关闭

2、监听器命令


一、Oracle部署

1、官网获取安装包

oracle官网

2、创建Oracle账户

#系统版本

sudo su - rootuseradd oraclepasswd oracle

3、将软件包上传到指定账户中

4、解压安装包

sudo su - oracleunzip V17530-01_1of2.zipunzip V17530-01_2of2.zip

5、安装依赖包

sudo su - rootyum -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 - oraclevi .bash_profile

# 刷新配置

sudo su - oraclesource .bash_profile

8、将解压的文件复制到etc目录下

sudo su - oraclecd /home/oracle/oraclemkdir etccd ~cp database/response/* oracle/etc/

9、配置数据库安装文件

sudo su -  oraclevi /home/oracle/oracle/etc/db_install.rsp

10、根据响应文件安装oracle

sudo su - oraclecd 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 - oraclecd database./runInstaller -silent -force -responseFile /home/oracle/oracle/etc/db_install.rsp -ignorePrereq

# 还是报错,又百度了下,需要切换到root账户下执行 dnf install libnsl

# 切换到oracle 账户下再次执行命令

sudo su - oraclecd /home/oracle/database./runInstaller -silent -force -responseFile /home/oracle/oracle/etc/db_install.rsp -ignorePrereq

# 出现了新问题,“磁盘临时交换空间不足”

# 重启下虚拟机,临时交换空间就清空了,提示有个建议,我不接受

# 开启另一个窗口执行生成的两个脚本

11、oracle用户配置环境变量

sudo su - oraclevi .bash_profile# 如下配置export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export TNS_ADMIN=$ORACLE_HOME/network/adminexport PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/binexport PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/binexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/libexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JREexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/libexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlibexport LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/libexport ORACLE_OWNER=oracleexport SPFILE_PATH=$ORACLE_HOME/dbsexport ORA_NLS10=$ORACLE_HOME/nls/data# 使文件生效source ~/.bash_profile

12、安装数据库实例

sudo su - oraclecd /home/oracle/oracle/etcvi 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_areaRECOVERYAREADESTINATION = /home/oracle/oracle/flash_recovery_area #有默认值,可选# 415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚CHARACTERSET = \"AL32UTF8\"# 540行 oracle内存40,960MB,建议为物理内存70%~85%,物理内存50*1024*80%TOTALMEMORY = \"40960\"

13、静默安装数据库

sudo su - oracledbca -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 - oraclecd /home/oracle/oracle/product/11.2.0/db_1/inventory/Scripts/ext/libcp libclntsh.so.11.1 /home/oracle/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1

# 再次执行命令

sudo su - oracledbca -silent -responseFile /home/oracle/oracle/etc/dbca.rsp

14、实例检查

sudo su - oracleps -ef | grep ora_ | grep -v grep

15、监听配置

sudo su - oraclenetca /silent /responsefile /home/oracle/oracle/etc/netca.rsp

16、连接测试

sudo su - oraclesqlplus / 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