文章目录
前言
前面里两个章节介绍了在Linux中通过图形化、静默方式安装oracle 11g的数据库
此章节介绍一下在具有11g数据库的基础上安装12c
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建新用户:
[root@tdcxl ~]# useradd -d /home/oracle12c -u 54322 -g oinstall -G dba oracle12c
[root@tdcxl ~]# passwd oracle12c
更改用户 oracle12c 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
二、创建文件夹并赋权配置环境变量:
[root@tdcxl ~]# mkdir -p /data12c/oracle/product/12.2.0/db_1
[root@tdcxl ~]# chown oracle:dba -R /data12c/
[root@tdcxl ~]# chmod 744 -R /data12c/
[root@tdcxl ~]# vi /home/oracle12c/.bash_profile
####添加以下内容####
export ORACLE_BASE=/data12c/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=orcl12c
export ORACLE_UNQNAME=orcl12c
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
####生效环境变量####
[root@tdcxl ~]# source /home/oracle12c/.bash_profile
三、创建解压位置以及配置文件位置并赋权:
[root@tdcxl data12c]# mkdir oraInventory
[root@tdcxl data12c]# chown oracle12c:oinstall -R /data12c/oraInventory/
[root@tdcxl data12c]# mkdir database
[root@tdcxl data12c]# chown oracle12c:oinstall -R /data12c/database/
[root@tdcxl 12.2.0]# chown oracle12c:oinstall -R /data12c
四、将安装包导入/user/local/src/12.2.0并解压至/data12c/database下:
[oracle12c@tdcxl database]$ cd database/
[oracle12c@tdcxl database]$unzip /user/local/src/12.2.0/linuxx64_12201_database.zip
省略…
五、验证rpm安装情况:
[root@tdcxl ~]# rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libxcb libXi make sysstat
六、安装缺失的rpm :
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutilslibelf-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 unixODBCdevel*.i686 libXp
七、对oracle12c用户进行限制,提高软件性能:
[root@tdcxl ~]# vim /etc/security/limits.conf
修改内容参考:
oracle soft nofile 10240
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
八、调用图形安装12C:
[root@tdcxl 12.2.0]# export DISPLAY=:0.0
[root@tdcxl ~]# xhost +
access control disabled, clients can connect from any host
[oracle12c@tdcxl database]$ DISPLAY=192.168.119.1:0.0
[oracle12c@tdcxl database]$ export DISPLAY
[oracle12c@tdcxl database]$ ./runInstaller
首先要保证linux服务器上安装了xterm,如果还未安装xterm,可以运行yum来安装:
[root@tdcxl ~]# yum install xterm
使用Xstart连接linux服务器:
/usr/bin/xterm -ls -display $DISPLAY
执行root脚本:
root@tdcxl ~]# sh /data12c/oracle/product/12.2.0/db_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle12c
ORACLE_HOME= /data12c/oracle/product/12.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
九、遇到安装问题:
[INS-20802] Oracle Net Configuration Assistant failed.
错误是,安装libaio包,来解决问题。推荐使用yum install来安装。
yum install -y libaio 可以解决该问题
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
因为我一个库里有两个实例,启动时/dev/shm就不够用了。
在Oracle 11g中如果采用AMM内存管理,那么当MEMORY_TARGET的值大于/dev/shm的时候,就会报ORA-00845: MEMORY_TARGET not supported on this system错误,解决办法增加/dev/shm大小,在redhat系列系统中,/dev/shm的默认值是系统总内存的一半
[root@tdcxl ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 36G 27G 8.6G 76% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 928M 965M 50% /dev/shm
tmpfs 1.9G 13M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 179M 836M 18% /boot
tmpfs 379M 4.0K 379M 1% /run/user/42
tmpfs 379M 32K 379M 1% /run/user/0
/dev/sr0 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64
/dev/sdb2 35G 15G 18G 45% /data12c
[root@tdcxl ~]# mount -o size=3G -o nr_inodes=1000000 -o noatime,nodiratime -o remount /dev/shm
持久化修改
vim /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=3G 0 0
SQL> show parameter target;
ora_28040:没有匹配的验证协议
原因:sqldevelop版本低于oracle服务端版本,我的oracle是12c.
解决:
1、找到${oracle_home}\network\admin\sqlnet.ora文件
2、在末端添加SQLNET.ALLOWED_LOGON_VERSION=8
此问题将会出单独章节解释,敬请关注!