概述
准备工作
为了方便学习,下面操作都做一下,否则奇奇怪怪的问题会层出不穷。
首先附上我用的Oracle安装包,提取码qwe1
: 点击这里
1. 防火墙
- 关闭防火墙
systemctl stop firewalld.service
- 禁止防火墙开机启动
systemctl disable firewalld.service
- 查看防火墙状态
systemctl status firewalld.service
2. 禁用SELINUX
- 编辑文件
vi /etc/selinux/config
找到指定行修改改行为:SELINUX=disabled
3.依赖安装
直接全部复制粘贴就行
yum install binutils -y
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install make -y
yum install nfs-utils -y
yum install net-tools -y
yum install smartmontools -y
yum install sysstat -y
yum install unzip -y
yum install unixODBC* -y
yum install gcc* -y
安装完校验一下安装好没有(缺啥补啥),不校验也没关系,装oracle过程中会告诉你缺少啥的。
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
最后还可以下执行以下yum update -y
更新一下依赖,保证万无一失。
4. 图形配置
因为后面需要用到图形化安装,所以事先准备好XShell的图形化配置。
- 安装
Xmanager
(百度安装一下分分钟解决的),装完丢一边,回到xshell执行如下命令。 yum install -y xclock
yum -y groupinstall "X Window System" "Fonts"
export DISPLAY='88.88.88.88:0.0'
将ip换成你自己的ip,windows的IP啊,win+R 输入cmd 再输入ipconfig就能看到
。- 重新连接一下xshell,注意下图的配置
xclock
输入这个命令,弹出如下图样子,说明配置完成了。
ps: 如果像我一样出现Warning: Missing charsets in String to FontSet conversion
警告,执行一下export LANG=C
即可解决。
5. 必要的参数配置
- 创建系统的oracle用户与组
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
useradd -u 54321 -g oinstall -G dba,oper oracle
passwd oracle
整体复制粘贴,输入密码之后使用id oracle
即可查看信息。
-
配置内核参数(这些参数根据你机器的配置不同,有些参数需要再次修改,在安装oralce过程中的check那一步,会给出提示,按要求逐个修改对应的推荐值即可)
vi /etc/sysctl.d/98-oracle.conf
- 粘贴如下内容
fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 kernel.panic_on_oops = 1 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf
-
配置ulimit参数
vi /etc/security/limits.d/oracle-database-server-12cR2-preinstall.conf
- 粘贴下列内容
oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 16384 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768 oracle hard memlock 134217728 oracle soft memlock 134217728
-
在
/opt
下创建u01
文件夹mkdir /opt/u01
chown -R oracle:oinstall /opt/u01
chmod -R 775 /opt/u01
chmod g+s /opt/u01
- 重启服务器:
reboot
开始安装
1. 上传oracle安装包
PS: 记得给你的文件夹赋权,不然oracle用户解压不了文件:我的:chmod 777 oracleZiphere
2. 切换oracle用户,解压你的压缩包,开始安装。
- su - oracle
- cd /opt/oracleZiphere
- unzip V839960-01.zip
- cd database/
- ./runInstaller
执行./runInstaller
可能会出下如下错误,再执行一下下面的命令即可:
export DISPLAY='88.88.88.88:0.0'
将ip换成你自己的ip,windows的IP啊,win+R 输入cmd 再输入ipconfig就能看到。
3. 下面的操作看图说话吧
这里注意看说明,这个是要你以root登录执行那两个命令的
第一条:
第二条:
4. 配置环境变量
su - oracle
这个是切换到oracle用户vi ~/.bash_profile
- 粘贴下列内容,还是那句话,路径你是按照我的来的,那这里也是和我的一样,不然就自行修改成自己的
export EDITOR=vi export ORACLE_SID=orcl export ORACLE_BASE=/opt/u01/oracle/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export PATH=/opt/u01/oracle/app/oracle/product/12.2.0/dbhome_1/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin export PATH=$ORACLE_HOME/bin:$PATH
source ~/.bash_profile
至此安装已完成。
PS: 补充一下你重启服务器后启动oracle的命令
su - oracle #切换oracle用户
lsnrctl start #启动监听
sqlplus /nolog #进入sqlplus
CONNECT / AS SYSDBA #以sysdba身份进入
STARTUP #启动oracle
开始进行用户创建和创建表空间操作
1. 执行sqlplus /nolog
进入sql页面
我这边乱码了,解决方式如下:
quit
退出sqlvi ~/.bash_profile
- 增加:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
source ~/.bash_profile
2.创建外部登录用户以及表空间
创建之前可以先了解一下CDB和PDB的区别:参考这篇文章
其实CDB创建的用户必须带有c##,比如你想创建一个用户zhangsan,那么你得创建c##zhangsan才能成功,而PDB直接zhangsan就可以。所以这里我选择使用PDB的方式创建用户。
- 先查看当前是CDB还是PDB:
show con_name;
- 切换PDB,首先查看
这个ORCLPDB
是不是很熟悉,安装时的第六张图里有的创建容器数据库就是这个。 - 开始切换
alter pluggable database orclpdb open;
alter session set container=ORCLPDB;
- 创建表空间和用户
-
创建数据库表空间文件:
CREATE TABLESPACE KUSCHZZPTEST LOGGING DATAFILE 'KUSCHZZPTEST.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL;
-
创建数据库临时表空间文件:
create temporary TABLESPACE KUSCHZZPTEST_temp tempfile 'KUSCHZZPTEST_TEMP.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL;
-
创建用户,并与表空间建立关系:
CREATE USER KUSCHZZP IDENTIFIED BY kuschzzp DEFAULT TABLESPACE KUSCHZZPTEST TEMPORARY TABLESPACE KUSCHZZPTEST_TEMP;
-
给用户授权:
grant connect,resource,dba to KUSCHZZP; grant create session to KUSCHZZP;
-
补充删除的语句:
-- 删除数据库 drop tablespace KUSCHZZPTEST including contents and datafiles; drop tablespace KUSCHZZPTEST_TEMP including contents and datafiles; -- 删除用户 drop user kuschzzp cascade;
-
此时用户注册好了,我注册的是kuschzzp密码kuschzzp,下面用navicat登录一下看看。
PS:有些情况可能会失败,因为orclpdb
可能没有创(我是出现过,你看情况吧),所以是连不上的,解决方式如下:
还是以我的路径举例:找到如下路径的文件
cd /opt/u01/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin
vi tnsnames.ora
- 重启数据库和监听
先停:
su - oracle
lsnrctl stop
sqlplus /nolog
conn / as sysdba
shutdown
启动
startup
quit
lsnrctl start
- 启动后默认是CDB,下面切换PDB
show con_name;
alter pluggable database orclpdb open;
alter session set container=ORCLPDB;
- 最后补充一下Java代码连接oracle数据库的写法:
首先我用的依赖是:
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
我的连接写法是:
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@//192.168.209.134:1521/orclpdb
spring.datasource.username=kuschzzp
spring.datasource.password=kuschzzp
关于服务名连接和SID连接写法是有差异的,具体可以看这位大神的文章:这里
我这里总结如下,我觉得也就是冒号和斜杠的区别:
- 1.使用服务名配置方式:
jdbc:oracle:thin:@//192.168.209.134:1521/orclpdb
- 2.使用SID配置方式:
jdbc:oracle:thin:@192.168.209.134:1521:orclpdb
最后
以上就是殷勤月亮为你收集整理的【Database】虚拟机centos7安装Oracle12c数据库,以及创建用户使用PLSQL或者Navicat连接的全部内容,希望文章能够帮你解决【Database】虚拟机centos7安装Oracle12c数据库,以及创建用户使用PLSQL或者Navicat连接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复