首页 > Linux操作系统 > Linux操作系统 > 【12c cdb pdb】实验
12c
以后
oracle
数据库开启了新的篇章,以
CDB
为基础,引入多租户的概念,一个基座
root$cdb
上可以新建多个
pdb
并且他们之间独立运行,互不干扰,解决了一实例对应多库的问题,同时可以实现非
cdb
库到
pdb
库,
pdb
到
pdb
快速迁移。
下面我们来看下
12c
安装与
cdb
与
pdb
管理
一、
12
安装(
12.1.2.0 for Centos 7.6
)
1
、静默安装(系统参数,环境变量需提前配置好,见前面配置
11g
少许不同)
db_install.rsp(主要) oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=db1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oracle/oraInventory SELECTED_LANGUAGES=en ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=oinstall oracle.install.db.OPER_GROUP=oinstall oracle.install.db.BACKUPDBA_GROUP=dba oracle.install.db.DGDBA_GROUP=dba oracle.install.db.KMDBA_GROUP=dba DECLINE_SECURITY_UPDATES=true ./runInstaller -force -silent -noconfig -ignorePrereq -ignoreSysPreReqs -responseFile /stage/database/response/db_install.rsp 执行脚本: /u01/app/oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
2 、手动安装库并执行脚本
pfile文件:initorcl.ora
db_name='orcl'
memory_target=2G
processes = 150
audit_file_dest='/u01/app/oracle/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/flash_recovery'
db_recovery_file_dest_size=10G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (/oradata/orcl/control01.ctl,/oradata/orcl/control02.ctl)
compatible ='12.1.0'
enable_pluggable_database=true
建库文件:2.sql
create database orcl
user sys identified by oracle
user system identified by oracle
logfile group 1 ('/oradata/orcl/redo01.log') SIZE 50M BLOCKSIZE 512,
group 2 ('/oradata/orcl/redo02.log') SIZE 50M BLOCKSIZE 512,
group 3 ('/oradata/orcl/redo03.log') SIZE 50M BLOCKSIZE 512
maxloghistory 1
maxlogfiles 16
maxlogmembers 3
maxdatafiles 1024
character set AL32UTF8
national character set AL16UTF16
extent management local
datafile '/oradata/orcl/system01.dbf' size 1000m
sysaux datafile '/oradata/orcl/sysaux01.dbf' size 700m
default tablespace users
datafile '/oradata/orcl/user01.dbf' size 500m
default temporary tablespace temp
tempfile '/oradata/orcl/temp01.dbf' size 200m
undo tablespace undotbs1
datafile '/oradata/orcl/undotbs1.dbf' size 200m
ENABLE PLUGGABLE DATABASE
SEED FILE_NAME_CONVERT = ('/oradata/orcl','/oradata/orcl/pdbseed/');
执行脚本:
sh /u01/app/oracle/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/12.2.0.1/dbhome_1/root.sh
初始化数据库:
In SQL*Plus, connect to your Oracle Database instance with the SYSDBA administrative privilege:
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
In SQL*Plus, connect to your Oracle Database instance as SYSTEM user:
@?/sqlplus/admin/pupbld.sql
初始化cdb:@?/rdbms/admin/catcdb.sql
3 、 listener.ora tnsnames.ora sqlnet.ora
[oracle@db1 admin]$ cat listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.2.100)(PORT = 1521)) ) ) SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=orcl) (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1) (SID_NAME=orcl)) (SID_DESC= (GLOBAL_DBNAME=pdb1) (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1) (SID_NAME=orcl)) (SID_DESC= (GLOBAL_DBNAME=pdb2) (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1) (SID_NAME=orcl)) (SID_DESC= (GLOBAL_DBNAME=pdb3) (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1) (SID_NAME=orcl)) ) [oracle@db1 admin]$ cat tnsnames.ora orcl = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.2.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) pdb1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.2.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdb1) ) ) [oracle@db1 admin]$ cat sqlnet.ora NAMES.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)
4
、开启归档及目录等等(
archivelog
目录
、
flash_recovery_area
等)
二、
cdb
和
pdb
管理
1
、建库方式
从
pdbseed
新建库
mkdir -p /oradata/orcl/pdb2
create pluggable database pdb2 admin user pdb2 identified by pdb2 file_name_convert=('/oradata/orcl/pdbseed',
'/oradata/orcl/pdb2/');
alter pluggable database pdb2 open;
以在用的pdb库为模板新建
mkdir -p /oradata/orcl/pdb3
create pluggable database pdb2 from pdb1 file_name_convert=('/oradata/orcl/pdb1',
'/oradata/orcl/pdb3/');
从 cdb 卸载 pdb3 库
alter pluggable database pdb3 unplug to '/home/oracle/pdb3.xml'; drop pluggable database pdb3 keep datafiles;(keep datafiles保留数据文件/including datafiles包括删除文件) 以上为了以后还能加载数据库pdb3 ,如不需要直接drop pluggable database pdb3 including datafiles一句即可;
加载数据库 pdb3
create pluggable database pdb03 using '/home/oracle/pdb03bak/pdb03.xml' nocopy tempfile reuse; SYS@orcl>show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB2 READ WRITE NO 5 PDB3 READ WRITE NO
小结:
12c
新的架构给我们提供了多种建库的方式,数据管理更加集中,管理更加方便;
1
、权限分开管理:一套是
cdb$root
一套是
pdb
二者之间可以关联;
2
、数据文件,参数文件,临时文件、控制文件,
undo
闪回文件
,其中临时文件、
undo
文件可以与全局共享或
pdb
独享
(
undo
闪回空间
oracle 12.1
只能使用共享
undo oracle12.2
可以使用
pdb
独享和共享
undo
)
Yicheng16
22.01.20
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69963467/viewspace-2853280/ ,如需转载,请注明出处,否则将追究法律责任。