如何在Windows Server Core里安装Oracle 19C

写这篇文档纯属好奇试水,起源是群里的一次讨论:

520d8ebfb0d15d16399a3e0437b9d7a.jpg

之前在群里和朋友们讨论windows 安装oracle在各个医院都十分普遍,中勒索病毒的又特别多,要是windows上把oracle放到ASM里,那是不是就不会被加密了(起码重要的数据文件是安全的)?

我们平时都用LINUX/AIX/SOLARIS来跑数据库,压根不用图形。

windows也有无图形版本,在这上面安装完,是不是就能避免别人上去乱动了(虽说没有图形,但是有漏洞的话也会被勒索病毒注入)。于是研究了这么一篇水文,这一篇先研究一下在server core上安装oracle。

成了再研究下一篇Windows server Core+19c database +asm

以下是准备环境:

虚拟机软件:vmware workstation 17

操作系统:Windows Server 2016,安装无图形版本。

数据库:Oracle 19.3 database

目录

1、安装Server Core操作系统

2、配置操作系统

3、磁盘分区

4、虚拟机安装VMTOOLS

5、使用默认共享上传安装包

6、安装数据库

7、配置监听

8、DBCA创建数据库 

9、添加环境变量

10、关于4K对齐

参考 

1、安装Server Core操作系统

安装系统时不选择(桌面体验),即为无图形界面,后面的步骤和普通WINDOWS安装一样。

image.png

2、配置操作系统

安装完系统就是这个样子了,哈哈,没有图形,上来就是CMD窗口。

image.png

先是配置初始用户密码

image.png

如果不小心关掉了CMD窗口,再按ctrl+alt+del调出任务管理器,再运行CMD

可以运行sconfig.cmd调出操作系统配置界面,这里能进行一些简单的IP、主机名等配置,类似AIX的smitty,但是功能完全没有AIX的强大(AIX的smitty几乎覆盖了80%的操作)

后期大量配置还是要基于power shell来进行配置。

image.png

打开远程桌面

image.png

配置网络

image.png

关闭防火墙(如果有兴趣研究这块,我后面附上如何在在pwoershell下管理windows防火墙)

先切换到powershell,在CMD下直接敲powershell就行

执行命令查看防火墙配置

get-netfirewallprofile

默认防火墙是都开启的状态Enabled值都是True

查关闭所有防火墙

set-netfirewallprofile -profile domain,public,private -enable false

以下是前两步执行输出,enabled值为false表示防火墙己经关闭了

C:\Windows\system32>powershell
Windows PowerShell
版权所有 (C) 2016 Microsoft Corporation。保留所有权利。
PS C:\Windows\system32> get-netfirewallprofile
Name : Domain
Enabled : False
DefaultInboundAction : NotConfigured
DefaultOutboundAction : NotConfigured
AllowInboundRules : NotConfigured
AllowLocalFirewallRules : NotConfigured
AllowLocalIPsecRules : NotConfigured
AllowUserApps : NotConfigured
AllowUserPorts : NotConfigured
AllowUnicastResponseToMulticast : NotConfigured
NotifyOnListen : False
EnableStealthModeForIPsec : NotConfigured
LogFileName : %systemroot%\system32\LogFiles\Firewall\pfirewall.log
LogMaxSizeKilobytes : 4096
LogAllowed : False
LogBlocked : False
LogIgnored : NotConfigured
DisabledInterfaceAliases : {NotConfigured}
Name : Private
Enabled : False
DefaultInboundAction : NotConfigured
DefaultOutboundAction : NotConfigured
AllowInboundRules : NotConfigured
AllowLocalFirewallRules : NotConfigured
AllowLocalIPsecRules : NotConfigured
AllowUserApps : NotConfigured
AllowUserPorts : NotConfigured
AllowUnicastResponseToMulticast : NotConfigured
NotifyOnListen : False
EnableStealthModeForIPsec : NotConfigured
LogFileName : %systemroot%\system32\LogFiles\Firewall\pfirewall.log
LogMaxSizeKilobytes : 4096
LogAllowed : False
LogBlocked : False
LogIgnored : NotConfigured
DisabledInterfaceAliases : {NotConfigured}
Name : Public
Enabled : False
DefaultInboundAction : NotConfigured
DefaultOutboundAction : NotConfigured
AllowInboundRules : NotConfigured
AllowLocalFirewallRules : NotConfigured
AllowLocalIPsecRules : NotConfigured
AllowUserApps : NotConfigured
AllowUserPorts : NotConfigured
AllowUnicastResponseToMulticast : NotConfigured
NotifyOnListen : False
EnableStealthModeForIPsec : NotConfigured
LogFileName : %systemroot%\system32\LogFiles\Firewall\pfirewall.log
LogMaxSizeKilobytes : 4096
LogAllowed : False
LogBlocked : False
LogIgnored : NotConfigured
DisabledInterfaceAliases : {NotConfigured}

3、磁盘分区

先修改盘符,把光驱改成O盘,这步纯属个人强迫症。

