接上一篇成功后《如何在Windows Server Core里安装Oracle 19C》
这次尝试安装windows server core +asm+db
整个过程记录如下(DB安装参考上一篇,这一篇只说一下GI+ASM单实例):
1、在ServerCore系统里解压安装文件
先给之前用的虚拟机增加1个磁盘,200G(这里 补充一下,如查是12C以前的版本,磁盘不能是GPT格式,也就是单个盘不能大于2T;如查是12C及以后的版本可以大于2T)
然后把GI的安装包拷贝到D盘,
在D盘创建安装目录
mkdir d:\app\19.3\grid
解压安装包到该目录下,解压方法参照上一篇里写的。
2、在ServerCore系统里配置ASM磁盘
C:\Program Files\WinRAR>diskpart
Microsoft DiskPart 版本 10.0.14393.0
Copyright (C) 1999-2013 Microsoft Corporation.
在计算机上: ORACLE
DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ------------- ------- ------- --- ---
磁盘 0 联机 60 GB 0 B
磁盘 1 联机 200 GB 200 GB
磁盘 2 联机 100 GB 0 B *
DISKPART> select disk 1
磁盘 1 现在是所选磁盘。
DISKPART> attr disk
当前只读状态: 是
只读: 是
启动磁盘: 否
页面文件磁盘: 否
休眠文件磁盘: 否
故障转储磁盘: 否
群集磁盘 : 否
DISKPART> attr disk clear readonly
已成功清除磁盘属性。
DISKPART> create part ext
DiskPart 成功地创建了指定分区。
DISKPART> create part log
DiskPart 成功地创建了指定分区。
DISKPART> online disk
虚拟磁盘服务错误:
该磁盘已联机。
DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ------------- ------- ------- --- ---
磁盘 0 联机 60 GB 0 B
* 磁盘 1 联机 200 GB 1024 KB
磁盘 2 联机 100 GB 0 B *
DISKPART> list partition
分区 ### 类型 大小 偏移量
------------- ---------------- ------- -------
分区 0 扩展的 199 GB 1024 KB
* 分区 1 逻辑 199 GB 2048 KB
3、在ServerCore系统里安装GI
切换到d:\app\19.3\grid\bin目录下
d:\app\19.3\grid\bin>powershell
Windows PowerShell
版权所有 (C) 2016 Microsoft Corporation。保留所有权利。
PS D:\app\19.3\grid\bin> pwd
Path
----
D:\app\19.3\grid\bin
PS D:\app\19.3\grid\bin> .\asmtool.exe -list
NTFS \Device\Harddisk0\Partition1 61438M
\Device\Harddisk1\Partition1 204797M
NTFS \Device\Harddisk2\Partition1 450M
NTFS \Device\Harddisk2\Partition4 101833M
PS D:\app\19.3\grid\bin> .\asmtool.exe -add \Device\Harddisk1\Partition1 DATA01
PS D:\app\19.3\grid\bin> .\asmtool.exe -list
NTFS \Device\Harddisk0\Partition1 61438M
ORCLDISKDATA01 \Device\Harddisk1\Partition1 204797M
NTFS \Device\Harddisk2\Partition1 450M
NTFS \Device\Harddisk2\Partition4 101833M
----运行安装
PS D:\app\19.3\grid\bin> cd ..
PS D:\app\19.3\grid> .\setup.exe
正在启动 Oracle Grid Infrastructure 安装向导...
4、启动图形界面进行安装
5、在ServerCore环境创建数据库
装完GI之后,他把环境变量给改了,查看当前PATH(可能是BUG之类导致的,也可能是我测试的时候有问题,装DB的时候环境变量没有自动添加到系统里),第1位里的路径是GI里的,这时候执行DBCA会报错。
于是手动到DB的目录里执行DBCA.bat(上篇里创建的ORCL要先删除)
C:\Users\Administrator>echo %PATH%
D:\app\19.3\grid\bin;D:\app\oracle\product\19.3\db_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\app\oracle\product\19.3\db_1\bin;D:\app\oracle\product\19.3\db_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0"
C:\Users\Administrator>d:
D:\>cd app
D:\app>cd oracle\product\19.3\db_1\bin
D:\app\oracle\product\19.3\db_1\bin>dbca.bat
这里测试我就用典型配置了把数据文件放到ASM里了
6、查看ASM实例情况
由于环境变量的原因,这里手动到GI目录下执行
d:\app\19.3\grid\bin>set ORACLE_HOME=d:\app\19.3\grid
d:\app\19.3\grid\bin>set ORACLE_SID=+ASM
--查看集群状态
d:\app\19.3\grid\bin>crsctl status res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE oracle STABLE
ora.LISTENER.lsnr
ONLINE ONLINE oracle STABLE
ora.asm
ONLINE ONLINE oracle Started,STABLE
ora.ons
OFFLINE OFFLINE oracle STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE oracle STABLE
ora.evmd
1 ONLINE ONLINE oracle STABLE
ora.orcl.db
1 ONLINE ONLINE oracle Open,HOME=D:\app\ora
cle\product\19.3\db_
1,STABLE
--------------------------------------------------------------------------------
--登录ASM实例查看
d:\app\19.3\grid\bin>sqlplus / as sysasm
SQL*Plus: Release 19.0.0.0.0 - Production on 星期六 12月 30 15:32:45 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> select state,name,type,total_mb, free_mb from v$asm_diskgroup_stat ;
STATE
----------------------
NAME TYPE
------------------------------------------------------------ ------------
TOTAL_MB FREE_MB
---------- ----------
MOUNTED
DATA EXTERN
204796 200588
SQL> col name for a40;
SQL> set line 200;
SQL> col path for a30;
SQL> select name,path,state,HEADER_STATUS from v$asm_disk;
NAME PATH STATE HEADER_STATUS
---------------------------------------- ------------------------------ ---------------- ------------------------
DATA01 \\.\ORCLDISKDATA01 NORMAL MEMBER
SQL>
7、总结
1、把oracle安装的windows server core下确实能防止很多人误操作windows
2、把oracle安装到ASM里确实能防止被加密(勒索病毒找不到文件来加密么),但是如果其它的文件都被加密了,怎么能重新安装文件把ASM磁盘里的数据读出来也是个问题,有待测试。
3、Windows Server Core版本系统更轻量级,对于不懂命令行的人来说,提高了一定的windows操作门槛(当然也有解决方案,windows最新出的admin center来远程WEB管理所有功能)
4、没解决的问题就是AMDU/KFED等工具,在windows下无法使用,找了很久也没找到操作方法,主要是磁盘不知道怎么能读到
5、综上所述,有点瞎忙活2天,如果用windows server core来搞,不如直接用Linux了!!!
也欢迎关注我的公众号【徐sir的IT之路】,一起学习!
————————————————————————————
公众号:徐sir的IT之路
CSDN :徐sir(徐慧阳)-CSDN博客
墨天轮:徐sir的个人主页 - 墨天轮
PGFANS:PGFans问答社区:全球唯一的PostgreSQL中文技术交流社区
————————————————————————————