Fedora安装Oracle数据库

  • 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
targetcli

Fedora 使用包管理器为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. 远程连接

猜你喜欢

转载自blog.csdn.net/God_Father_kao/article/details/84487467