Linux下安装Oracle 12cR2

Oracle 12C简介

Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。
CDB与PDB关系图
CDB组件(Components of a CDB)
     一个CDB数据库容器包含了下面一些组件:
    ROOT组件
       ROOT又叫CDB R O O T , O R A C L E C o m m o n U s e r , O R A C L E P L / S Q L C o m m o n U s e r         S E E D           S e e d P D B ROOT, 存储着ORACLE提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,Common User 是指在每个容器中都存在的用户。     SEED组件       Seed又叫PDB SEED,这个是你创建PDBS数据库的模板,你不能在Seed中添加或修改一个对象。一个CDB中有且只能有一个Seed. 这个感念,个人感觉非常类似SQL SERVER中的model数据库。
    PDBS
     CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作PDB

安装前准备

CentOS7@VMware12,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB
Oracle12C企业版64位
注意:CentOS6.5的话建议安装11g,不然的话各种不兼容。
linuxx64_12201_database.zip
• root身份安装依赖包:

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

• 建立用户和组:

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo “password” | passwd --stdin oracle #oracle

用户的登录密码,后续登录要用,记着。

• 创建安装目录:

mkdir -p /home/oracle/app/oracle/product/12.2.0.1.0/dbhome_1
chown -R oracle:oinstall /home/oracle/app
chmod -R 775 /home/oracle/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

• 改文件限制: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

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

session required pam_limits.so

• 修改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

• 修改环境变量。vi ~oracle/.bash_profile,添加:

export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/12.2.0.1.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH

上述工作完成后,建议重启系统。

开始安装

• 以oracle用户登录,开始安装:
解压zip

unzip linuxx64_12201_database.zip -d /usr/local

图形化界面进入/usr/local/database
执行

./runInstaller

• 然后就会出现安装界面,配置过程从略。需要注意的是字符集要选择unicode。

12c 下 pdb 切换及用户创建

• 打开PDB数据库

sqlplus / as sysdba
startup
alter pluggable database ORCLPDB open;
alter session set container=ORCLPDB;

在CDB 下创建用户只能以C##或c## 开头
创建表空间及表空间下用户略。
若出现ORA-01017: invalid username/password; logon denied
可修改该用户下密码再次重试。
• 修改 tnsnames.ora 添加:

ORCLPDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = JCPT-DEV)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclpdb)
)
)

• 在sqlplus中测试能否连接

conn hiplog/hokaihiplog@ORCLPDB
Connected.

• pl/sql 连接图示
连接图示

注意修改application.properties 的连接地址,以及iib ODBC的连接配置

• 修改oracle/product/12.2.0.1.0/dbhome_1/network/admin/sqlnet.ora 添加:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11

发布了3 篇原创文章 · 获赞 5 · 访问量 3475

猜你喜欢

转载自blog.csdn.net/qq_33402111/article/details/97914809