1、修改主机名
[root@localhost ~]# hostnamectl set-hostname DBSNC.LOCAL
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.222 DBSNC.LOCAL
重启 revboot
2、配置Yum源
[root@dbsnc mnt]# mount -t auto /dev/cdrom /mnt/cdrom/
/etc/yum.repos.d
[Centos7]
name=Centos7
baseurl=file:///mnt/cdrom/
gpgcheck=0
enabled=1
gpgkey=file:///mnt/cdrom/rpm-gpg/RPM-GPG-KEY-CentOS-7
3、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
4、建立用户和组:
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle #oracle用户的登录密码
5、创建安装目录:
mkdir -p /orcl/app/oracle/product/12.1.0/db_1
chown -R oracle:oinstall /orcl/app
chmod -R 775 /orcl/app
6、修改内核参数vi /etc/sysctl.conf,添加:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1200000000
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
7、改文件限制: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
8、修改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
9、修改环境变量。vi ~oracle/.bash_profile,添加:
ORACLE_BASE=/orcl/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH
用yum remove *openjdk* 把系统自带的openjdk卸载,再安装sun jdk:rpm -ivh jdk-8u101-linux-x64.rpm。(openjdk环境安装oracle GUI会报class not found的错)。然后$>java -version检查一下安装是否成功。
上述工作完成后,建议重启系统。
以oracle用户登录,开始安装:
# su - oracle
$ cd /orcl/app/oracle
$ unzip linuxamd64_12102_database_se2_1of2.zip
$ unzip linuxamd64_12102_database_se2_2of2.zip
$ export LANG="en_US"
$ cd /orcl/app/oracle/database
$ ./runInstaller
注:/orcl/app/oracle/下是2个目录:product和database。解压后的安装文件放在database下。
然后就会出现安装界面,配置过程从略。需要注意的是字符集要选择unicode。
启动oracle:
#su - oracle #切换到 oracle 用户且切换到它的环境
$lsnrctl status #查看监听及数据库状态
$lsnrctl start #启动监听
$sqlplus / as sysdba #以 DBA 身份进入 sqlplus
停止oracle:
#su - oracle #切换到 oracle 用户且切换到它的环境
$lsnrctl stop #停止监听
SQL> select BANNER from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
PL/SQL Release 12.2.0.1.0 - Production
CORE12.2.0.1.0Production
TNS for Linux: Version 12.2.0.1.0 - Production
NLSRTL Version 12.2.0.1.0 - Production
在安装过程中,对Oracle12c 容器数据库不清楚,查看了相关资料学习了一下:
可插入数据库的概念:
Oracle Multitenant Container Database(CDB),即多租户容器数据库,是Oracle 12C引入的特性,指的是可以容纳一个或者多个可插拔数据库的数据库,这个特性允许在CDB容器数据库中创建并且维护多个数据库,
在CDB中创建的数据库被称为PDB,每个PDB在CDB中是相互独立存在的,在单独使用PDB时,与普通数据库无任何区别。CDB根容器数据库的主要作用就是容纳所有相关的PDB的元数据,以及在CDB中对所有的PDB进行管理。
多租户环境的组成
--ROOT
Root容器数据库,是CDB环境中的根数据库,在根数据库中含有主数据字典视图,其中包含了与Root容器有关的元数据和CDB中所包含的所有的PDB信息。在CDB环境中被标识为CDB$ROOT,每个CDB环境中只能有一个Root容器数据库。
--CDB seed
CDB seed为PDB的种子,其中提供了数据文件,在CDB环境中被标识为PDB$SEED,是创建新的 PDB的模板,你可以连接PDB$SEED,但是不能执行任何事物,因为PDB$SEED是只读的,不可进行修改。
--PDBs
PDB数据库,在CDB环境中每个PDB都是独立存在的,与传统的Oracle数据库基本无差别,每个PDB拥有自己的数据文件和objects,唯一的区别在于PDB可以插入到CDB中,以及在CDB中拔出,并且在任何一个时间点之上PDB必须拔出或
者插入到一个CDB中,当用户链接PDB时不会感觉到根容器和其他PDB的存在。
确认是否选择了CDB
SQL> select name,cdb from v$database;
NAME CDB
--------- ---
ORCL NO
如果是CDB的数据库,那么在创建用户的时候语法应该是 create user c##test identified by test;
个人理解:实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB),即实例与数据库可以是一对多的关系。