使用12c PDB整合环境的总结

从开始使用12c PDB整合环境以来,发现确实不错,原来11g中整合的难题在这里得到了解决。
目前存在多套的测试环境,之前整合了一批,基本是采用整合schema的方式,但是后来发现这种方式局限性太大,最后就是如下图所示的结构,一半的系统整合完了,还有一半是保留了原来的样子。

所以整合需要解决的问题就很明显了,大体总结了下,有下面几个主要问题。

1.       大量的用户在多个数据库环境重复

2.       重复的表和数据不易管理

3.       大量的表空间信息混乱,多则300多个表空间

4.       数据库版本低,为10gR2

5.       遗留环境目前没有灾备,只有每天的全备导出

6.       服务器配置较差,存在宕机风险和数据丢失风险

所以基于以上的问题总结,决定迁移至Oracle 12c提高资源使用率,方便统一管理,服务器最后都会整合到一台服务器上,留有一台作为灾备即可。


对于迁移后的连接问题,其实在12c中还是碰到了不少小问题,简单总结下来。

1.JDBC URL配置变化
如果使用JDBC的连接配置,假设数据库为testdb
jdbc:oracle:thin:@10.127.xxx: 1525:testdb
修改为:
jdbc:oracle:thin:@10.127.xxx:1525/testdb

2.tnsnames.ora配置
如果使用tnsnames.ora的配置,原有的配置在新版本中SID识别会有问题,需要修改为SERVICE_NAE
testdb =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.127.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = testdb)
      (SERVER = DEDICATED)
    )
  )
修改为:
testdb =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.127.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb)
      (SERVER = DEDICATED)
    )
  )
3.对于低版本的兼容性
如果JDK的版本和驱动版本太低,会抛出如下的错误
java.sql.SQLException: ORA-28040: No matching authentication protocol
这种方式的直接解决就是升级JDK或者客户端的版本
官方文档 ORA-28040 Using JDBC Connection to 12c Database (Doc ID 2111118.1)明确提到在12c中已经不支持9i的客户端了。
而对于JDBC的驱动而言,其实想想也蛮有意思,以前的jdbc驱动清一色都是classes12.jar 其实和Java 1.2是有关系的,后面有了ojdbc14.jar,这个和JDK1.4是有关系对的,然后就是ojdbc5.jar,那个时候Java已经改了名称为Java 5而不是1.5,然后就是ojdbc6.jar,当然就是Java 6,还有现在的ojdbc7.jar,和Java 7有关。满满的套路。
明确

时间: 2024-10-07 20:08:07

使用12c PDB整合环境的总结的相关文章

Oracle 12c PDB浅析(二)

之前写了第一篇Oracle 12c PDB浅析 http://blog.itpub.net/23718752/viewspace-1823792/?          在上次的基础上继续来学习学习.     首先关于多租户的架构设计来说,就好比在一座已经几十年的老房子上动地基一般,这个变化着实够大,如此重大的变化Oracle不遗余力的想引入进来,肯定有更深层次的原因,当然关于这种设计在SQLServer中确实已经早有实现,在Oracle中却被大家相传为一种略带神奇的架构设计.不过话说回来,这个和

绝对易用的php/mysql/apache整合环境:EasyPHP

绝对易用的php/mysql/apache整合环境: EasyPHPEasyPHP 1.5 17/08/2001 Nouvelle version avec : apache 1.3.20 - php 4.0.6 - mysql 3.23.40 - phpmyadmin 2.2.0rc4. Quelques nouveautés : gestion des alias et des répertoires data mysql, services sous NT/2000, easyphp.in

ORACLE 12C PDB 维护基础知识介绍_oracle

先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文档得知"试图创建一个通用用户,必需要用C##或者c##开头",这时候心里会有疑问,什么是common user?不管先建成功了再说 create C##user test identifed by test; 创建成功 SQL>show con_name; CON_NAME ----

[20140613]12c PDB数据库与shutdown abort

[20140613]12c PDB数据库与shutdown abort.txt D:\tools\rlwrap>sqlplus sys/XXXXX@test01p as sysdba sqlplus sys/btbtms@test01p as sysdba SQL*Plus: Release 12.1.0.1.0 Production on Fri Jun 13 21:49:26 2014 Copyright (c) 1982, 2013, Oracle.  All rights reserve

Oracle 12c PDB迁移(一)

    最近在整理测试环境的服务器资源,发现真是混乱,问题比较多.首先是服务器配置较低(很多都是KVM或者openstack虚机),资源使用率不高,有些数据的版本较低(10gR2),没有开启归档,没有备库(有些都是异机备份的形式).而且数据库比较散乱,整合起来难度较大,最大的难点就是数据库用户重复,大量重名的同义词等.之前尝试整合了一番,遇到了瓶颈,就暂停了整合的过程,现在来看12c还是一个不错的选择.当然我的选择似乎还是晚了些,下午在看很多人的博客的时候,发现不少人三四年前就在玩12c的很多特

Oracle 12c PDB迁移及ORA-00600错误分析和解决

最近迁移一台测试环境,准备整合到12c的PDB,常规的思路是用Datapump导出导入,对于数据较大的环境来说这个时间会比较长,为此自己也尝试先升级这个测试库,然后加入到CDB中去. 升级的过程就不多说了,其实对于大多数常规的业务来说,本身不是难点. 把升级后的NON-CDB加入到CDB中,基本是下面的思路,先把数据启动到只读模式,然后到处一个配置文件,加载到CDB的重要地方就是使用这个配置文件.先做检查. sqlplus / as sysdba SQL> select name, CDB fr

当12C PDB遇上JDBC

最近整合了几个测试环境,都放入了12c的容器数据库中.今天本来计划再整合几个测试库进来,结果因为碰到了JDBC的问题给耽搁了. 迁移数据库的步骤,因为数据量不大,数据结构较为复杂,所以直接采用了DataPump来做,而且因为测试环境,所以很多问题有充足的时间去排除和分析. 首先我创建了一个PDB CREATE PLUGGABLE DATABASE tbillmob ADMIN USER pdb_mgr IDENTIFIED BY oracle file_name_convert=('/home/

Oracle 12c PDB浅析

不管怎么样,12c出来这么久,总是因为各种各样的原因没有开始学习,现在似乎还是有些晚了.总是耳闻PDB在12c是一种全新的架构模式,在各种技术聊天也大概知道是一种可插拨的新型架构模式,但是似乎SQLServer中也有类似的架构,不管怎么样Oracle圈内还是很火,而且听说12c r2可以支持4096个pdb,这个也太大了,docker装一下试试:) 自己也在本地尝试了一下,其实中间了花了些时间,中途总是被各种事情打断,所以留下的都是一些零碎的知识片段,自己索引把环境重新删了再做几次. 在这种尝试

Oracle 12c PDB中碰到的DG问题

Oracle 12c中的PDB一下子让数据文件的格式复杂了一些,所以Data Guard就很有必要了,一旦出现问题,受损失的数据库是全局的.没想到在搭建Data Guard的时候还是碰到了一些小问题. 问题源自于一次PDB创建的时候,早些时候我在搭建好Data Guard后,主备库的日志应用都没有问题,过了几天,根据需求需要再添加一个PDB,导入一些数据供应用使用.按照要求创建了数据文件然后导入数据,但是查看备库的状态发现MRP异常停止了. DG Broker检测的状态如下: DGMGRL> s