我使用 Oracle Virtualbox 4.2.18 作为 Mac OSX 上的来宾 Linux 环境,因此我可以使用它来托管 Oracle DB (11G R2)。
我遇到的问题是,每天在不同的时间点,虚拟盒实例的系统时间与实际时间不同步。一般来说,它最多会落后 10 分钟,一段时间后它会自行纠正。这是一个特别的烦恼,因为这意味着我的 Oracle 数据库系统时间也不正确,这会影响某些事务的处理。
所以我的问题是,有什么办法可以纠正这个问题吗?
答案1
将安装 VirtualBox 来宾添加项/usr/sbin/VBoxService
,您可以使用它来强制立即同步时间。
$ sudo /usr/sbin/VBoxService --timesync-set-start
这虚拟盒手册部分指出:
The VirtualBox Guest Additions ensure that the guest's system time
is synchronized with the host time.
此博客文章更详细地描述了时间同步:通过 VirtualBox Guest Additions 实现更好的时间同步
我不会在 VM Guest 上运行 ntpd。来宾应该从主机获取时间数据,而不是通过网络。
这个问题也被提出并回答过superuser.stackexchange.com和其他 SE 网站。
答案2
在撰写本文时,有一个 Virtual Box 票证处于打开状态,与 Virtual Box 来宾添加服务执行不良的时间同步有关。
提到的解决方法(对我有用)是更改虚拟机设置,如下所示:
- 将系统 → 加速 → 半虚拟化接口下拉菜单设置为“无”