Oracle12c 版本的说明: Oracle12cR2=12.2.0.1 Oracle18C=12.2.0.2 Oracle19c=12.2.0.3
在 MOS 官方文章:Release Schedule of Current Database Releases (文档 ID 742060.1) 上,可以清晰的看到 Oracle 的版本计划。
Oracle Database 19c 长期支持,又有很多如自动化索引、实时统计信息收集、ADG DML重定向、混合分区表、SQL&&JSON 语法支持等新特性。这么多的新特性等着我们去使用,赶快来下载体验学习吧,本次就先从 Windows 版本开始咯。
0、软件下载
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
打开此网站,选择相应的操作系统版本,点击 See All 便出现如下页面。便可以下载软件了(前提是需要 Oracle 账号登陆才可以)。
1、安装前检查
对内存、磁盘空间、临时目录和操作系统版本等进行检查,我这里使用的是 Windows 7 版本 12g 内存,直接存放于 C 盘 APP 目录,但是在检查时发现 19c 不支持 Windows 7 和 Windows 8 以及 Windows Server 2008,支持 Windows 8.1 以上及 Windows Server 2012 以上版本,没办法都已经下载了,那就安装一下折腾折腾看具体会出现什么问题吧(PS:这里墙裂建议使用 Windows 10 或者 Linux 7 系统)。
https://docs.oracle.com/en/database/oracle/oracle-database/19/ntdbi/operating-system-checklist-oracle-database-installation-microsoft-windows.html
Operating System Checklistfor Oracle Database Installation on Microsoft Windows
磁盘空间,企业版要求至少 6.5GB 即可满足要求,其他信息参考以上链接查看具体信息,这里就直接解压安装包,点击 setup.exe 运行了。
At least 6.5 GB for Oracle Database Enterprise Edition; At least 6.0 GB for Oracle Database Standard Edition 2; At least 7.0 GB for an Oracle Restart installation;
dbca 建库
SYS@JiekeXuCDB> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 JIEKEXU_PDB1 MOUNTED
SYS@JiekeXuCDB> alter pluggable database Jiekexu_pdb1 open;
插接式数据库已变更。
SYS@JiekeXuCDB> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 JIEKEXU_PDB1 READ WRITE NO
SYS@JiekeXuCDB>
SYS@JiekeXuCDB> alter session set container=jiekexu_pdb1;
会话已更改。
SYS@JiekeXuCDB> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 JIEKEXU_PDB1 READ WRITE NO
SYS@JiekeXuCDB>show con_name
CON_NAME
------------------------------
JIEKEXU_PDB1
SYS@JiekeXuCDB> select count(*) from user_tables;
COUNT(*)
----------
1533
SYS@JiekeXuCDB> select name,open_mode from v$pdbs;
SYS@JiekeXuCDB> create user xu identified by xu account unlock;
用户已创建。
SYS@JiekeXuCDB> grant connect,resource,unlimited tablespace to xu;
授权成功。
netca 监听配置
监听建立完成后,但启动却失败了,如下“未能启动监听程序”。
无法定位程序输入点GetOverlappedResultEx 于动态链接库 KERNEL32.dll 上。
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 29-2月 -2020 13:36:09
Copyright (c) 1991, 2019, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=JiekeXu)(PORT=1521)
TNS-12541: TNS: 无监听程序
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听程序
64-bit Windows Error: 61: Unknown error
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12557: TNS: 协议适配器不可加载
TNS-12560: TNS: 协议适配器错误
TNS-00527: 协议适配器不可加载
KERNEL32.dll 文件原则 win7 环境是不需要的,win8 以上才需要。这里才意识到前面 Oracle 说的 19c 不能安装到 win7 环境,网上各种引擎找了半天,包括重新下载 KERNEL32.dll 文件,重新安装 Windows 补丁等各种办法,还是没有解决。最后看到如下 GetOverlappedResultEx function 函数不支持 win7,看到这里只能放弃了。
https://technet.microsoft.com/zh-tw/sysinternals/hh448542(v=vs.80)
到这里基本上就这样了,涉及到监听连接的则无法连接,只能凑合使用了。