oracle 12c 创建多个容器数据库之后,如何进行切换和设置,并且将非cdb插入到容器数据库中

时间:2021-04-09 16:49:46
安装了一个12c 的oracle,然后在程序安装的时候不太懂就创建了一个容器库。然后手动又创建了两个容器数据库,其中第二个成功了。再用Oracle SQL Developer 创建连接,创建的时候是直接连接到手动创建的第二个容器数据库中。但是只能用本地才能连接上,如果选择基本和默认,就提示 oracle 12c 创建多个容器数据库之后,如何进行切换和设置,并且将非cdb插入到容器数据库中
想问下如何在选择的容器数据库中创建一个pdb,用Oracle SQL Developer  或者plsql连接的

6 个解决方案

#1


自己顶个

#2


楼主不要被PDB吓住。
建好pdb之后,lsnrctl stat 看监听状态
会有类似于下面的内容:
Service "pdb2" has 1 instance(s).
  Instance "cdb", status READY, has 1 handler(s) for this service...

如果想连到pdb2,新建一个连接串
pdb2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME =  pdb2)
    )
  )
然后用这个连接串来连接pdb2就可以了。
如果是在sqlplus里使用下面的语句来切换pdb
alter session set container=pdb2;

#3


引用 2 楼 angelwing1984 的回复:
楼主不要被PDB吓住。
建好pdb之后,lsnrctl stat 看监听状态
会有类似于下面的内容:
Service "pdb2" has 1 instance(s).
  Instance "cdb", status READY, has 1 handler(s) for this service...

如果想连到pdb2,新建一个连接串
pdb2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME =  pdb2)
    )
  )
然后用这个连接串来连接pdb2就可以了。
如果是在sqlplus里使用下面的语句来切换pdb
alter session set container=pdb2;


lsnrctl stat 运行之后出现这个提示

#4


lsnrctl stat 运行之后出现这个提示  oracle 12c 创建多个容器数据库之后,如何进行切换和设置,并且将非cdb插入到容器数据库中  是不是因为cdb配置的不正确,我pdb还没建

#5


从这里 看是你没建立监听,建个监听试试。

#6


引用 5 楼 angelwing1984 的回复:
从这里 看是你没建立监听,建个监听试试。

把除了安装时候创建的数据库之外的数据库都删掉了,所有的监听也都删掉,然后重新创建数据库,创建监听,然后好了,谢谢你了

#1


自己顶个

#2


楼主不要被PDB吓住。
建好pdb之后,lsnrctl stat 看监听状态
会有类似于下面的内容:
Service "pdb2" has 1 instance(s).
  Instance "cdb", status READY, has 1 handler(s) for this service...

如果想连到pdb2,新建一个连接串
pdb2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME =  pdb2)
    )
  )
然后用这个连接串来连接pdb2就可以了。
如果是在sqlplus里使用下面的语句来切换pdb
alter session set container=pdb2;

#3


引用 2 楼 angelwing1984 的回复:
楼主不要被PDB吓住。
建好pdb之后,lsnrctl stat 看监听状态
会有类似于下面的内容:
Service "pdb2" has 1 instance(s).
  Instance "cdb", status READY, has 1 handler(s) for this service...

如果想连到pdb2,新建一个连接串
pdb2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME =  pdb2)
    )
  )
然后用这个连接串来连接pdb2就可以了。
如果是在sqlplus里使用下面的语句来切换pdb
alter session set container=pdb2;


lsnrctl stat 运行之后出现这个提示

#4


lsnrctl stat 运行之后出现这个提示  oracle 12c 创建多个容器数据库之后,如何进行切换和设置,并且将非cdb插入到容器数据库中  是不是因为cdb配置的不正确,我pdb还没建

#5


从这里 看是你没建立监听,建个监听试试。

#6


引用 5 楼 angelwing1984 的回复:
从这里 看是你没建立监听,建个监听试试。

把除了安装时候创建的数据库之外的数据库都删掉了,所有的监听也都删掉,然后重新创建数据库,创建监听,然后好了,谢谢你了