C:\Users\Administrator>diskpart
Microsoft DiskPart 版本 10.0.14393.0
Copyright (C) 1999-2013 Microsoft Corporation.
在计算机上: ORACLE
DISKPART> lis volume
卷 ### LTR 标签 FS 类型 大小 状态 信息
卷 0 D SSS_X64FREV UDF DVD-ROM 5913 MB 正常
卷 1 RAW 磁盘分区 59 GB 正常
卷 2 C NTFS 磁盘分区 99 GB 正常 启动
卷 3 恢复 NTFS 磁盘分区 450 MB 正常 已隐藏
卷 4 FAT32 磁盘分区 99 MB 正常 系统
DISKPART> select volume 0
卷 0 是所选卷。
DISKPART> assign letter=o
DiskPart 成功地分配了驱动器号或装载点。
DISKPART> list volume
卷 ### LTR 标签 FS 类型 大小 状态 信息
卷 0 O SSS_X64FREV UDF DVD-ROM 5913 MB 正常

然后创建D盘(分的60G,跑到磁盘0了)

C:\Users\Administrator>diskpart
Microsoft DiskPart 版本 10.0.14393.0
Copyright (C) 1999-2013 Microsoft Corporation.
在计算机上: ORACLE
DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ------------- ------- ------- --- ---
磁盘 0 脱机 60 GB 60 GB
磁盘 1 联机 100 GB 0 B *
DISKPART> select disk 0
磁盘 0 现在是所选磁盘。
DISKPART> online disk
DiskPart 成功使所选磁盘联机。
DISKPART> attr disk clear readonly
已成功清除磁盘属性。
DISKPART> convert gpt
DiskPart 已将所选磁盘成功地转更换为 GPT 格式。
DISKPART> clean
DiskPart 成功地清除了磁盘。
DISKPART> create partition primary align=1024 //这步是模拟4K对齐配置的,后面的章节我附上说明
DiskPart 成功地创建了指定分区。
DISKPART> list partition
分区 ### 类型 大小 偏移量
------------- ---------------- ------- -------
* 分区 1 主要 59 GB 1024 KB
DISKPART> select partition 1
分区 1 现在是所选分区。
DISKPART> format fs=ntfs unit=64k label="oradata" quick
100 百分比已完成
DiskPart 成功格式化该卷。
DISKPART> assign letter=d
DiskPart 成功地分配了驱动器号或装载点。
DISKPART> list volume
卷 ### LTR 标签 FS 类型 大小 状态 信息
---------- --- ----------- ----- ---------- ------- --------- --------
卷 0 O SSS_X64FREV UDF DVD-ROM 5913 MB 正常
* 卷 1 D oradata NTFS 磁盘分区 59 GB 正常
卷 2 C NTFS 磁盘分区 99 GB 正常 启动
卷 3 恢复 NTFS 磁盘分区 450 MB 正常 已隐藏
卷 4 FAT32 磁盘分区 99 MB 正常 系统

4、虚拟机安装VMTOOLS

在WORKSTATION上点击挂载TOOLS

先用diskpart查看一下盘符diskpart---list volume

C:\Windows\system32>diskpart
Microsoft DiskPart 版本 10.0.14393.0
Copyright (C) 1999-2013 Microsoft Corporation.
在计算机上: ORACLE
DISKPART> list volume
卷 ### LTR 标签 FS 类型 大小 状态 信息
---------- --- ----------- ----- ---------- ------- --------- --------
卷 0 O VMware Tool CDFS DVD-ROM 124 MB 正常
卷 1 D oradata NTFS 磁盘分区 59 GB 正常
卷 2 C NTFS 磁盘分区 99 GB 正常 启动
卷 3 恢复 NTFS 磁盘分区 450 MB 正常 已隐藏
卷 4 FAT32 磁盘分区 99 MB 正常 系统

可以看到O盘是光驱挂载了vmware tools,接下来执行安装。

C:\Windows\system32>o:
O:\>dir
驱动器 O 中的卷是 VMware Tools
卷的序列号是 CF56-84A4
O:\ 的目录
2022/08/02 20:50 <DIR> Program Files
2022/08/02 20:50 788,240 VMwareToolsUpgrader.exe
2022/08/02 20:50 55,802 autorun.ico
2022/08/02 20:50 100 autorun.inf
2022/08/02 20:50 23 certified.txt
2022/08/02 20:50 2,694 manifest.txt
2022/08/02 20:50 44,265,872 setup.exe
2022/08/02 20:50 82,964,152 setup64.exe
7 个文件 128,076,883 字节
1 个目录 0 可用字节
O:\>setup.exe

这里窗口弹出了,哈哈,也不全完是没有图形的,接下来傻瓜安装就可以了。

截图.png

5、使用默认共享上传安装包

image.png

拷贝安装文件至D盘根目录下

执行命令创建安装目录

C:\Users\Administrator>d:
D:\>mkdir app\oracle\product\19.3\db_1

创建之后,解压软件到刚才创建的目录

