Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/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;
Add Comment
Please, Sign In to add comment