写这篇文档纯属好奇试水,起源是群里的一次讨论:
之前在群里和朋友们讨论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操作系统
安装系统时不选择(桌面体验),即为无图形界面,后面的步骤和普通windows安装一样。
2、配置操作系统
安装完系统就是这个样子了,哈哈,没有图形,上来就是cmd窗口。
先是配置初始用户密码
如果不小心关掉了cmd窗口,再按ctrl alt del调出任务管理器,再运行cmd
可以运行sconfig.cmd调出操作系统配置界面,这里能进行一些简单的ip、主机名等配置,类似aix的smitty,但是功能完全没有aix的强大(aix的smitty几乎覆盖了80%的操作)
后期大量配置还是要基于power shell来进行配置。
打开远程桌面
配置网络
关闭防火墙(如果有兴趣研究这块,我后面附上如何在在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
米乐app官网下载的版权所有 (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
米乐app官网下载 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
米乐app官网下载 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
米乐app官网下载 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
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
这里窗口弹出了,哈哈,也不全完是没有图形的,接下来傻瓜安装就可以了。
5、使用默认共享上传安装包
拷贝安装文件至d盘根目录下
执行命令创建安装目录
c:\users\administrator>d:
d:\>mkdir app\oracle\product\19.3\db_1
创建之后,解压软件到刚才创建的目录
d:\>powershell
windows powershell
米乐app官网下载的版权所有 (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
会弹出解压进度,等待解压完毕。
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
不出意外,出了图形界面。。。
接下来就是正常的安装步骤了
7、配置监听
安装完成后,环境变量没有生效,手动进到安装目录下,执行下命令
d:\app>cd d:\app\oracle\product\19.3\db_1\bin
d:\app\oracle\product\19.3\db_1\bin>netca
创建监听
8、dbca创建数据库
再往下我就不截图了,大家都会
9、添加环境变量
方法1:powershell
切换到powershell下,运行如下命令查看当前path
c:\windows\system32>powershell
windows powershell
米乐app官网下载的版权所有 (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
米乐app官网下载 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
米乐app官网下载 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%"
方法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:
检查方法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=
阵列一同使用来提高性能。分区偏移将是
参考
也欢迎关注我的公众号【徐sir的it之路】,一起学习!
————————————————————————————
公众号:徐sir的it之路
csdn :
墨天轮:https://www.modb.pro/u/3605
pgfans:
————————————————————————————