Oracle 12c CDB PDB 安装/配置/管理
手动创建CDB
1. 修改~/.bash_profile文件,修改ORACLE_SID名称
export ORACLE_SID=orcl
2. 创建所需要目录
$ mkdir -p /data/app/oracle/oradata/orcl
$ mkdir -p /data/app/oracle/oradata/pdbseed
$ mkdir -p /data/app/oracle/admin/orcl/adump
$ mkdir -p /data/app/oracle/fast_recovery_area
3.创建初始化配置文件
$ vim $ORACLE_HOME/dbs/initcdb.ora db_name='orcl'
memory_target=1G
processes = 150
#audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_file_dest='/data/app/oracle/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/data/app/oracle/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/data/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=orcl)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/data/app/oracle/oradata/orcl/ora_control01.ctl, /data/app/oracle/oradata/orcl/ora_control02.ctl)
compatible ='12.2.0'
enable_pluggable_database=true
4.开始创建库
$ sqlplus / as sysdba
SQL> shutdown abort
SQL> create spfile from pfile='$ORACLE_HOME/dbs/initcdb.ora';
SQL> startup nomount
SQL> CREATE DATABASE orcl
USER SYS IDENTIFIED BY pass
USER SYSTEM IDENTIFIED BY pass
LOGFILE GROUP 1 ('/data/app/oracle/oradata/orcl/redo01a.log','/data/app/oracle/oradata/orcl/redo01b.log')
SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/data/app/oracle/oradata/orcl/redo02a.log','/data/app/oracle/oradata/orcl/redo02b.log')
SIZE 100M BLOCKSIZE 512
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/data/app/oracle/oradata/orcl/system01.dbf' SIZE 700M
SYSAUX DATAFILE '/data/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 550M
DEFAULT TABLESPACE deftbs
DATAFILE '/data/app/oracle/oradata/orcl/deftbs01.dbf' SIZE 500M
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/data/app/oracle/oradata/orcl/temp01.dbf' SIZE 20M
UNDO TABLESPACE undotbs1
DATAFILE '/data/app/oracle/oradata/orcl/undotbs01.dbf' SIZE 200M
ENABLE PLUGGABLE DATABASE
SEED
FILE_NAME_CONVERT = ('/data/app/oracle/oradata/orcl/',
'/data/app/oracle/oradata/pdbseed/')
SYSTEM DATAFILES SIZE 125M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
SYSAUX DATAFILES SIZE 100M
USER_DATA TABLESPACE usertbs
DATAFILE '/data/app/oracle/oradata/pdbseed/usertbs01.dbf' SIZE 200M;
填充数据字典,如果是12cR2版本,则直接执行catcdb.sql代替以下脚本
使用sysdba权限执行以下脚本SQL> @?/rdbms/admin/catalog.sql --数据库字典,动态视图创建等
SQL> @?/rdbms/admin/catproc.sql --PL/SQL存过过程相关代码
SQL> @?/rdbms/admin/utlrp.sql --编译
使用SYSTEM用户执行以下脚本
SQL> @?/sqlplus/admin/pupbld.sql #SQL*Plus相关
12CR2
注:这个过程可能比较漫长
SQL> @?/rdbms/admin/catcdb.sql
会提示输入以下信息
Enter value for 1: /data/app/oracle/product/12.2.0/db_1/rdbms/admin
Enter value for 2: /data/app/oracle/product/12.2.0/db_1/rdbms/admin/catcdb.pl
如果出现以下报错
1)错误-1
Can't locate util.pm in @INC (@INC contains: /data/app/oracle/product/12.2.0/db_1/rdbms/admin /usr/local/lib64/perl5
/usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
/data/app/oracle/product/12.2.0/db_1/rdbms/admin/catcdb.pl line 35.
BEGIN failed--compilation aborted at /data/app/oracle/product/12.2.0/db_1/rdbms/admin/catcdb.pl line 35.
解决方法:
$ find $ORACLE_HOME -name util.pm | wc -l
0
$ find $ORACLE_HOME -name Util.pm | wc -l
5
$ find $ORACLE_HOME -name Util.pm
/data/app/oracle/product/12.2.0/db_1/perl/lib/5.22.0/x86_64-linux-thread-multi/Hash/Util.pm
/data/app/oracle/product/12.2.0/db_1/perl/lib/5.22.0/x86_64-linux-thread-multi/List/Util.pm
/data/app/oracle/product/12.2.0/db_1/perl/lib/5.22.0/x86_64-linux-thread-multi/Scalar/Util.pm
/data/app/oracle/product/12.2.0/db_1/perl/lib/5.22.0/x86_64-linux-thread-multi/Sub/Util.pm
/data/app/oracle/product/12.2.0/db_1/perl/lib/site_perl/5.22.0/HTTP/Headers/Util.pm
手工修改catcdb.pl脚本
use Util qw(trim, splitToArray); //util改为Util
再来一轮测试,结果发现还是会有报错,这种尝试会让你开始怀疑自己的选择到底是不是正确的方向。
如果还是没有找到,说明在当前的环境变量中没有匹配到相关的内容,我们需要直接切换到目录Hash下,然后运行脚本才可以,这个时候又出现一个错误
2)错误-2
Can'tlocate Term/ReadKey.pm in @INC (@INC contains: /data/app/oracle/product/12.2.0/db_1/rdbms/admin
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at
/data/app/oracle/product/12.2.0/db_1/rdbms/admin/catcdb.pl line 30.
BEGINfailed--compilation aborted at
/data/app/oracle/product/12.2.0/db_1/rdbms/admin/catcdb.pl line 30.
声明环境变量
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$ORACLE_HOME/jdk/bin:$PATH
验证结果
SQL> SELECT name,
DECODE (cdb,
'YES', 'Multitenant Option enabled',
'Regular 12c Database: ')
"Multitenant Option",
open_mode,
con_id
FROM v$database;
创建PDB
1.查看当前容器
$ sqlplus / as sysdba
SQL> show con_name; CON_NAME
------------------------------
CDB$ROOT
2. 创建一个新的PDB
$ mkdir -p /data/app/oracle/oradata/pdb1 SQL> create pluggable database pdb1 admin
user pdb1 identified by pdb1
file_name_convert=('/data/app/oracle/oradata/pdbseed/',
'/data/app/oracle/oradata/pdb1/');
3. 查看所有PDB
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
4. 删除一个pdb
SQL> alter pluggable database pdb2 close;
SQL> DROP PLUGGABLE DATABASE pdb2 INCLUDING DATAFILES;
5. 启动和关闭一个创建好的PDB
1)启动pdb和关闭pdb
a) 启动pdb
SQL> alter pluggable database pdb1 open;
Pluggable database altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
b)关闭pdb
SQL> alter pluggable database pdb1 close;
Pluggable database altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
2)通过sqlplus使用传统的startup和shutdown命令来启动和关闭PDB
a) 启动pdb
SQL> alter session set container=pdb1;
Session altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 MOUNTED
SQL> startup
Pluggable Database opened.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE NO
b) 关闭pdb
SQL> shutdown immediate;
Pluggable Database closed.
SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 MOUNTED
6. 配置监听
$ vim $ORACLE_HOME/network/admin/tnsnames.ora //如果此文件不存在,手动创建 LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = DB)(PORT = 1521)) pdb1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = DB)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pdb1)
)
)
7. 测试与登陆
$ tnsping pdb1 //测试登陆
$ sqlplus pdb1/pdb1@pdb1 //登陆
数据泵导入导出PDB数据
以pdb1数据库为例
1. 启动pdb1数据库
$ sqlplus / as sysdba
SQL> alter session set container=pdb1;
SQL> startup
2. 创建导入数据目录和数据库映射关系
$ mkdir -p /home/oracle/dump_dir
SQL> alter session set container=pdb1;
SQL> create directory dump_dir as '/home/oracle/dump_dir';
3. 创建一个dba权限的数据泵导入导出用户
SQL> grant dba to dp identified by dp;
SQL> grant read,write on directory dump_dir to dp;
4. 创建表空间
SQL> CREATE TABLESPACE "PDB1" DATAFILE
'/data/app/oracle/oradata/pdb1/pdb101.dbf' SIZE 128M AUTOEXTEND
ON NEXT 128M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
5. 导出数据
$ expdp dp/dp@pdb1 directory="dump_dir" dumpfile="aa.dmp" logfile=aa.log
6. 导入数据
$ impdp dp/dp@pdb1 directory="dump_dir" dumpfile="aa.dmp" logfile=bb.log
Oracle 12c CDB PDB 安装/配置/管理的更多相关文章
- Oracle 12c CDB PDB
先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文 ...
- ORACLE 12C R2 RAC 安装配置指南
>> from zhuhaiqing.info ASM磁盘空间最低要求 求12C R2相比前一版本,OCR的磁盘占用需求有了明显增长.为了方便操作,设置如下:External: 1个卷x4 ...
- oracle 12c centos 7 安装配置
1,安装centos 7 安装 宿主机配置信息: 内存:8G 系统盘:30G swap分区:30G (笑了oracle安装自检不过) /u01(50G) :oracle安装目录 /u02(50G): ...
- Oracle 12C CDB、PDB常用管理命令
Oracle 12C CDB.PDB常用管理命令 --查看PDB信息(在CDB模式下) show pdbs --查看所有pdbselect name,open_mode from v$pdbs; ...
- oracle 12c 创建PDB用户即Local User (PDB与CDB)
Oracle 12C用户创建与表空间分配 数据库安装完成后,首先用系统用户链接数据库容器(CDB), 在数据库容器(CDB)中创建表空间‘imei’ SQL>create tablespace ...
- Oracle 12c RAC 静默安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Oracle 12C Win 10 安装 应用 总结
安装参考 https://www.cnblogs.com/onezg/p/8768597.html 我当时安装的是Oracle 12c Release 1(Version 12.1.0.1.0,64位 ...
- Oracle 12c 单实例安装
准备工作 实验环境:Redhat 6.6 Oracle 12c 12.2.0.1 1.官网下载 https://www.oracle.com/technetwork/database/enterp ...
- oracle 12c grid db 安装的的checklist
oracle 12c 安装 checklist 关闭 iptables NetworkManager selinux service iptables stop chkconfig iptables ...
随机推荐
- Powershell:关于PSCustomObject你想知道的一切(译)
PSCustomObject是Powershell里非常重要的一个工具,我们先从基础开始然后再循序渐进讲到一些更高级的话题.PSCustomObject旨在于用简单的方法来创建结构化数据.下面的第一个 ...
- void类型和void* 的用法
C语言中的void 和 void * 总结 1.void的作用 c语言中,void为“不确定类型”,不可以用void来声明变量.如:void a = 10:如果出现这样语句编译器会报错:variab ...
- MVC 中 Razor引擎学习:RenderBody,RenderPage和RenderSection
RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到 标签里有这样一条语句: @Rend ...
- JavaScript是如何工作的:引擎,运行时和调用堆栈的概述!
摘要: 理解JS执行原理. 原文:JavaScript是如何工作的:引擎,运行时和调用堆栈的概述! 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 本文是旨在深入研究JavaScrip ...
- css——行内元素和块级元素的具体区别与行内块元素
(学习笔记) 行内元素(inline)和块级元素(block)都是display属性的值.要知道行内元素和块级元素的区别,首先要了解他们的特性. 行内元素的特性:“行内”,顾名思义,在一行之内,所以相 ...
- 总结安装webpack过程中遇到的错误及解决方案
1.安装不成功的报错: 解决方案:清除缓存 2.打包不成功: 解决方案:填写打包路径时的“__dirname”有两个下划线 3.打包报错: 解决方案:正确填写路径为“./style.css”
- servlet doGet()方法获取字符串乱码问题
当你遇到ajax向servlet发送数据出现乱码问题的时候不要惊慌,现有以下两个解决办法 (1)在doGet和doPost方法中添加以下代码 request.setCharactersEncoding ...
- Numpy库的学习(五)
今天继续学习一下Numpy库,废话不多说,整起走 先说下Numpy中,经常会犯错的地方,就是数据的复制 这个问题不仅仅是在numpy中有,其他地方也同样会出现 import numpy as np a ...
- [20190423]简单测试latch nowilling等待模式.txt
[20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...
- postman的简单使用
Postman简单的使用 什么是Postman 在程序开发中用于调试网络程序或者跟踪网页请求.可以对网页进行简单的基本信息调试.Postman最早是作用chrome浏览器插件存在的,但是2018年初 ...