我是靠谱客的博主 知性皮卡丘,这篇文章主要介绍Centos7安装oracle12C,现在分享给大家,希望可以做个参考。

注:本教程在结合网上教程,自己实际安装记录!
准备软件:
1.12c数据库安装包:linuxx64_12201_database.zip
2.jdk的rpm包:jdk-8u201-linux-x64.rpm

数据库安装流程:
1.安装依赖:

复制代码
1
2
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

2.建立用户组

复制代码
1
2
3
4
5
6
groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle echo "oracle" | passwd --stdin oracle #oracle用户的登录密码,后续登录要用,记着。

3.创建安装目录:

复制代码
1
2
3
4
mkdir -p /orcl/app/oracle/product/12.1.0/db_1 chown -R oracle:oinstall /orcl/app chmod -R 775 /orcl/app

修改内核参数vi /etc/sysctl.conf,添加:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4098955264 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576

改好后,使之生效

复制代码
1
2
sysctl -p

5.改文件限制:vi /etc/security/limits.conf,添加:

复制代码
1
2
3
4
5
6
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240

注意:修改此文件是即时生效的,但可能要重登录后再看

6.以及vi /etc/pam.d/login,添加:

复制代码
1
2
session required pam_limits.so

7.修改ulimit:vi /etc/profile,添加:

复制代码
1
2
3
4
5
6
7
8
9
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536a else ulimit -u 16384 -n 65536 fi fi

8.修改oracle用户环境变量。vi /home/oracle/.bash_profile,添加:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
ORACLE_BASE=/orcl/app/oracle ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1 ORACLE_SID=orcl ORACLE_ADMIN=$ORACLE_HOME/network/admin LANG=zh_CN.UTF-8 #NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" NLS_LANG="american_america.zhs16gbk" export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_ADMIN LANG NLS_LANG PATH=$ORACLE_HOME/bin:$PATH export PATH

9.如果系统自带了openJDK,用yum remove *openjdk* 把系统自带的openjdk卸载,
再安装sun jdk:rpm -ivh jdk-8u144-linux-x64.rpm。(下载地址百度)(openjdk环境安装oracle GUI会报class notfound的错)。然后执行java -version检查一下安装是否成功。
上述工作完成后,建议重启系统。

10.以oracle用户登录,开始安装:
:下载好的Oracle要放到/orcl/app/oracle目录下,/orcl/app/oracle/下是2个目录:product和database。解压后的安装文件放在database下,如下步骤:

复制代码
1
2
3
4
5
6
7
8
su oracle cd /orcl/app/oracle unzip linuxx64_12201_database.zip export LANG="en_US" #结合自己oracle用户实际编码 export LANG=zh_CN.UTF-8 cd /orcl/app/oracle/database ./runInstaller

执行如上安装命令,然后就会出现安装界面,配置过程从略。需要注意的是字符集要选择unicode
如果执行./runInstaller报错,详见下面数据库问题解决 第5点

11.按照步骤安装好数据库后执行dbca,使用图形化界面创建数据库实例
Oracle12c数据库的创建用户的方式有所改变,因为Oracle 12C引入了CDB与PDB的新特性,具体特性就不多说了,感兴趣可查看官方文档。因此,我们平时所用的创建用户的命令也有所变化,必须得加C##或c##,那么,怎么恢复我们以前的创建用户习惯呢?
如果是第一次安装,则在创建数据库步骤中的创建模式中不要勾选“创建为容器数据库”,(或重装不要勾选该选项)
如果已经安装过了,则按照下面操作:
确保数据库是启动状态

复制代码
1
2
3
4
5
6
sqlplus /nolog #nolog模式进入 conn sys/sys as sysdba #登录用户sys show con_name #查看链接的用户 select con_id,dbid,NAME,OPEN_MODE from v$pdbs; # alter session set container=PDBORCL; #

12.数据库的启动和关闭
启动

复制代码
1
2
3
4
5
6
1.#su - oracle 切换到 oracle 用户且切换到它的环境 2.$lsnrctl status 查看监听及数据库状态 3.$lsnrctl start 启动监听 4.$sqlplus / as sysdba 以 DBA 身份进入 sqlplus 5.SQL>startup; #启动 db

