Oracle12c的安装略过,从我们拿到了一个空的oracle12c数据库说起,我的需求是要把以前oracle11g上面的数据库迁移到oracle12c上面。为了充分利用oralce12c的新特性CDB与PDB。我们根据业务的需求,将相同业务的数据放到一个PDB中,这样我们会在oracle12c的CDB中建立多个PDB。下面是详细的操作步骤:
一.创建表空间
1、在linux目录下创建表空间的目录“/usr/oracle/creditdb/CREDITLOG”
2、在conn /as sysdba下,输入create tablespace TS_CREDITLOG datafile ‘/usr/oracle/creditdb/CREDITLOG/TS_CREDITLOG01.dbf’ size 20M;
如果出现上图,说明新创建的表空间文件夹没有访问读写权限,需要在root用户下分配目录权限,执行chmod -R 777/usr/oracle/creditdb/CREDITLOG 授权
授权成功后,在执行创建表空间语句,创建成功。
二. 创建PDB
1、输入:create pluggable database pdbcreditlog ADMIN USER creditlog IDENTIFIED BY 123456 default tablespace TS_CREDITLOG;执行时间有些长,需要耐心等待1-2分钟,之后提示创建成功。
2、查看pdb,show pdbs,看见了新创建的PDBCREDITLOG。
3、开启新创建的pdb,输入:alter pluggable database pdbcreditlog open,并查看openmode的状态由“MOUNTED”变为“READ WRITE”。
三. 用户授权
1、将session切换到当前pdbcreditlog下,输入alter session set container=pdbcreditlog。
2、授权creditlog用户为dba角色,输入grant dba to creditlog;
3、Commit提交确认。如下图:
四. 配置监听文件
打开服务器端的oracle安装目录找到下面文件。安装目录/usr/oracle/app/product/12.1.0/dbhome_1/network/admin
1、tnsnames.ora文件
在下方新增如下代码:
PDBCREDITLOG =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pdbcreditlog)
)
)
2、Listener.ora文件
(SID_DESC=
(GLOBAL_DBNAME=pdbcreditlog)
(SID_NAME=pdbcreditlog)
)
3、sqlnet.ora文件
查看是否有这个文件,如果没有手动加上这个文件,
并添加SQLNET.ALLOWED_LOGON_VERSION=8代码行。
五. 测试链接
1、测试命令端是否能链接成功
2、测试PL/SQL developer是否能够链接成功
3、测试jdbc是否能够链接成功
jdbc:oracle:thin:@//10.0.0.133:1521/pdbcreditlog
六. 数据备份还原
1、dmp文件夹授权,输入chmod -R 777 /data/web/credit-dmp
2、pdb用户登录pdb,conn CREDITLOG/123456@PDBCREDITLOG
3、查询并创建目录
select * from dba_directories;
create or replace directory DB_BAK as ‘/data/web/credit-dmp’
4、Sys用户登录pdb,conn sys/P@ssw0rd@PDBCREDITLOG
5、为用户授权目录读写权限grant read,write on directory DB_BAK to CREDITLOG
6、执行impdp命令
对于源库和目标库用户及表空间名称相同的执行如下语句:
impdp CREDITPLATFORM/123456@PDBCREDITPLATFORMDIRECTORY=DB_BAK DUMPFILE=CREDITPLATFORM_NEW20160420.dmp full=y table_exists_action=replace
对于源库和目标库用户及表空间名称不相同的执行如下语句:
impdp CREDITPLATFORM/123456@PDBCREDITPLATFORMDIRECTORY=DB_BAK DUMPFILE=CREDITPLATFORM_NEW20160420.dmp REMAP_SCHEMA=CREDITPLATFORM_NEW:CREDITPLATFORM remap_tablespace=TS_CREDITPLATFORM_NEW:TS_CREDITPLATFORM full=y
原文转自https://jingyan.baidu.com/article/f71d6037ac90101ab641d1d1.html