Oracle12c手工创建多租户容器数据库(手工建库CDB)
温馨提示:这篇文章已超过384天没有更新,请注意相关的内容是否还可用!
Oracle12c手工创建多租户容器数据库(手工建库CDB)
(图片来源网络,侵删)
本文介绍如何在Oracle数据库12.2中手工创建CDB容器数据库
1、创建密码文件
cd $ORACLE_HOME/dbs/ orapwd file=orapwnewcdb password=oracle format=12 entries=10
2、创建目录
mkdir -p /u01/app/oracle/oradata/newcdb/pdbseed
3、创建静态参数文件
建议的最小初始化参数文件:db_name,control_files,memory_target
cd $ORACLE_HOME/dbs/ vim initnewcdb.ora
db_name=newcdb control_files=(’/u01/app/oracle/oradata/newcdb/control01.ctl’,’/u01/app/oracle/oradata/newcdb/control02.ctl’,’/u01/app/oracle/oradata/newcdb/control03.ctl’) memory_target=800m enable_pluggable_database=TRUE
4、切换环境并启动到 nomount
export ORACLE_SID=newcdb sqlplus / as sysdba create spfile from pfile; startup nomount;
5、执行建库语句
CREATE DATABASE newcdb USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle LOGFILE GROUP 1 (’/u01/app/oracle/oradata/newcdb/redo01a.log’,’/u01/app/oracle/oradata/newcdb/redo01b.log’) SIZE 100M BLOCKSIZE 512, GROUP 2 (’/u01/app/oracle/oradata/newcdb/redo02a.log’,’/u01/app/oracle/oradata/newcdb/redo02b.log’) SIZE 100M BLOCKSIZE 512, GROUP 3 (’/u01/app/oracle/oradata/newcdb/redo03a.log’,’/u01/app/oracle/oradata/newcdb/redo03b.log’) SIZE 100M BLOCKSIZE 512 MAXLOGHISTORY 1 MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 1024 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE ‘/u01/app/oracle/oradata/newcdb/system01.dbf’ SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED SYSAUX DATAFILE ‘/u01/app/oracle/oradata/newcdb/sysaux01.dbf’ SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED DEFAULT TABLESPACE USERS DATAFILE ‘/u01/app/oracle/oradata/newcdb/users01.dbf’ SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE ‘/u01/app/oracle/oradata/newcdb/temp01.dbf’ SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED UNDO TABLESPACE UNDOTBS1 DATAFILE ‘/u01/app/oracle/oradata/newcdb/undotbs01.dbf’ SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT = (’/u01/app/oracle/oradata/newcdb/’, ‘/u01/app/oracle/oradata/newcdb/pdbseed/’) LOCAL UNDO ON;
数据库创建完成,检查数据库的状态是:OPEN
SYS@newcdb> select status from v$instance; OPEN
6、后续工作,执行脚本:
6.1、第一步:修改$ORACLE_HOME/rdbms/admin/catcdb.pl
[oracle@enmoedu1 admin]$vi $ORACLE_HOME/rdbms/admin/catcdb.pl 把util修改为Util use Term::ReadKey; # to not echo password use Getopt::Long; use Cwd; use File::Spec; use Data::Dumper; use Util qw(trim, splitToArray); use catcon qw(catconSqlplus);
6.2、第二步:设置环境perl的环境变量:
[oracle@enmoedu1 ~]$ vi .bash_profile
添加如下的环境变量:
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$ORACLE_HOME/jdk/bin:$PATH
[oracle@enmoedu1 ~]$ source .bash_profile
6.3、第三步:执行脚本:
首先切换到perl的目录下:
[oracle@enmoedu1 ~]$cd $ORACLE_HOME/perl/lib/5.22.0/x86_64-linux-thread-multi/Hash [oracle@enmoedu1 ~]sqlplus / as sysdba SYS@newcdb>@?/rdbms/admin/catcdb.sql SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb --logDirectory &&1 --logFilename &&2 Enter value for 1: /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin Enter value for 2: /u01/app/oracle/product/12.2.0/dbhome_1/rdbms/admin/catcdb.pl Enter new password for SYS: oracle Enter new password for SYSTEM: oracle Enter temporary tablespace name: temp No options to container mapping specified, no options will be installed in any containers catcon: ALL catcon-related output will be written to [/U01/app/oracle/product/12.2/rdbms/admin/catalog_catcon_46984.lst] catcon: See [/U01/app/oracle/product/12.2/rdbms/admin/catalog*.log] files for output generated by s catcon: See [/U01/app/oracle/product/12.2/rdbms/admin/catalog_*.lst] files for spool files, if any
然后就是一段时间的等待,可以从日志看到会关联调用catalog.sql,catproc.sql等脚本文件。
6.4、第四步:使用SYSTEM用户执行SQL*Plus相关脚本
SYS@newcdb>conn system/oracle SYS@newcdb>@?/sqlplus/admin/pupbld.sql
6.5、第五步:验证结果
SYS@newcdb> show parameter pluggable
NAME TYPE VALUE
enable_pluggable_database boolean TRUE
SYS@newcdb> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
SYS@newcdb> select name from v$datafile where con_id=1;
/u01/app/oracle/oradata/newcdb/system01.dbf
/u01/app/oracle/oradata/newcdb/sysaux01.dbf
/u01/app/oracle/oradata/newcdb/undotbs01.dbf
/u01/app/oracle/oradata/newcdb/USERS01.dbf
SYS@newcdb> select name from v$datafile where con_id=2;
/u01/app/oracle/oradata/newcdb/pdbseed/system01.dbf
/u01/app/oracle/oradata/newcdb/pdbseed/sysaux01.dbf
/u01/app/oracle/oradata/newcdb/pdbseed/undotbs01.dbf
/u01/app/oracle/oradata/newcdb/pdbseed/USERS01.dbf
SYS@newcdb> select name from v$tempfile;
/u01/app/oracle/oradata/newcdb/temp01.dbf
/u01/app/oracle/oradata/newcdb/pdbseed/temp01.dbf
SYS@newcdb>
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
