Skip to content

Instantly share code, notes, and snippets.

@gladiopeace
Forked from ashub1n/script.sh
Created February 8, 2018 08:22
Show Gist options
  • Save gladiopeace/ab06de2cddc4858ca8a84a8ff6d34b9f to your computer and use it in GitHub Desktop.
Save gladiopeace/ab06de2cddc4858ca8a84a8ff6d34b9f to your computer and use it in GitHub Desktop.
mysql to oracle
#!/bin/bash
echo "start"
user=root
pass=root
database=centent_db_dev
o_user=OR_AD
o_pass=or_ad
o_database=or
o_user_upper=OR_AD
path="$(pwd)/mod_bk.sql"
echo "@$path"
echo "create bk file"
rm mod_bk.sql
rm output.sql
touch mod_bk.sql
touch output.sql
echo "write disable keys script to file"
echo "begin for cur in (select fk.owner, fk.constraint_name , fk.table_name from all_constraints fk, all_constraints pk where fk.CONSTRAINT_TYPE = 'R' and pk.owner = '$o_user_upper' and fk.r_owner = pk.owner and fk.R_CONSTRAINT_NAME = pk.CONSTRAINT_NAME ) loop execute immediate 'ALTER TABLE \"'|| cur.owner ||'\".\"'||cur.table_name||'\" MODIFY CONSTRAINT \"'||cur.constraint_name||'\" DISABLE'; end loop;" >> mod_bk.sql
echo "for cur in (SELECT a.TABLE_NAME, a.OWNER FROM ALL_TABLES a WHERE a.OWNER = '$o_user') loop execute immediate 'TRUNCATE TABLE \"'|| cur.OWNER ||'\".\"'|| cur.TABLE_NAME ||'\" drop storage'; end loop;" >> mod_bk.sql
echo "mysql dump"
mysqldump -u $user --password=$pass --no-create-info --skip-add-locks --skip-quote-names --extended-insert=FALSE --compact $database > ./bk.sql
sed -i 's/\*\*\*//g' bk.sql
sed -i 's/`//g' bk.sql
sed -i 's/INTO TABLE_COORD/INTO TABLE_COORDINATES/g' bk.sql
sed -i 's/INTO User/INTO Users/g' bk.sql
sed -i 's/INTO Users_Entitlement/INTO User_Entitlement/g' bk.sql
sed -i "s/\&/\&\'\|\|\'/g" bk.sql
#echo $(cat bk.sql) >> mod_bk.sql
echo "for cur in (select fk.owner, fk.constraint_name , fk.table_name from all_constraints fk, all_constraints pk where fk.CONSTRAINT_TYPE = 'R' and pk.owner = '$o_user' and fk.r_owner = pk.owner and fk.R_CONSTRAINT_NAME = pk.CONSTRAINT_NAME ) loop execute immediate 'ALTER TABLE \"'|| cur.owner ||'\".\"'|| cur.table_name ||'\" MODIFY CONSTRAINT \"'|| cur.constraint_name ||'\" ENABLE'; end loop; end;" >> mod_bk.sql
#echo $(cat mod_bk.sql | tr -d '\n') >> output.sql
echo $(cat mod_bk.sql | tr -d '\n') | sqlplus $o_user/$o_pass
echo "sqlplus -S $o_user/$o_pass @mod_bk.sql"
echo "done"
exit 0;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment