我是靠谱客的博主 知性皮卡丘,最近开发中收集的这篇文章主要介绍Centos7安装oracle12C,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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.建立用户组

groupadd oinstall  
groupadd dba  
groupadd oper  
useradd -g oinstall -G dba,oper oracle  
echo "oracle" | passwd --stdin oracle #oracle用户的登录密码,后续登录要用,记着。

3.创建安装目录:

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,添加:

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

改好后,使之生效

sysctl -p

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

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,添加:

session required pam_limits.so

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

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,添加:

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下,如下步骤:

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##,那么,怎么恢复我们以前的创建用户习惯呢?
如果是第一次安装,则在创建数据库步骤中的创建模式中不要勾选“创建为容器数据库”,(或重装不要勾选该选项)
如果已经安装过了,则按照下面操作:
确保数据库是启动状态

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

停止

1.#su - oracle 切换到 oracle 用户且切换到它的环境
2.$lsnrctl stop 停止监听
3.$sqlplus / as sysdba 以 DBA 身份进入 sqlplus

4.SQL>SHUTDOWN IMMEDIATE; #关闭 db

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

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增加:

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报错如下:

[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转发

数据库使用相关操作

#进入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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部