d:\>powershell
Windows PowerShell
版权所有 (C) 2016 Microsoft Corporation。保留所有权利。
PS D:\> cd d:\
PS D:\> dir
目录: D:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2023/12/29 20:33 app
-a---- 2023/12/28 22:40 3105763999 Oracle Database 19.3.0.0.0 - Long Term Release for Microsoft Windows x
64 (64-bit).zip
PS D:\> Expand-Archive -LiteralPath '.\Oracle Database 19.3.0.0.0 - Long Term Release for Microsoft Windows x64 (64-bit)
.zip' -DestinationPath d:\app\oracle\product\19.3\db_1

会弹出解压进度,等待解压完毕。

image.png

6、安装数据库

解压完成后cd到 指定目录

直接运行setup.bat进行安装

PS D:\> cd D:\app\oracle\product\19.3\db_1\
PS D:\app\oracle\product\19.3\db_1> .\setup.bat

不出意外,出了图形界面。。。

image.png

接下来就是正常的安装步骤了

image.png

image.png

image.png

image.png

image.png

image.png

image.png

7、配置监听

安装完成后,环境变量没有生效,手动进到安装目录下,执行下命令

d:\app>cd d:\app\oracle\product\19.3\db_1\bin
d:\app\oracle\product\19.3\db_1\bin>netca

创建监听

image.png

image.png

image.png

image.png

image.png

image.png

image.png

8、DBCA创建数据库

再往下我就不截图了,大家都会

image.png

9、添加环境变量

方法1:powershell

切换到powershell下,运行如下命令查看当前PATH

C:\Windows\system32>powershell
Windows PowerShell
版权所有 (C) 2016 Microsoft Corporation。保留所有权利。
PS C:\Windows\system32> $env:path -split";"
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps
----临时生效配置方法,在powershell里输入如下
$env:ORACLE_HOME+="D:\app\oracle\product\19.3\db_1\"
$env:ORACLE_BASE+="D:\app\Administrator\"
$env:ORACLE_SID+="ORCL"
$env:PATH+=";D:\app\oracle\product\19.3\db_1\bin"
exit
---然后再执行oracle命令,立即生效
C:\Users\Administrator>lsnrctl status
LSNRCTL for 64-bit Windows: Version 19.0.0.0.0 - Production on 29-12月-2023 22:29:42
Copyright (c) 1991, 2019, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Oracle)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production
启动日期 29-12月-2023 22:12:56
正常运行时间 0 天 0 小时 16 分 47 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\app\oracle\product\19.3\db_1\network\admin\listener.ora
监听程序日志文件 D:\app\Administrator\diag\tnslsnr\Oracle\listener\alert\log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Oracle)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on 星期五 12月 29 22:29:47 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
连接到:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL>

方法2:使用setx修改系统变量,改完立即生效

setx 用法:

设置用户环境变量:setx "变量名" "变量值"

设置计算机(全局)环境变量:setx "变量名" "变量值" /m

setx "ORACLE_HOME" "D:\app\oracle\product\19.3\db_1"

setx "ORACLE_BASE" "D:\app\Administrator"

setx "ORACLE_SID" "ORCL"

setx "PATH" "D:\app\oracle\product\19.3\db_1\bin;%PATH%"

image.png

方法3:regedit直接修改注册表

在指定的位置创建键值即可

  • 用户变量所在位置:

HKEY_CURRENT_USER\Environment

  • 系统变量所在位置:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

10、关于4K对齐

Windows Server 2003 以及以前的版本,创建分区的时候,默认偏移量是32K。

Windows server 2008 及以后的版本,创建分区的时候,默认是1024K

网上的说法是:并检查“分区起始偏移”的数值是否能被4096整除,能整除则表明是4K对齐,否则则不是4K对齐。

这块我也没太看懂,有懂的小伙伴可以给我讲讲。

检查的方法1:

image.png

检查方法2:

查看startingoffset值

C:\Users\Administrator>wmic partition get blocksize,startingoffset,name,index

BlockSize Index Name StartingOffset

512 0 磁盘 #1,分区 #0 1048576

512 1 磁盘 #1,分区 #1 472907776

512 2 磁盘 #1,分区 #2 593494016

512 0 磁盘 #0,分区 #0 1048576

关于我第3节里要与置align的参数说法如下:

ALIGN=<N> 通常与硬件 RAID 逻辑单元号(LUN)

阵列一同使用来提高性能。分区偏移将是 <N> 的倍数。如果指定了 OFFSET 参数,则将四舍五入为最接近的 <N> 的倍数。

参考

How to Zip (and Unzip) Files Using PowerShell (howtogeek.com)

Basic Commands to Configure and Manage Windows Server Core | Windows OS Hub (woshub.com)

Managing Windows Firewall Rules with PowerShell | Windows OS Hub (woshub.com)

也欢迎关注我的公众号【徐sir的IT之路】,一起学习!

————————————————————————————
公众号:徐sir的IT之路
CSDN :徐sir(徐慧阳)-CSDN博客
墨天轮:徐sir的个人主页 - 墨天轮
PGFANS:PGFans问答社区:全球唯一的PostgreSQL中文技术交流社区

————————————————————————————

  • 19
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐sir(徐慧阳)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值