Skip to content

Commit a3e3ffd

Browse files
committed
updated db2 setup scripts
1 parent 8db67a9 commit a3e3ffd

File tree

3 files changed

+57
-16
lines changed

3 files changed

+57
-16
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
. $HOME/sqllib/db2profile
2+
3+
cd $HOME/sqllib/bin
4+
5+
db2 -stvf /var/tmp/create_emp_table.sql
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CONNECT TO RCDB2;
2+
3+
CREATE TABLE EMP ( EMPNO int NOT NULL, FNAME VARCHAR(50) NULL, LNAME VARCHAR(50) NULL, JOB VARCHAR(50) NULL, MGR int NULL, HIREDATE date NULL, SAL double NULL, COMM double NULL, DEPT int NULL, PRIMARY KEY (EMPNO) );

connectors/db2/demo/setup_db2.sh

Lines changed: 49 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,67 @@
11
#!/bin/bash
22

33
version="$1"
4-
db_port=50000
4+
db_port="$2"
55
db_name="rcdb2"
6-
db_user="redisconnectuser"
7-
db_pwd="redisconnectpassword"
8-
[[ -z "$version" ]] && { echo "Error: Missing docker version tag e.g. latest, 11.5.5.1"; exit 1; }
6+
db_instance="db2inst1"
7+
db_pwd="rcdbpwd"
8+
[[ -z "$version" ]] && { echo "Error: Missing docker version tag e.g. latest, 11.5.7.0"; exit 1; }
9+
[[ -z "$db_port" ]] && { echo "Error: Missing database port e.g. 50000"; exit 1; }
910

10-
container_name="db2-$version-$(hostname)"
11+
container_name="db2-$version-$(hostname)-$db_port"
1112

1213
# delete the existing container if it exist
13-
sudo docker kill $container_name;sudo docker rm $container_name;
14+
sudo docker kill $container_name;sudo docker rm $container_name;sudo rm -rf $(pwd)/database;
1415

1516
echo "Creating $container_name docker container."
1617

1718
sudo docker run --name $container_name --privileged=true \
18-
-e DBNAME=$db_name \
19-
-e DB2INSTANCE=$db_name \
19+
-e LICENSE=accept \
20+
-e DB2INSTANCE=$db_instance \
2021
-e DB2INST1_PASSWORD=$db_pwd \
22+
-e DBNAME=$db_name \
23+
-e BLU=false \
24+
-e ENABLE_ORACLE_COMPATIBILITY=false \
25+
-e UPDATEAVAIL=NO \
26+
-e TO_CREATE_SAMPLEDB=false \
27+
-e REPODB=false \
28+
-e IS_OSXFS=false \
29+
-e PERSISTENT_HOME=true \
30+
-e HADR_ENABLED=false \
31+
-e ETCD_ENDPOINT= \
32+
-e ETCD_USERNAME= \
33+
-e ETCD_PASSWORD= \
2134
-p $db_port:50000 \
22-
-e LICENSE=accept \
2335
-v $(pwd)/database:/database \
24-
-d ibmcom/db2:$version \
36+
-d ibmcom/db2:$version
37+
38+
while ! nc -vz $(sudo docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $container_name) 50000 < /dev/null
39+
do
40+
echo "$(date) - still trying"
41+
sleep 2
42+
done
43+
echo "$(date) - connected successfully"
2544

26-
sleep 30s
45+
echo "Creating $db_name database on $db_instance DB2 instance."
46+
attempt=0
47+
while [ $attempt -le 400 ]; do
48+
attempt=$(( $attempt + 1 ))
49+
echo "$(date) - Waiting for $db_name database to be up (attempt: $attempt)..."
50+
result=$(docker logs $container_name)
51+
if grep -q 'Setup has completed' <<< $result ; then
52+
echo "$(date) - $container_name is up!"
53+
break
54+
fi
55+
sleep 5
56+
done
2757

28-
#echo "Creating RedisConnect database and emp table."
58+
echo "Creating emp table on $db_name database."
2959
#run the setup script to create the DB and the table in the DB
30-
#sudo docker exec --user $db_name -it $container_name bash -c '"$HOME"/sqllib/bin/db2 connect to "$db_name"'
31-
#sudo docker exec --user $db_name -it $container_name bash -c '"$HOME"/sqllib/bin/db2ilist'
32-
#sudo docker cp db2_cdc.sql $container_name:db2_cdc.sql
33-
#sudo docker exec --user $db_name -it $container_name bash -c '"$HOME"/sqllib/bin/db2 -f db2_cdc.sql'
60+
sudo docker exec --user $db_instance -it $container_name bash -c '~/sqllib/bin/db2ilist'
61+
sudo docker exec --user $db_instance -it $container_name bash -c '~/sqllib/adm/db2licm -l'
62+
sudo docker exec --user $db_instance -it $container_name bash -c '~/sqllib/bin/db2 list database directory'
63+
sudo docker exec --user $db_instance -it $container_name bash -c '~/sqllib/bin/db2 activate database $DBNAME'
64+
sudo docker cp create_emp_table.sql $container_name:/var/tmp/create_emp_table.sql
65+
sudo docker cp create_emp_table.sh $container_name:/var/tmp/create_emp_table.sh
66+
sudo docker exec --user $db_instance -it $container_name bash -c '/var/tmp/create_emp_table.sh'
3467
echo ""

0 commit comments

Comments
 (0)