• 12C CLONE PDB and config service_listener


     Clone PDB PtestDEV to Ptestuat in testuat

    1)       Clone PtestDEV to Ptestuat

    C:Windowssystem32>sqlplus / as sysdba

    SQL*Plus: Release 12.1.0.2.0 Production on 星期五 12月 23 13:12:42 2016

    Copyright (c) 1982, 2016, Oracle.  All rights reserved.

    连接到:

    Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt

    ions

    SQL> select name from v$datafile;

    NAME

    --------------------------------------------------------------------------------

    C:APPORACLEORADATA estuatSYSTEM01.DBF

    C:APPORACLEORADATA estuatPDBSEEDSYSTEM01.DBF

    C:APPORACLEORADATA estuatSYSAUX01.DBF

    C:APPORACLEORADATA estuatPDBSEEDSYSAUX01.DBF

    C:APPORACLEORADATA estuatUNDOTBS01.DBF

    C:APPORACLEORADATA estuatUSERS01.DBF

    C:APPORACLEORADATA estuatPtestDEVSYSTEM01.DBF

    C:APPORACLEORADATA estuatPtestDEVSYSAUX01.DBF

    C:APPORACLEORADATA estuatPtestDEVPtestDEV_USERS01.DBF

    已选择 9 行。

    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED

    ---------- ------------------------------ ---------- ----------

             2 PDB$SEED                       READ ONLY  NO

             3 PtestDEV                       READ WRITE NO

    SQL> alter pluggable database ptestdev close immediate;

    插接式数据库已变更。

    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED

    ---------- ------------------------------ ---------- ----------

             2 PDB$SEED                       READ ONLY  NO

             3 PtestDEV                       MOUNTED

    SQL>

    SQL> alter pluggable database ptestdev open read only;

    插接式数据库已变更。

     (

    If we are not using the OMF, the SQL syntax is bit drawn out; yet still simple enough to use for creating a PDB.

    CREATE PLUGGABLE DATABASE pdb2 FROM pdb1
    PATH_PREFIX = '/oracle/app/oradata'
    FILE_NAME_CONVERT = ('/oracle/app/oradata/ora12c/pdb1', '/oracle/app/oradata/ora12c/pdb2');

    )

    SQL>  create pluggable database ptestuat from ptestdev

    FILE_NAME_CONVERT=('C:APPORACLEORADATA estuatPtestDEV','C:APPORACLE

    ORADATA estuatPtestuat');

    插接式数据库已创建。

    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED

    ---------- ------------------------------ ---------- ----------

             2 PDB$SEED                       READ ONLY  NO

             3 PtestDEV                       READ ONLY  NO

             4 Ptestuat                       MOUNTED

    SQL> alter pluggable database ptestdev close;

    插接式数据库已变更。

    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED

    ---------- ------------------------------ ---------- ----------

             2 PDB$SEED                       READ ONLY  NO

             3 PtestDEV                       MOUNTED

             4 Ptestuat                       MOUNTED

    SQL> alter pluggable database all open;

    插接式数据库已变更。

    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED

    ---------- ------------------------------ ---------- ----------

             2 PDB$SEED                       READ ONLY  NO

             3 PtestDEV                       READ WRITE NO

             4 Ptestuat                       READ WRITE NO

    SQL> select con_name, instance_name,state,restricted from dba_pdb_saved_states;

    CON_NAME

    --------------------------------------------------------------------------------

    INSTANCE_NAME

    --------------------------------------------------------------------------------

    STATE                        RESTRI

    ---------------------------- ------

    PtestDEV

    testuat

    OPEN                         NO

    SQL>

    SQL> alter pluggable database all save state;

    插接式数据库已变更。

    SQL> select con_name, instance_name,state,restricted from dba_pdb_saved_states;

    CON_NAME

    --------------------------------------------------------------------------------

    INSTANCE_NAME

    --------------------------------------------------------------------------------

    STATE                        RESTRI

    ---------------------------- ------

    PtestDEV

    testuat

    OPEN                         NO

    Ptestuat

    testuat

    OPEN                         NO

    SQL>

    select CON_ID,GUID,NAME,OPEN_MODE
        from V$containers              

    2.

    1)    Set correct service for CBD$ROOT and Pluggable DB PtestDEV

    SQL> alter session set container=cdb$root;

    会话已更改。

    SQL> show con_id

    CON_ID
    ------------------------------
    1
    SQL>
    SQL> alter system set service_names=testuat scope=both;

    SQL> select name, value, display_value, con_id from v$system_parameter;

    NAME
    --------------------------------------------------------------------------------
    --------------------
    VALUE
    --------------------------------------------------------------------------------
    --------------------
    DISPLAY_VALUE
    --------------------------------------------------------------------------------
    --------------------
        CON_ID
    ----------
    service_names
    testuat
    testuat
             0
    SQL> alter session set container=ptestdev;

    会话已更改。

    SQL> show con_id

    CON_ID
    ------------------------------
    3

    SQL> alter system set service_names=ptestdev scope=both;




    c:apporacleproduct12.1.0dbhome_1OPatch>lsnrctl status testuat

    LSNRCTL for 64-bit Windows: Version 12.1.0.2.0 - Production on 23-12月-2016 12:0
    4:47

    Copyright (c) 1991, 2014, Oracle.  All rights reserved.

    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=REGISTER_testUAT)))
    LISTENER 的 STATUS
    ------------------------
    别名                      testuat
    版本                      TNSLSNR for 64-bit Windows: Version 12.1.0.2.0 - Produ
    ction
    启动日期                  23-12月-2016 11:00:06
    正常运行时间              0 天 1 小时 4 分 41 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          C:apporacleproduct12.1.0dbhome_1 etworkadminli
    stener.ora
    监听程序日志文件          C:apporacleproduct12.1.0dbhome_1 etworklog est
    uat.log
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeREGISTER_testUATipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vtest01Uat.cn.test.com)(PORT=15031))
    )
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=vtest01Uat.cn.test.com)(PORT=24084)
    ))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=vtest01Uat.cn.test.com)(PORT=5500))
    (Security=(my_wallet_directory=C:APP estADMINadmin estuatxdb_wallet))(Prese
    ntation=HTTP)(Session=RAW))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "PtestDEV" 包含 2 个实例。
      实例 "testUAT", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
      实例 "testuat", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "testUAT" 包含 2 个实例。
      实例 "testUAT", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
      实例 "testuat", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "testuatXDB" 包含 1 个实例。
      实例 "testuat", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功

    3)    Keep ‘save state’ for all the pluggable database instead of creating startup DB triggers

    SQL> show pdbs

        CON_ID CON_NAME                       OPEN MODE  RESTRICTED
    ---------- ------------------------------ ---------- ----------
             2 PDB$SEED                       READ ONLY  NO
             3 PtestDEV                       READ WRITE NO
    SQL> alter pluggable database all save state;

    插接式数据库已变更。

    SQL>

    4)    Setup sqlnet.ora, tnsnames.ora, listener.ora as below:

    C:apporacleproduct12.1.0dbhome_1 etworkadminsqlnet.ora
    # sqlnet.ora Network Configuration File: #C:apporacleproduct12.1.0dbhome_1 etworkadminsqlnet.ora
    # Generated by Oracle configuration tools.

    # This file is actually generated by netca. But if customers choose to
    # install "Software Only", this file wont exist and without the native
    # authentication, they will not be able to connect to the database on NT.

    SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

    C:apporacleproduct12.1.0dbhome_1 etworkadmin nsnames.ora
    # tnsnames.ora Network Configuration File: C:apporacleproduct12.1.0dbhome_1 etworkadmin nsnames.ora
    # Generated by Oracle configuration tools.

    testUAT =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = vtest01Uat.cn.test.com)(PORT = 15031))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = testuat)
        )
      )

    LISTENER_testUAT=
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = IPC)(KEY = REGISTER_testUAT))
      )

    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC15031))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )

    PtestDEV =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = vtest01Uat.cn.test.com)(PORT = 15031))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ptestdev)
        )
      )


    C:apporacleproduct12.1.0dbhome_1 etworkadminlistener.ora
    # listener.ora Network Configuration File: c:apporacleproduct12.1.0dbhome_1 etworkadminlistener.ora
    # Generated by Oracle configuration tools.

    SECURE_REGISTER_testUAT = (IPC)
    SECURE_CONTROL_testUAT =(TCPS,IPC)
    ADMIN_RESTRICTIONS_testUAT = ON

    testUAT =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = REGISTER_testUAT))
          (ADDRESS = (PROTOCOL = TCP)(HOST = vtest01Uat.cn.test.com)(PORT = 15031))
          (ADDRESS = (PROTOCOL = TCPS)(HOST = vtest01Uat.cn.test.com)(PORT = 24084))
        )
      )

    DIAG_ADR_ENABLED_testUAT = OFF

    SID_LIST_testUAT =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = testUAT)
          (SID_NAME = testUAT)
          (ORACLE_HOME = C:apporacleproduct12.1.0dbhome_1)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = PtestDEV)
          (SID_NAME = testUAT)
          (ORACLE_HOME = C:apporacleproduct12.1.0dbhome_1)
        )
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:apporacleproduct12.1.0dbhome_1)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:apporacleproduct12.1.0dbhome_1inoraclr12.dll")
        )
      )


    5)    Verify DB parameter (cond_id ‘0’ should be cdb$root)
    SQL> l
      1  select name, value, display_value, con_id from v$system_parameter
      2* where name in ('service_names','local_listener','db_name','instance_name')
    SQL> /

    NAME                                     VALUE                DISPLAY_VALUE
           CON_ID
    ---------------------------------------- -------------------- ------------------
    -- ----------
    service_names                            testuat              testuat
                0
    instance_name                            testuat              testuat
                0
    local_listener                           LISTENER_testUAT     LISTENER_testUAT
                0
    db_name                                  testuat              testuat
                0

    SQL>

  • 相关阅读:
    golang 类型断言的学习
    如何查询每个用户的第二条记录
    PHP Slim 框架初体验之无法访问控制器
    jquery循环遍历radio单选按钮,并设置选中状态
    CI框架中自定义view文件夹位置
    PHP代码实现MySQL读写分离
    mysql实现主从复制
    wildflyのデプロイ後の保存位置
    postgresql function
    shell backup
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/6223045.html
Copyright © 2020-2023  润新知