上一篇已经用应答文件安装了数据库软件,这一篇博客接着安装12c新推出的CDB和PDB。
一,配置netca
1. 复制并修改netca配置文件
[oracle@snow response]$ cp -rp netca.rsp cdb_pdb_netca.rsp
[oracle@snow response]$ vi cdb_pdb_netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="12.1"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""custom""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
2. 确认ORACLE_HOME环境变量已经设定,以便于直接输入netca -silent ...
oracle@snow response]$echo $ORACLE_HOME
/u01/app/oracle/product/12.1.0.1/db_1
3. 采用应答文件配置netca
[oracle@snow response]$netca -silent -responseFile /home/oracle/orainst/12.1.0.1/database/response/cdb_pdb_netca.rsp
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /home/oracle/orainst/12.1.0.1/database/response/cdb_pdb_netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Configuring Listener:LISTENER
Listener configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/u01/app/oracle/product/12.1.0.1/db_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Profile configuration complete.
Oracle Net Services configuration successful. The exit code is 0
4. netca配置完毕,测试一下效果
[oracle@snow response]$lsnrctl status
LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 02-MAR-2015 07:33:33
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=snow.oracle.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production
Start Date 02-MAR-2015 07:32:28
Uptime 0 days 0 hr. 1 min. 4 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0.1/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/snow/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=snow.oracle.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
二,创建cdb+pdb
1. 创建cdb+pdb的应答文件如下:
[oracle@snow response]$ cat cdb_pdb.rsp
[GENERAL]
RESPONSEFILE_VERSION = "12.1.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "cdb"
SID = "cdb"
CREATEASCONTAINERDATABASE =true
NUMBEROFPDBS =1
PDBNAME =pdb1
TEMPLATENAME = "General_Purpose.dbc"
STORAGETYPE=FS
CHARACTERSET = "AL32UTF8"
NATIONALCHARACTERSET= "UTF8"
SAMPLESCHEMA=TRUE
[CONFIGUREDATABASE]
SYSDBAUSERNAME = "sys"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
[ADDINSTANCE]
DB_UNIQUE_NAME = "cdb"
NODELIST=
SYSDBAUSERNAME = "sys"
[CREATEPLUGGABLEDATABASE]
SOURCEDB = "cdb"
PDBNAME = "pdb1"
2. 使用应答文件创建数据库
这里有些不足的地方是密码没有配置到reponse文件中,在执行过程中需要手工输入密码。
[oracle@snow response]$dbca -silent -createDatabase -responseFile /home/oracle/orainst/12.1.0.1/database/response/cdb_pdb.rsp
Enter SYS user password:oracle
Enter SYSTEM user password:oracle
Enter PDBADMIN User Password:oracle
Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb/cdb8.log" for further details.
从进度中看出任务并没有完成,没有任何关于pdb的输出,查看/u01/app/oracle/cfgtoollogs/dbca/cdb/cdb8.log发现一个经典错误
[oracle@snow response]$ more /u01/app/oracle/cfgtoollogs/dbca/cdb/cdb8.log
Unique database identifier check passed.
/ has enough space. Required space is 8260 MB , available space is 25210 MB.
File Validations Successful.
Copying database files
DBCA_PROGRESS : 1%
DBCA_PROGRESS : 2%
DBCA_PROGRESS : 8%
DBCA_PROGRESS : 13%
DBCA_PROGRESS : 19%
DBCA_PROGRESS : 27%
Creating and starting Oracle instance
DBCA_PROGRESS : 29%
DBCA_PROGRESS : 32%
DBCA_PROGRESS : 33%
DBCA_PROGRESS : 34%
DBCA_PROGRESS : 38%
DBCA_PROGRESS : 42%
Error in Process: /u01/app/oracle/product/12.1.0.1/db_1/perl/bin/perl
DBCA_PROGRESS : 100%
这个错误在图形安装cdb时也出现过,是因为perl的问题,采用替换的方式搞定!
[oracle@snow bin]$ mv perl perl.bak
[oracle@snow bin]$ln -s /usr/bin/perl .
lrwxrwxrwx 1 oracle oinstall 13 Mar 2 10:28 perl -> /usr/bin/perl
3. 重新执行使用应答文件创建数据库
[oracle@snow response]$dbca -silent -createDatabase -responseFile /home/oracle/orainst/12.1.0.1/database/response/cdb_pdb.rsp
Enter SYS user password:
Enter SYSTEM user password:
Enter PDBADMIN User Password:
Copying database files
1% complete
2% complete
8% complete
13% complete
19% complete
27% complete
Creating and starting Oracle instance
29% complete
32% complete
33% complete
34% complete
38% complete
42% complete
43% complete
45% complete
Completing Database Creation
48% complete
51% complete
53% complete
62% complete
70% complete
72% complete
Creating Pluggable Databases
78% complete
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/cdb/cdb10.log" for further details.
4. 测试一下创建效果
[oracle@snow response]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Mon Mar 2 10:43:54 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
到这里使用应答文件安装数据库软件、配置netca、创建CDB数据库和PDB数据库已经演示完毕。
跟oracle10g相比,12c的response方式复杂了些,而且随着CDB和PDB的出现,配置安装更加复杂。想要完全掌握12c的应答方式安装数据库需要用些时间多做实验。因为应答方法不仅可以创建单实例的12c数据库,也可以创建RAC数据库。一看到RAC,难度和复杂度就成倍增加了。
生产环境中使用图形方式DBCA,使用静默方式调用DBCA还是使用CREATE DATABASE方式创建数据库还是应答方式创建数据库没有最好的方法、只有更合适的方法。如果需要快速的部署云平台oracle数据库,应答方式无疑是最佳选择,简单快速。只需要交互式配置些参数就可以实现一键安装。
全文完