From 095b0978045170a9b96ea4e23922735d04094eea Mon Sep 17 00:00:00 2001
From: Przemyslaw Sporysz
Date: Mon, 15 Dec 2014 19:27:11 +0100
Subject: [PATCH 1/4] make oracle configuration more reliable
---
templates/default/configure_oracle.sh.erb | 31 ++++++++++++++---------
1 file changed, 19 insertions(+), 12 deletions(-)
diff --git a/templates/default/configure_oracle.sh.erb b/templates/default/configure_oracle.sh.erb
index bb9dfb3..4dd3922 100644
--- a/templates/default/configure_oracle.sh.erb
+++ b/templates/default/configure_oracle.sh.erb
@@ -1,16 +1,23 @@
#!/usr/bin/expect
+set timeout -1
+exp_internal 600 # max 10 min
spawn /etc/init.d/oracle-xe configure
-expect -re "Specify the HTTP port that will be used for Oracle" {
- send "<%= @http_port %>\r"
- expect -re "Specify a port that will be used for the database listener"
- send "<%= @listener_port %>\r"
- expect -re "Specify a password to be used for database accounts.*initial configuration:$"
- send "<%= @sysdba_password %>\r"
- expect -re "Confirm the password"
- send "<%= @sysdba_password %>\r"
- expect -re "to be started on boot"
- send "y\r"
- expect "Installation completed successfully."
- expect eof
+expect {
+ -re "Specify the HTTP port that will be used for Oracle" {
+ send "<%= @http_port %>\r"
+ expect -re "Specify a port that will be used for the database listener"
+ send "<%= @listener_port %>\r"
+ expect -re "Specify a password to be used for database accounts.*initial configuration:$"
+ send "<%= @sysdba_password %>\r"
+ expect -re "Confirm the password"
+ send "<%= @sysdba_password %>\r"
+ expect -re "to be started on boot"
+ send "y\r"
+ expect -re "Installation completed successfully."
+ expect eof
+ }
+ -re "Oracle Database 11g Express Edition is already configured" {exit 0}
+ eof {exit 1}
+ timeout {exit 1}
}
From 2ceb22e05dc05990d29f7cec4c334d7433658032 Mon Sep 17 00:00:00 2001
From: Przemyslaw Sporysz
Date: Tue, 16 Dec 2014 09:05:23 +0100
Subject: [PATCH 2/4] fix typo causing skipping the sysctl after reboot
---
recipes/default.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes/default.rb b/recipes/default.rb
index b4c176b..5f816e8 100644
--- a/recipes/default.rb
+++ b/recipes/default.rb
@@ -43,7 +43,7 @@
creates '/var/lock/subsys'
end
-cookbook_file '/etc/sysctl.d/60-oracle.conf ' do
+cookbook_file '/etc/sysctl.d/60-oracle.conf' do
action :create
source 'oracle.conf'
mode 644
From c0439ff59310dc1da497cc22fb566accac9fe587 Mon Sep 17 00:00:00 2001
From: Przemyslaw Sporysz
Date: Tue, 16 Dec 2014 11:06:41 +0100
Subject: [PATCH 3/4] fix shm issue in persistent way to avoid `vagrant
provision`
---
recipes/default.rb | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/recipes/default.rb b/recipes/default.rb
index 5f816e8..ebb8b1f 100644
--- a/recipes/default.rb
+++ b/recipes/default.rb
@@ -65,12 +65,16 @@
bash 'fix /dev/shm problem' do
code %Q{
+ sed -i 's/ \\[ -e \\/dev\\/shm \\] || ln -s \\/run\\/shm \\/dev\\/shm/ mkdir -p \\/dev\\/shm/' /etc/init/mounted-dev.conf
+ echo "shm /dev/shm tmpfs size=2g 0 0" >> /etc/fstab
+
umount /dev/shm
rm /dev/shm -rf
mkdir /dev/shm
mount -t tmpfs shmfs -o size=2048m /dev/shm
sysctl kernel.shmmax=1073741824
}
+ not_if "grep -q '/media/shm' /etc/fstab"
end
bash 'setup oracle user' do
From 320424c511c755044607f9fb930d6bcbacb7e717 Mon Sep 17 00:00:00 2001
From: Przemyslaw Sporysz
Date: Tue, 16 Dec 2014 11:45:08 +0100
Subject: [PATCH 4/4] correct execution condition
---
recipes/default.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes/default.rb b/recipes/default.rb
index ebb8b1f..99929ea 100644
--- a/recipes/default.rb
+++ b/recipes/default.rb
@@ -74,7 +74,7 @@
mount -t tmpfs shmfs -o size=2048m /dev/shm
sysctl kernel.shmmax=1073741824
}
- not_if "grep -q '/media/shm' /etc/fstab"
+ not_if "grep '/dev/shm' /etc/fstab"
end
bash 'setup oracle user' do