重要的准备工作:
来源:https://blog.csdn.net/lengyue1084/article/details/51405640
(1)使用dd命令创建一个swap交换文件
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
这样就建立一个/home/swap的分区文件,大小为1G。
(2)制作为swap格式文件:
mkswap /home/swap
(3)再用swapon命令把这个文件分区挂载swap分区
/sbin/swapon /home/swap
我们用free -m命令看一下,发现已经有交换分区了
但是重启系统后,swap分区又变成0了。
(4)为防止重启后swap分区变成0,要修改/etc/fstab文件
nano /etc/fstab
(可以使用yum install nano 安装nano编辑器)
在文件末尾(最后一行)加上
/home/swap swap swap default 0 0
ctrl+x,按y保存
这样就算重启系统,swap分区还是有值。
[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd oracle -g oinstall -G dba
jdk-8u211 for linux下载:
链接:https://pan.baidu.com/s/1yivThLOKuoVKoxEhfDcaoQ 密码:2z5r
环境变量:
https://www.cnblogs.com/yuanchaoyong/p/9747164.html
================================================
(1)创建目录,方便软件管理
在 /usr/local/ 目录创建一个software目录
进入software目录 cd /usr/local/software
(2)下载oracle的依赖:
wget https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
(3)下载Oracle19c:
前往https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
下载Oracle19c的RPM包,然后上传到 /usr/local/software 的目录下
在 /usr/local/software 目录下
安装依赖:
yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
安装Oracle19c :
yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
创建数据库(需要较长的时间,请耐心等待):
/etc/init.d/oracledb_ORCLCDB-19c configure
配置Oracle环境变量
编辑profile文件:
nano /etc/profile
在文件末尾加上
#Oracle environment
export PATH
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export LANG=en_US.UTF-8
export NLS_LANG=american_america.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin:/home/oracle/run
export ORACLE_TERM=xterm
export 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=$ORACLE_HOME/jdk
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
export TMOUT=0
alias s="sqlplus / as sysdba"
使环境变量生效:
source /etc/profile
(1)为oracle用户设置一个密码:
[root@localhost]# passwd oracle
(2)进入oracle用户,因为root用户无法登陆oracle
[root@localhost]# su - oracle
(3)敲一个 s 命令,回车,就可以进入到oracle的命令行模式,因为环境变量配置了alias s="sqlplus / as sysdba"
sqlplus / as sysdba表示没有用户名和密码验证的意思。这个在创建用户的时候,使用,如果要进行数据库操作,请勿使用此命令。
[oracle@localhost ~]$ s
(4)创建oracle数据库的用户:
首先要执行下面两个命令,才可以创建数据库的用户:
SQL> conn / as sysdba;
SQL> alter session set "_ORACLE_SCRIPT"=true;
创建用户:(用户名和密码都是seacat)
SQL> create user seacat identified by seacat;
目的是配置listener.ora监听文件
(1) root用户下,进入目录:
cd /opt/oracle/product/19c/dbhome_1/network/admin
然后编辑listener.ora文件:
nano listener.ora
把默认的配置文件改成下面的结构,实际上,多加了一个SID_LIST_LISTENER的配置,(LISTENER的配置不要动)
要注意:SID_LIST下的配置代码一定要tab建缩进,否则无法识别
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = izuf6ddyiugxoeqrb7r7f0z)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCLCDB)
(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
(SID_NAME = ORCLCDB)
)
)
ctrl+x , 按y保存
(2)重启监听:
进入oracle的用户 su - oracle
[oracle@localhost ~]$ lsnrctl stop
[oracle@localhost ~]$ lsnrctl start
查看监听状态:
[oracle@localhost ~]$ lsnrctl status
(3) 查看ORACLE_SID的值:
[oracle@localhost ~]$ echo $ORACLE_SID
这个ORACLE_SID的值要跟 listener.ora 配置文件里面的GLOBAL_DBNAME和SID_NAME的值要一致,否则连接Oracle会报错,所以,我们用NavicatPremium连接Oracle时,Server Name 不用默认值,而是用ORCLCDB这个值
(4) 我们要在阿里云官网设置防火墙规则,开放1521端口
上阿里云官网,进入控制台,进入你的服务器,选择防火墙,添加规则,允许TCP和UDP协议的1521端口
(5)我们试着用NavicatPremium连接阿里云的Oracle
,我们发现报错了:
解决办法:
在oracle用户下敲 s 命令进入oracle命令行模式
SQL> grant create session to seacat;
seacat是数据库用户名
尝试重新用NavicatPremium连接阿里云的Oracle
如果要进行数据库操作
su - oracle 进入oracle用户
然后键入sqlplus命令以后,输入刚刚创建的Oracle用户名和密码就OK了