/*创建临时表空间 */
create temporary tablespace BBB tempfile ‘D:\APP\oracle\oradata\orcl\BBB.dbf‘ size 500m autoextend on next 500m maxsize 20480m extent management local;
/*创建数据表空间 */
create tablespace CCC logging datafile ‘D:\APP\oracle\oradata\orcl\CCC.dbf‘ size 500m autoextend on next 500m maxsize 20480m extent management local;
/*创建用户并指定表空间*/
create user c##st identified by p123 default tablespace CCC temporary tablespace BBB; --用户名必须添加c##
/*给用户授予权限 */
grant connect,resource,dba to c##st;
/*创建数据泵目录*/
create or replace directory dp_dir as ‘D:\oracle\‘;
/*数据泵导入dmp文件 */
impdp c##pension_st/[email protected] directory=dp_dir dumpfile=ORCL.DMP logfile=ORCL.log;
/*数据泵导入dmp文件需要切换用户和表空间*/
impdp c##st/[email protected] directory=dp_dir dumpfile=ORCL.DMP remap_tablespace=AAA:CCC remap_schema=AA:c##st logfile=ORCL.log; -AAA是dmp文件来源的表空间,AA是dmp文件来源的数据库用户名
/*删除表空间*/
drop tablespace CCC including contents and datafiles;
/*删除临时表空间*/
drop tablespace BBB including contents and datafiles;
/*查看使用表空间*/
select default_tablespace,temporary_tablespace from DBA_USERS;
/*创建用户时遇到ORA-65048*/
shoe pdbs
alter session set container=orclpdb; --切换会话
create tablespace CCC logging datafile ‘D:\APP\oracle\oradata\orcl\CCC01.dbf‘ size 500m autoextend on next 500m maxsize 20480m extent management local;
create temporary tablespace BBB tempfile ‘D:\APP\oracle\oradata\orcl\BBB01.dbf‘ size 500m autoextend on next 500m maxsize 20480m extent management local;
alter session set container=cdb$root;
/*数据泵导入时遇到ORA-12154*/
如果先装数据库的客户端再装数据库的服务端,那么数据库的服务端将不会生成tnsnames.ora文件。
使用数据库工具Net Manager配置服务信息,保存网络配置本地就会在服务端生成tnsnames.ora文件,修改环境变量,将服务端的环境变量放到客户端之前,否则每增加一个服务就得把客户端的tnsnames.ora文件信息拷贝到服务端中。
/*文件夹中多文件名称导出生成多处理脚本*/
创建一个Bat脚本,输入命令:
(1)@echo off
dir /s/b *.* > b.txt --输出的文件名
exit
(2)将输出的内容拷贝到Excel中,选择数据-分列-固定宽度,切分单元格。
(3)设置一列内容为@@+路径,两列合并
(4)粘贴到sql文件中。
/*PLSQL命令窗口执行脚本*/
进入PLSQL的命令窗口,输入命令:
SQL>set serveroutput on;
SQL>@D:\QYNJ\doc\04开发管理\SQL脚本管理\全量脚本\Bat.sql -- 要执行的脚本路径
/*oracle 12c中的CDB和PDB*/
CDB与PDB是Oracle 12C引入的新特性,在ORACLE 12C数据库引入的多租用户环境(MultitenantEnvironment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。
在ORACLE12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。
在CDB中可以有多个PDB,其中存在一个root根容器(PDB$ROOT)、一个种子容器(PDB$SEED)和多个PDBS。所有的PDB共用一个硬件系统资源、sga和pga、redo、临时段、控制文件、参数文件、还原段(还可对每个PDB单独指定)。
PDB$ROOT:根容器用来做所有容器的跟,用来对每个PDB进行统一管理,sqlplus / as sysdba连接进来默认是连接的根容器,需要切换到其他的PDB容器才可以对单独的PDB操作。其中有 system数据文件、sysaux数据文件、(undo数据文件、temp数据文件、redo、控制文件)。一般不存放生产数据文件
PDB$SEED:种子容器作为插入PDB的模板而存在,每个CDB都有一个种子容器,且不可对其中对象进行修改。其中有 system数据文件、sysaux数据文件、其他数据文件。
PDB:新插入容器,该容器用来存放数据库。其中有 system数据文件、sysaux数据文件、其他数据文件。12c中可以插入多个容器进行统一管理,来减少BDA的工作量。其中的数据库可以插入或拔出。
用户:12c中PDB$ROOT中的普通目录可以通过权限分配来访问一个或多个指定的PDB容器,最大权限用户是sysdba。其中PDB也可单独创建普通用户来管理该容器的数据库。
PDB资源管理:12c中将多个数据库运行在一个硬件资源上,CDB性能上得到优化。在CDB中为每个PDB确定使用CPU最低份额,CDB会按照一个PDB份额/分配的总份额数*100%,来保证PDB最低份额数。
查询该容器是CDB 还是非CDB:select name,cdb,open_mode,con_id from v$database;
查看当前容器:show con_name;
查看所创建的PDB:show pdbs;
创建一个新PDB:create pluggable database pdb1 admin user pdb1 identified by pdb1 file_name_convert=(‘/u01/app/oracle/oradata/orcl/pdbseed/‘,‘/u01/app/oracle/oradata/orcl/pdb1/‘);
启动一个创建好的PDB: alter pluggable database pdb1 open;
原文地址:https://www.cnblogs.com/carblack/p/11679407.html