视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ArcSDE10.2.1在Oracle12c环境的安装
2020-11-09 07:18:02 责编:小采
文档


随着Oracle12c的推出,越来越多的Oracle用户都希望能够尽快的使用该版本,感受一下Oracle12c数据库强大的功能。ArcGIS软件也不例外,前一段时间Oracle12c刚推出不久,本博客就发布了怎么在Linux环境下安装Oracle12c,当时ArcGIS10.2版本还没有在中国正式发布

随着Oracle12c的推出,越来越多的Oracle用户都希望能够尽快的使用该版本,感受一下Oracle12c数据库强大的功能。ArcGIS软件也不例外,前一段时间Oracle12c刚推出不久,本博客就发布了怎么在Linux环境下安装Oracle12c,当时ArcGIS10.2版本还没有在中国正式发布,但是美国的Support明确说明,当时ArcGIS10.2还不支持Oracle12c,不过我断定不久可能就会支持,也许ArcGIS10.2发布某个补丁后就支持了。果然没错,在ArcGIS10.2.1版本发布之后,Esri就宣布支持Oracle12c.

关于Oracle12c的安装可以参考:

http://blog.csdn.net/linghe301/article/details/9221665


下面我们看一下ArcSDE10.2 for Oracle的系统需求,看看有什么可以注意的信息:

  • Oracle Linux 5 is compatible with Red Hat Enterprise Linux 5. DBMS support is Oracle 11.2.0.2.0 and up.
  • Oracle Linux 6 is compatible with Red Hat Enterprise Linux 6. DBMS support is Oracle 11.2.0.3.0 and up.
  • Oracle 11g R1 (11.1.0.7) is no longer supported at ArcGIS 10.2.1.
  • Oracle 11g R2 (11.2.0.1) is no longer supported at ArcGIS 10.2.1.
  • Oracle 11g R2 (11.2.0.3) is supported as the base version starting at ArcGIS 10.2.1.
  • Oracle 12c R1 (12.1.0.1) is supported starting at ArcGIS 10.2.1.
  • ArcGIS 10.2.1 is the last supported release for Microsoft Windows Server 2003 and 2003 R2.
  • Windows Server 2012 support begins at ArcGIS 10.2.1
  • 关于这些信息都需要用户在立项时候考虑的,更多参考:

    http://resources.arcgis.com/en/help/system-requirements/10.2/index.html#/Oracle_Database_Requirements/01510000006s000000/


    注意:以下操作都是在用户使用PDB基础上,鉴于PDB收费,如果用户使用非PDB的Oracle实例,那么在相关操作与Oracle11g版本基本一致。


    用户可以不勾选Create as Container database。就不创建PDB了。


    介绍一下我安装的环境:

    OS:Linux 5.5 Oracle12.1.0.1 IP:192.168.220.203 实例名:orcl

    OS:Windows Server 2008,Oracle 11.2.0.2 IntantClient,ArcGIS10.2.1 for Desktop

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

    Blog: http://blog.csdn.net/linghe301
    Weibo: http://www.weibo.com/linghe301
    --------------------------------------------------------------------------------------------

    因为目前ArcSDE10.2.1没有Oracle12c的介质软件,所以,直接使用桌面创建地理数据库即可。

    确保桌面机器能够正确连接上Oracle12c的服务器端,使用建库工具


    该界面与原来的Oracle11g的安装基本一样,点击执行,信息提示报:ora-65096错误

    Executing: CreateEnterpriseGeodatabase Oracle 192.168.220.203/orcl # DATABASE_AUTH sys ***** SDE_SCHEMA sde ***** sde C:\Users\Administrator\Desktop\ArcGISforServerAdvancedEnterprise_server.ecp
    Start Time: Wed Feb 12 09:17:20 2014
    User has privileges required to create database objects.
    Tablespace created.
    Error creating geodatabase admin user. [ERROR: Failed to create new Oracle user sde (-51).
     Error: Underlying DBMS error (-51).
    Extended error code: (65096)
     ORA-65096: invalid common user or role name
    
    ]
    Failed to execute (CreateEnterpriseGeodatabase).
    Failed at Wed Feb 12 09:17:32 2014 (Elapsed Time: 12.37 seconds)
    

    比较纳闷,在以前版本都没有问题,为什么oracle 12c环境报该错误呢?

    翻开Oracle12c的新特性,曾经介绍过有一个多租户的概念


    在Oracle Database 12c中,可组装式数据库 - Pluggable Database为云计算而生。在12c以前,Oracle数据库是通过Schema来进行用户模式隔离的,现在,可组装式数据库可以让此前意义上的多个数据库一起共存。
    Pluggable Database 其体系结构的核心是:
      由一个容器数据库(CDB)和多个可组装式数据库(PDB)构成,PDB包含的系统表空间和SYSAUX表空间等,但是所有PDB共享CDB的控制文件、日志文件和UNDO表空间。各个PDB之间互访需要通过DB Link进行,就仿佛是多个数据库一样。
      在2012 OOW上,Larry重点介绍了Oracle Database 12c 的这个新特性,并将其归结为:多租户数据库。也就是说,在云平台上,不同租户可以在一个大的CDB数据库中运行,而彼此数据(PDB)与应用又完全隔离。显然这个特性对Oracle推出的数据库云平台必不可少。

    ORACLE 12C中提出来CDB和PDB的概念,对于ORACLE的数据库来说,确实是一个新东西,他们可以分别理解为容器和插件(PDB插入在CDB中),CDB的管理和传统数据库区别不大,本篇文章对PDB的部分操作进行了简单说明(创建PDB,OPEN PDB,DROP PDB,Plug PDB,Unplugging PDB)

    更多了解:

    ORACLE 12C PDB部分功能测试

    http://www.xifenfei.com/4010.html
    ORACLE 12C PDB 维护基础介绍
    http://www.xifenfei.com/4432.html
    Viewing Information About CDBs and PDBs
    http://www.xifenfei.com/4445.html
    ORACLE 12C CDB中PDB参数管理机制
    http://www.xifenfei.com/4482.html

    其实一句话,在原来Oracle12c之前版本的环境下,一个Oracle实例下,就可以创建相关的数据库,这个数据库就是在一个Oracle实例下的全局,该实例共享Oracle的系统文件、控制文件等,那么在Oracle12c环境下,在一个Oracle实例下,有一个全局库,全局库有可以管理可创建的可组装库,那么ArcSDE地理数据库就是一个组装库,问题的原因是用户应该创建Oracle12c的组装库。


    你知道吗?
    Oracle 12c 数据库的多租户功能将单独收费,售价为 1.75万美元/处理器,而企业版 12c数据库的售价仍为 4.75 万美元/处理器。

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

    Blog: http://blog.csdn.net/linghe301
    Weibo: http://www.weibo.com/linghe301
    --------------------------------------------------------------------------------------------

    那么接下来就看一下怎么创建?

    查看一下Oracle的监听状态

    [oracle@oracle12c ~]$ lsnrctl start
    
    LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 01-JUL-2013 14:12:01
    
    Copyright (c) 1991, 2013, Oracle. All rights reserved.
    
    Starting /home/oracle/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wai t...
    
    TNSLSNR for Linux: Version 12.1.0.1.0 - Production
    System parameter file is /home/oracle/app/oracle/product/12.1.0/dbhome_1/network /admin/listener.ora
    Log messages written to /home/oracle/app/oracle/diag/tnslsnr/oracle12c/listener/ alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.220.203)(PORT=15 21)))
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias LISTENER
    Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production
    Start Date 01-JUL-2013 14:12:01
    Uptime 0 days 0 hr. 0 min. 0 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File /home/oracle/app/oracle/product/12.1.0/dbhome_1/networ k/admin/listener.ora
    Listener Log File /home/oracle/app/oracle/diag/tnslsnr/oracle12c/listene r/alert/log.xml
    Listening Endpoints Summary...
     (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
     (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.220.203)(PORT=1521)))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
     Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "ORCL" has 1 instance(s).
     Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    
    可以看到监听只对全局环境变量Orcl进行监听,并没有体现对组装库的监听


    连接Sqlplus查看PDB

    [oracle@oracle12c ~]$ sqlplus system/oracle@orcl
    
    SQL*Plus: Release 12.1.0.1.0 Production on Mon Jul 1 14:27:40 2013
    
    Copyright (c) 1982, 2013, Oracle. All rights reserved.
    
    Last Successful login time: Mon Jul 01 2013 14:20:36 -04:00
    
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - bit Production
    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt ions
    
    
    SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    
     CON_ID DBID NAME OPEN_MODE
    ---------- ---------- ------------------------------ ----------
     2 4062262812 PDB$SEED READ ONLY
     3 2266793495 PDBORCL MOUNTED
    

    可以看到,系统自动创建的PDBORCL,但是Open_MODE是Mounted状态,我们需要将PDBORCL进行Open,该操作需要使用SYS用户

    SQL> alter pluggable database pdborcl open;
    alter pluggable database pdborcl open
    *
    ERROR at line 1:
    ORA-01031: insufficient privileges
    
    
    SQL> conn sys/oracle@orcl as sysdba
    Connected.
    SQL> alter pluggable database pdborcl open;
    
    Pluggable database altered.
    
    SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
    
     CON_ID DBID NAME OPEN_MODE
    ---------- ---------- ------------------------------ ----------
     2 4062262812 PDB$SEED READ ONLY
     3 2266793495 PDBORCL READ WRITE
    


    我们再查看一下监听状态
    [oracle@oracle12c ~]$ lsnrctl status
    
    LSNRCTL for Linux: Version 12.1.0.1.0 - Production on 01-JUL-2013 15:22:11
    
    Copyright (c) 1991, 2013, Oracle. All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    STATUS of the LISTENER
    ------------------------
    Alias LISTENER
    Version TNSLSNR for Linux: Version 12.1.0.1.0 - Production
    Start Date 01-JUL-2013 14:12:01
    Uptime 0 days 1 hr. 10 min. 10 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File /home/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
    Listener Log File /home/oracle/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml
    Listening Endpoints Summary...
     (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
     (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.220.203)(PORT=1521)))
     (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oracle12c)(PORT=5500))(Security=(my_wallet_directory=/home/oracle/app/oracle/product/12.1.0/dbhome_1/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW))
    Services Summary...
    Service "CLRExtProc" has 1 instance(s).
     Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "ORCL" has 2 instance(s).
     Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
     Instance "orcl", status READY, has 1 handler(s) for this service...
    Service "orclXDB" has 1 instance(s).
     Instance "orcl", status READY, has 1 handler(s) for this service...
    Service "pdborcl" has 1 instance(s).
     Instance "orcl", status READY, has 1 handler(s) for this service...
    The command completed successfully
    
    可以看到,监听已经对pdborcl进行了监听,那么连接该插件库
    [oracle@oracle12c ~]$ sqlplus sys/oracle@pdborcl as sysdba
    
    SQL*Plus: Release 12.1.0.1.0 Production on Mon Jul 1 15:25:53 2013
    
    Copyright (c) 1982, 2013, Oracle. All rights reserved.
    
    
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - bit Production
    With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
    
    SQL> show con_name;
    
    CON_NAME
    ------------------------------
    PDBORCL
    SQL> select name from datafile;
    select name from datafile
     *
    ERROR at line 1:
    ORA-00942: table or view does not exist
    
    
    SQL> select name from v$datafile;
    
    NAME
    --------------------------------------------------------------------------------
    /home/oracle/app/oracle/oradata/orcl/undotbs01.dbf
    /home/oracle/app/oracle/oradata/orcl/pdborcl/system01.dbf
    /home/oracle/app/oracle/oradata/orcl/pdborcl/sysaux01.dbf
    /home/oracle/app/oracle/oradata/orcl/pdborcl/SAMPLE_SCHEMA_users01.dbf
    /home/oracle/app/oracle/oradata/orcl/pdborcl/example01.dbf
    

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

    Blog: http://blog.csdn.net/linghe301
    Weibo: http://www.weibo.com/linghe301
    --------------------------------------------------------------------------------------------

    那么接下来,我们已经弄清楚出现问题的原因之后,我们重新输入参数信息,创建ArcSDE地理数据库



    执行之后,我们看到ArcSDE地理数据库已经创建完成



    我们导入数据进行测试



    后续还会推出更多Oracle 12c新特性与ArcGIS数据结合的文章,尽情期待!

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

    Blog: http://blog.csdn.net/linghe301
    Weibo: http://www.weibo.com/linghe301
    --------------------------------------------------------------------------------------------

    下载本文
    显示全文
    专题