创建和配置CDB
来源:互联网 发布:mysql入门教程推荐 编辑:程序博客网 时间:2024/05/21 10:37
CDB全称为Container Database,中文翻译为数据库容器
CDB组件(Components of a CDB)
一个CDB数据库容器包含了下面一些组件:
ROOT组件
ROOT又叫CDB$ROOT, 存储着ORACLE提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,Common User 是指在每个容器中都存在的用户。
SEED组件
Seed又叫PDB$SEED,这个是你创建PDBS数据库的模板,你不能在Seed中添加或修改一个对象。一个CDB中有且只能有一个Seed。
PDBS
CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作PDBS,这里指大多数常规操作。
这些组件中的每一个都可以被称为一个容器。因此,ROOT(根)是一个容器,Seed(种子)是一个容器,每个PDB是一个容器。每个容器在CDB中都有一个独一无二的的ID和名称。
如下cdb结构图:
You can easily plug a PDB into a CDB and unplug a PDB from a CDB. When you plug in a PDB, you associate the PDB with a CDB. When you unplug a PDB, you disassociate the PDB from a CDB. An unplugged PDB consists of an XML file that describes the PDB and the PDB's files (such as the data files and wallet file).
You can unplug a PDB from one CDB and plug it into a different CDB without altering your schemas or applications. A PDB can be plugged into only one CDB at a time.
Each PDB has a globally unique identifier (GUID). The PDB GUID is primarily used to generate names for directories that store the PDB's files, including both Oracle Managed Files directories and non-Oracle Managed Files directories.
CDB创建可以通过
1.DBCA工具创建,图形化界面,DBCA也可以静默方式创建
2.通过CREATE DATABASE 语句创建
oracle推荐使用DBCA创建CDB(如下图,创建空的容器数据库不包含pdb)
dbca创建完一个不包含pdb的cdb
C:\Users\Administrator>set oracle_sid=cdb1
C:\Users\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 12.1.0.2.0 Production on 星期三 12月 24 14:35:02 2014
Copyright (c) 1982, 2014, Oracle. All rights reserved.
连接到:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
--查看pdb信息,只包含pdb$seed
SQL> select PDB_NAME,CON_UID,pdb_id,status from dba_pdbs;
-------------------- ---------- ---------- ---------
PDB$SEED 3720733916 2 NORMAL
SQL>
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 3720733916 PDB$SEED READ ONLY
--查看cdb的信息
SQL> select name,cdb,con_id,open_mode from v$database;
NAME CDB CON_ID OPEN_MODE
--------- --- ---------- --------------------
CDB1 YES 0 READ WRITE
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
手动创建cdb数据
1.创建目录
D:\app\oracle12c\admin\newcdb
D:\app\oracle12c\admin\newcdb\adump
D:\app\oracle12c\admin\newcdb\dpdump
D:\app\oracle12c\admin\newcdb\pfile
D:\app\oracle12c\admin\newcdb\scripts
D:\app\oracle12c\admin\newcdb\xdb_wallet
D:\app\oracle12c\oradata\newcdb
D:\app\oracle12c\oradata\newcdb\pdbseed
D:\app\oracle12c\fast_recovery_area\newcdb
2.创建密码文件
C:\Users\Administrator>orapwd FILE=D:\app\oracle12c\product\12.1.0\dbhome_1\data
base\PWDnewcdb.ora ENTRIES=30 force=y
Enter password for SYS:
C:\Users\Administrator>
3.构造初始化参数文件initnewcdb.ora
*.audit_file_dest='D:\app\oracle12c\admin\newcdb\adump'
*.audit_trail='newcdb'
*.compatible='12.1.0.2.0'
*.control_files='D:\app\oracle12c\oradata\newcdb\control01.ctl','D:\app\oracle12c\fast_recovery_area\newcdb\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='cdb1'
*.db_recovery_file_dest='D:\app\oracle12c\fast_recovery_area'
*.db_recovery_file_dest_size=6600m
*.diagnostic_dest='D:\app\oracle12c'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=cdb1XDB)'
*.enable_pluggable_database=true
*.local_listener='LISTENER_CDB1'
*.memory_target=763m
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
4.创建实例(windows下需要)
C:\Users\Administrator>oradim -NEW -SID newcdb
输入 Oracle 服务用户的口令:
实例已创建。
C:\Users\Administrator>
5.启动到nomount状态
C:\Users\Administrator>set oracle_sid=newcdb
C:\Users\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 12.1.0.2.0 Production on 星期三 12月 24 15:42:44 2014
Copyright (c) 1982, 2014, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup nomount pfile='D:\app\oracle12c\product\12.1.0\dbhome_1\database\in
itnewcdb.ora';
ORACLE 例程已经启动。
Total System Global Area 801112064 bytes
Fixed Size 3050744 bytes
Variable Size 624952072 bytes
Database Buffers 167772160 bytes
Redo Buffers 5337088 bytes
SQL>
6.执行 CREATE DATABASE
SQL>
SQL> CREATE DATABASE newcdb
2 USER SYS IDENTIFIED BY Wanagwei123
3 USER SYSTEM IDENTIFIED BY Wanagwei123
4 LOGFILE GROUP 1 ('D:\app\oracle12c\oradata\newcdb\redo01a.log','D:\app\or
acle12c\oradata\newcdb\redo01b.log')
5 SIZE 100M BLOCKSIZE 512,
6 GROUP 2 ('D:\app\oracle12c\oradata\newcdb\redo02a.log','D:\app\or
acle12c\oradata\newcdb\redo02b.log')
7 SIZE 100M BLOCKSIZE 512,
8 GROUP 3 ('D:\app\oracle12c\oradata\newcdb\redo03a.log','D:\app\or
acle12c\oradata\newcdb\redo03b.log')
9 SIZE 100M BLOCKSIZE 512
10 MAXLOGHISTORY 1
11 MAXLOGFILES 32
12 MAXLOGMEMBERS 3
13 MAXDATAFILES 1024
14 CHARACTER SET AL32UTF8
15 NATIONAL CHARACTER SET AL16UTF16
16 EXTENT MANAGEMENT LOCAL
17 DATAFILE 'D:\app\oracle12c\oradata\newcdb\system01.dbf'
18 SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
19 SYSAUX DATAFILE 'D:\app\oracle12c\oradata\newcdb\sysaux01.dbf'
20 SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
21 DEFAULT TABLESPACE deftbs
22 DATAFILE 'D:\app\oracle12c\oradata\newcdb\deftbs01.dbf'
23 SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
24 DEFAULT TEMPORARY TABLESPACE tempts1
25 TEMPFILE 'D:\app\oracle12c\oradata\newcdb\temp01.dbf'
26 SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
27 UNDO TABLESPACE undotbs1
28 DATAFILE 'D:\app\oracle12c\oradata\newcdb\undotbs01.dbf'
29 SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
30 ENABLE PLUGGABLE DATABASE
31 SEED
32 FILE_NAME_CONVERT = ('D:\app\oracle12c\oradata\newcdb\',
33 'D:\app\oracle12c\oradata\newcdb\pdbseed\')
34 SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
35 SYSAUX DATAFILES SIZE 100M
36 USER_DATA TABLESPACE usertbs
37 DATAFILE 'D:\app\oracle12c\oradata\newcdb\pdbseed\usertbs01.dbf'
38 SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
数据库已创建。
SQL>
7.执行脚本建立数据字典
In SQL*Plus, connect to your Oracle Database instance with the SYSDBA administrative privilege:
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
In SQL*Plus, connect to your Oracle Database instance as SYSTEM user:
@?/sqlplus/admin/pupbld.sql
创建完之后查询
SQL> select name,cdb,con_id,open_mode from v$database;
NAME CDB CON_ID OPEN_MODE
------------------ ------ ---------- ----------------------------------------
NEWCDB YES 0 READ WRITE
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
SQL>
oracle官方提供的创建步骤:
Step 1: Specify an Instance Identifier (SID)
Step 2: Ensure That the Required Environment Variables Are Set
Step 3: Choose a Database Administrator Authentication Method
Step 4: Create the Initialization Parameter File
Step 5: (Windows Only) Create an Instance
Step 6: Connect to the Instance
Step 7: Create a Server Parameter File
Step 8: Start the Instance
Step 9: Issue the CREATE DATABASE Statement
Step 10: Create Additional Tablespaces
Step 11: Run Scripts to Build Data Dictionary Views
Step 12: (Optional) Run Scripts to Install Additional Options
Step 13: Back Up the Database.
Step 14: (Optional) Enable Automatic Instance Startup
- 创建和配置CDB
- 12c pdb基础-手工创建cdb和pdb
- Oracle 12c创建用户和切换CDB、PDB
- Oracle 12c 配置和修改 CDB 和 PDB 参数
- 如何配置Hibernate连接oracle12c 的PDB和CDB数据库
- Oracle 12c pdb/cdb 监听和tns 配置
- qt+cdb调试配置
- DBCA创建CDB的过程
- Oracle 12c CDB 和 PDB 表空间管理和配置 说明
- Oracle 12c 多租户配置和修改 CDB 和 PDB 参数
- Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)
- oracle 12c 手工创建CDB v2
- Oracle 12c 手工创建CDB数据库
- 用SQL命令手工创建CDB
- 配置QtCreator+CDB远程调试环境
- Oracle 12C容器数据库(CDB)和插拔数据库(PDB)的创建(一)
- GDB 和 CDB 基本命令比较
- 使用CDB和NTSD开始调试旅程
- 2014.12.24
- 美尔斯通骨导助听器带聋儿重新走出无声世界,你也可以听到的。
- 永久保存alias设置
- Linux内核的ioctl函数学习
- firefox 配置黑客工具
- 创建和配置CDB
- Android EditText inputType 参数
- iOS 之ASIHTTPRequest官方文档
- 关于源代码中缩进是否使用tab问题的心得
- 从Eclipse迁移到AndroidStudio
- 关于页面自动提交两次的问题(360浏览器)
- C++学习 对string和stringstream用法认知
- Objective-C中的writeToFile:atomically:中atomically布尔参数的解释
- 链表