- 1. 下载Oracle
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
- 2. 查看安装Oracle文档
https://docs.oracle.com/en/database/oracle/oracle-database(官方文档)
https://my.oschina.net/colben/blog/1834555 (自己研究的靠谱教程)
自己可以多找一些靠谱教程看一下
- 3. 安装JDK
https://blog.csdn.net/God_Father_kao/article/details/84197498
- 4. 安装依赖(官方文档里面有依赖,可以安装之前查看一下)
bc
binutils
compat-libcap1
compat-libstdc++
glibc
glibc-devel
ksh
libaio
libaio-devel
libX11
libXau
libnsl
libXi
libXtst
libXrender-devel
libXrender
libgcc
libstdc++
libstdc++-devel
libxcb
make
nfs-utils
net-tools
python
python-configshell
python-rtslib
python-six
smartmontools
sysstat
targetcliFedora 使用包管理器为dnf, 安装依赖命令为(dnf install XXXXXXX),如果已经安装会提示你已经安装
- 5. 创建用户,组
root# groupadd oinstall
root# groupadd dba
root# groupadd oper
root# useradd -g oinstall -G dba,oper oracle
root# passwd oracle
- 6. 创建Oracle安装文件夹
root# mkdir -p /opt/oracle/app/product/12.2.0
root# mkdir -p /opt/oracle/app/oradata
root# mkdir -p /opt/oracle/app/fast_recovery_area
root# chown -R oracle:oinstall /opt/oracle
root# chmod -R 775 /opt/oracle
- 7. 修改主机名
root# vi /etc/sysconfig/network
HOSTNAME=Fedora-Server
- 8. 配置环境变量
root# vi /home/oracle/.bash_profile
# Oracle_Environment
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0
export ORACLE_SID=orcl
export PATH=\$PATH:\$ORACLE_HOME/bin
root# source /home/oracle/.bash_profile
- 9. 解压Oracle安装包
root# unzip linuxx64_12201_database.zip
root# chown -R oracle:oinstall ./database
root# chmod -R 775 ./database
- 10. 修改安装配置文件
root# cd database/response/
// 数据库安装程序配置
root# vi db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oracle/oraInventory
ORACLE_HOME=/opt/oracle/app/product/12.2.0
ORACLE_BASE=/opt/oracle/app
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.characterSet=AL32UTF8
DECLINE_SECURITY_UPDATES=true
//修改数据库配置
root# vi dbca.rsp
gdbName=orcl
sid=orcl
createAsContainerDatabase=true
numberOfPDBs=1
pdbName=pdborcl
templateName=General_Purpose.dbc
sysPassword=P@sswo2d
systemPassword=P@sswo2d
- 11. 静默安装
要使用Oracle用户执行
Oracle$ ./runInstaller -silent -ignorePrereq -responseFile /zFiles/database/response/db_install.rsp
- 11.1遇到的问题
[FATAL] [INS-10102] Installer initialization failed.
CAUSE: An unexpected error occurred while initializing the Installer.
ACTION: Contact Oracle Support Services or refer logs
SUMMARY:
- [INS-10012] Setup driver initialization failed.
- no oraInstaller in java.library.path
查看oraInstall2018-11-23_12-39-10PM.err日志为
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2018-11-23_12-39-10PM/oui/lib/linux64/liboraInstaller.so: libnsl.so.1: cannot open shared object file: No such file or directory
原因没有安装libnsl-64位的包dnf install libnsl.x86_64./runInstaller: line 67: 23967 Segmentation fault (core dumped) ${ORACLE_HOME}/perl/bin/perl -I${ORACLE_HOME}/perl/lib -I${ORACLE_HOME}/bin ${ORACLE_HOME}/bin/dbSetup.pl -J-D${CVU_OS_SETTINGS} $*
解决办法:下载dnf install perl,将usr/bin/perl 复制到${ORACLE_HOME}/perl/bin/perl
- 12. 执行脚本
root# /opt/oracle/oraInventory/orainstRoot.sh
root# /opt/oracle/app/product/12.2.0/root.sh
- 13. 安装监听器
Oracle$ netca /silent /responseFile /zFiles/database/response/netca.rsp
- 14. 安装数据库
Oracle$ dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp
- 15. 创建用户
1. 连接数据库
oracle$ sqlplus / as sysdba
2. 创建c##scott用户(这里创建的用户为:c##scott,密码为:tiger)
SQL> create user c##scott identified by tiger
3.为用户授权
SQL> grant connect,resource,unlimited tablespace to c##scott container=all;
4.设置用户使用的表空间
SQL> alter user c##scott default tablespace users;
SQL> alter user c##scott temporary tablespace temp;
5.使用c##scott用户登录
SQL> connect c##scott/tiger
6.显示当前登录的用户
SQL> show user
- 16. 将端口加入防火墙
Fedora使用的是firewall(动态防火墙)不了解可以去查一下
1.查看当前使用防火墙激活的域
root# firewall-cmd --list-all
FedoraServer (active)
target: default
icmp-block-inversion: no
interfaces: eno1
sources:
services: cockpit dhcpv6-client ssh
ports: 1521/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
2. 将1521端口加入防火墙允许的通过端口里
// --zone=FedoraServer 一定要写已经激活的域,不然没用
root# firewall-cmd --zone=FedoraServer --add-port=1521/tcp --permanent
3. 更新防火墙
root# firewall-cmd --reload
- 17. 远程连接