Centos7静默安装Oracle12c(12.2.0.1.0)DBCA创建
CDBPDB
Centos7静默安装Oracle12c(12.2.0.1.0) & DBCA创建CDB&PDB
1.安装数据库软件
安装OS依赖包
yum -y install binutils compat-libcap1 compat-libstdc++-33*.i686 compat-libstdc++-33 gcc gcc-c++ glibc*.i686 glibc glibc-devel*.i686 glibc-devel ksh libaio*.i686 libaio libaio-devel*.i686 libaio-devel libgcc*.i686 libgcc libstdc++*.i686 libstdc++ libstdc++-devel*.i686 libstdc++-devel libXi*.i686 libXi libXtst*.i686 libXtst make sysstat libxcb*.i686 libxcb libX11*.i686 libX11 libXau*.i686 libXau libXrender*.i686 libXrender libXrender-devel*.i686 libXrender-devel net-tools nfs-utils smartmontools bc
rpm -qa binutils compat-libcap1 compat-libstdc++-33*.i686 compat-libstdc++-33 gcc gcc-c++ glibc*.i686 glibc glibc-devel*.i686 glibc-devel ksh libaio*.i686 libaio libaio-devel*.i686 libaio-devel libgcc*.i686 libgcc libstdc++*.i686 libstdc++ libstdc++-devel*.i686 libstdc++-devel libXi*.i686 libXi libXtst*.i686 libXtst make sysstat bc libxcb*.i686 libxcb libX11*.i686 libX11 libXau*.i686 libXau libXrender*.i686 libXrender libXrend
er-devel*.i686 libXrender-devel net-tools nfs-utils smartmontools |wc -l
创建⽤户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba -m oracle
passwd oracle
创建Oracle数据库的安装⽬录(for静默安装)
mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
mkdir -p /opt/database
mkdir -p /opt/oracle/product/12.2.0.1.0/dbhome_1
mkdir -p /opt/oracle/oradata
mkdir -p /opt/oracle/flash_recovery_area
chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oracle/oradata
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database
chmod -R 775 /opt/oracle
Oracle⽤户的环境变量配置:
#oracle数据库安装⽬录
export ORACLE_BASE=/opt/oracle
#oracle数据库路径
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1.0/dbhome_1
#oracle启动数据库实例名
export ORACLE_SID=orcl
#xterm窗⼝模式安装
export ORACLE_TERM=xterm
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
#添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#防⽌安装过程出现乱码
#export LANG=en_US.gbk
export LANG=en_US.UTF-8
#设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持⼀致,
oracle11g 创建数据库#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG=AMERICAN_AMERICA.UTF8
解压
su - oracle
cd /opt
unzip linuxx64_12201_database.zip -d /opt/database
编辑静默安装响应⽂件
su oracle
cp -R /opt/database/database/response/ /home/oracle/
vim /home/oracle/response/db_install.rsp #Oracle 12.2.0.1.0和低版本的配置有些区别
oracle.install.option=INSTALL_DB_SWONLY
#ORACLE_HOSTNAME=localhost #没有该参数
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oraInventory
#SELECTED_LANGUAGES=en,zh_CN #没有该参数
ORACLE_HOME=/opt/oracle/product/12.2.0.1.0/dbhome_1
ORACLE_BASE=/opt/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba #和低版本项⽬,参数名 DBA_GROUP => OSDBA_GROUP 多了⼀个OS,其他后⾯⼏个也是⼀样的
oracle.install.db.OSOPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
#12c除了上⾯11g的参数外,还要额外设置下⾯参数,否则会报错
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba #12.2.0.1.0⽐12.1多出来的参数
静默安装
cd /opt/database/database
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
安装成功会提⽰root⾝份执⾏root.sh,按照执⾏即可
2.创建
以静默⽅式配置监听
重新使⽤oracle⽤户登录
su - oracle
cd /home/oracle/response/
netca /silent /responseFile /home/oracle/response/netca.rsp
注意此处,必须使⽤ /silent /responseFile 格式,⽽不是-silent -responseFile,因为是静默安装
查看监听状态
lsnrctl status
3.创建数据库
dbca建库
建库时刻根据⾃⼰的实际情况选择对应的⽅式建库,⼀般有下⾯⼏种:
1.创建存储为磁盘组的CDB单实例数据库
2.创建rac类型的CDB数据库
3.创建FS存储⽅式的单实例(不含PDB)数据库
4.创建FS存储⽅式的单实例(含⼀个PDB)数据库
5.静默⽅式创建⼀个⾮CDB数据库
由于本次我是想要创建CDB&PDB数据库,所以,这⾥和以往创建⾮CDB数据库的操作有些区别
接下来通过dbca创建容器数据库(CDB)
注意:
1.当数据库版本⼩于 1
2.2.0.1 时,⼀般放在 example 表空间中。从 Oracle 12.2 开始不再提供该⽰例表空间了,即使在创建语句中加
上“ sampleSchema true ”也依然没有 example 表空间,⽽会把相关数据放到 SYSAUX 表空间中。
2.在《Oracle数据库许可信息⽤户⼿册》中,详细说明了不同情况下PDB的个数限制:
对于所有产品,如果您未获得Oracle Multitenant(多租户)许可,则容器数据库体系结构可在单租户模式下使⽤,即使⽤⼀个⽤户创建的PDB,⼀个⽤户创建的应⽤程序根,以及⼀个⽤户创建的代理PDB。
EE:额外费⽤选项; 如果您获得Oracle Multitenant许可,那么您最多可以创建252个PDB。
EE-ES:额外费⽤选项; 如果您获得Oracle Multitenant许可,那么您最多可以创建4096个PDB。
DBCS EE-HP,DBCS EE-EP和ExaCS:包含选项; 您最多可以创建4096个PDB。
3. 关于多租户。多租户最重要的2个概念是容器数据库(CDB,multitenant container database)和可热插拔数据库(pluggable databases,PDB)。
CDB相当于⼀个⼤的容器,这个⼤的容易在物理上是⼀个整体,在这个⼤的容器中还有⼀些⼩的容器(PDB),⼀个CDB含有3种类型的容器:
root容器:包含元数据信息。
seed容器:它就是⼀个模板,新的PDB可以基于这个模板进⾏创建。
PDB: 也是最重要的,它包含⽤户数据,我们的创建的表就放在这⾥。⽽root和seed主要出于管理的⽬的。
我接下来创建FS存储⽅式的CDB数据库(默认包含2个PDB)数据库:注意红⾊部分尽量⽤⼩写,否则可能导致后⾯我遇到的问题
-pdbName ORCLPDB \
-pdbAdminPassword 1q2w3e \
-sysPassword 1q2w3e -systemPassword 1q2w3e \
-datafileDestination '/opt/oracle/oradata' \
-recoveryAreaDestination '/opt/oracle/flash_recovery_area' \
-redoLogFileSize 200 \
-storageType FS \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType OLTP \
-emConfiguration NONE
说明:
-templateName : $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc
-responseFile:如果配置了responseFile,则指定,如果不指定配置⽂件,也可以通过参数设置进⾏创建
-createAsContainerDatabase TRUE:指定创建容器数据库CDB
-numberOfPDBs 3:指定包含pdb的个数
-pdbName ORCLPDB:如果numberOfPDBs=1,则指定的就是pdbname,如果创建的个数⼤于1,则这⾥指定的就是pdbname的前缀,会⾃动根据个数进⾏区分
-redoLogFileSize 200 :指定redoLogFile⽂件⼤⼩200M
-storageType FS:FS | ASM。存储系统类型,我⽤的是⽂件系统。如果⽤ASM,则填 ASM
-characterset:数据库字符集,默认是US7ASCII,国内存储中⽂⼀般设置为 AL32UTF8
-nationalCharacterSet :UTF8 | AL16UTF16,国家语⾔字符集
-databaseType:MULTIPURPOSE | DATA_WAREHOUSING | OLTP。used for memory distribution when memoryPercentage specified。
-totalMemory: total memory in MB to allocate to Oracle
-emConfiguration : CENTRAL|DBEXPRESS|BOTH|NONE,Enterprise Manager Configuration Type,默认为NONE
[FATAL] [DBT-12507] DBCA does not allow sample schemas to be configured in container database with more than one PDBs.
ACTION: Choose only one PDB to be created in the container database.
DBT-12507: DBCA does not allow sample schemas to be configured in container database with more than one PDBs. Cause: n/a
Action: Choose only one PDB to be created in the container database. *FQN:
oracle.source.DBCAErrorCode.UNABLE_TO_CREATE_SAMPLE_SCHEMA_FOR_MULTIPLE_PDB_ERR
⼤概意思是说container database中只能创建1个PDB,详细原因没有搞明⽩。
那就先创建CDB(只包含1个PDB):
注意:gdbname & sid 指定时, ORCL 尽量⽤⼩写的 orcl,避免⽂件系统区分⼤⼩写带来的问题。我后⾯就碰到问题了。
-pdbName ORCLPDB \
-pdbAdminPassword 1q2w3e \
-sysPassword 1q2w3e -systemPassword 1q2w3e \
-datafileDestination '/opt/oracle/oradata' \
-recoveryAreaDestination '/opt/oracle/flash_recovery_area' \
-redoLogFileSize 200 \
-storageType FS \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 2048 \
-databaseType OLTP \
-emConfiguration NONE
创建成功
......
75% complete
Executing Post Configuration Actions
100% complete
Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details. [oracle@localhost response]$
建库后进⾏实例进程检查:
ps -ef | grep ora_ | grep -v grep
查看监听状态
lsnrctl status
[oracle@localhost response]$ lsnrctl status
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 21-NOV-2020 18:23:52
Copyright (c) 1991, 2016, Oracle. All rights reserved.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论