停止

复制代码
1
2
3
4
5
6
1.#su - oracle 切换到 oracle 用户且切换到它的环境 2.$lsnrctl stop 停止监听 3.$sqlplus / as sysdba 以 DBA 身份进入 sqlplus 4.SQL>SHUTDOWN IMMEDIATE; #关闭 db

数据库问题解决
1.sqlplus 显示问号,解决办法
sqlplus / as sysdba进入
解决办法:

复制代码
1
2
3
4
5
6
7
8
9
SQL> show parameter nls_la NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ nls_language string SIMPLIFIED CHINESE 然后修改环境变量:NLS_LANG [oracle@rac2 ~]$ export NLS_LANG=american_america.zhs16gbk

如果要使之永久生效,可以添加这个变量到oracle 用户环境 .bash_profile中。
问题解决

2.启动plsql去连接:ORA-12705:Cannot access NLS data files or invalid environment specified
如果是Windows平台,注册表里 HKEY_LOCAL_MACHINESOFTWAREORACLE 查找键 NLS_LANG,这个键由Oracle标准客户端安装创建, 值是 NA 。这个导致了 ORA-12705错误。解决方法就是修改NASIMPLIFIED CHINESE_CHINA.ZHS16GBK
Linux下 如果环境变量 NLS_LANG 值是NA 会引起 ORA-12705 错误,解决方法是修改环境变量
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

3.远程连接设置
listener.ora增加:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=orcl) (SID_NAME=orcl) (ORACLE_HOME=/orcl/app/oracle/product/12.1.0/db_1) #(PRESPAWN_MAX=20) #(PRESPAWN_LIST= # (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1)) #) ) )

4.sqlplus连接报错:TNS-01189: The listener could not authenticate the user
请检查listener.ora 中监听主机是否非当前主机
5. 执行./runInstaller报错如下:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[oracle@localhost database]$ ./runInstaller 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 500 MB。 实际为 41190 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 8063 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色 >>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<< 未通过某些要求检查。必须先满足这些 要求, 然后才能继续安装, 是否继续? (y/n) [n] y >>> 忽略未通过的必需先决条件。继续... 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2022-08-10_10-40-17PM. 请稍候...[oracle@localhost database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2022-08-10_10-40-17PM/jdk/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: 无法打开共享对象文件: 没有那个文件或目录 at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at java.awt.Toolkit$3.run(Toolkit.java:1636) at java.awt.Toolkit$3.run(Toolkit.java:1634) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.loadLibraries(Toolkit.java:1633) at java.awt.Toolkit.<clinit>(Toolkit.java:1668) at com.jgoodies.looks.LookUtils.isLowResolution(LookUtils.java:484) at com.jgoodies.looks.LookUtils.<clinit>(LookUtils.java:249) at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:135) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1874) at javax.swing.UIManager.setLookAndFeel(UIManager.java:582) at oracle.install.commons.util.Application.startup(Application.java:917) at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181) at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:198) at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:566) at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:127) at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:165)

出现上面的问题是因为安装需要图像化界面,解决方法是:yum groupinstall "X Window System" -y 安装该程序以支持图形化界面即可,不过安装之后,自己电脑需要安装Xming软件,且需要xshell软件勾选X11转发

数据库使用相关操作

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#进入oracle sqlplus / as sysdba #创建用户 create user user40 identified by user40; #12c使用 create user c##user40 identified by user40; #用户授权 grant connect,resource,dba to user40; #删除用户 drop user user_name; #删除用户并删除用户下所有数据表 drop user user_name cascade; #执行sql脚本 SQL>conn user40/user40; SQL>@/sqlpath/your_sql_sheet.sql; #启动监听 lsnrctl start #查看监听状态 lsnrctl status #关闭监听 lsnrctl stop

最后

以上就是知性皮卡丘最近收集整理的关于Centos7安装oracle12C的全部内容,更多相关Centos7安装oracle12C内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(116)

评论列表共有 0 条评论

立即
投稿
返回
顶部