Run multiple sql scripts using osql

We have 2 databases which should be installed on each and every sql server.
STEPS DONE
1. scripted out these two DB'S as    ex:    db1.sql     db2.sql
2.Scripted lookup tables in these DB's into two scripts        ex:    lookup1.sql   lookup2.sql
3.scripted permissions of service accounts in two databases as     ex: perm1.sql    perm2.sql
In order to run all these scripts in sequence I am planning to use an batch file which executes all these scripts in sequence and also we know the database creation script db.sql looks for the same path for DATA and LOG file locations as it is in the script. Is
that possible to use parameters to allow dba to set location paths while running batch file?
The sequence should be as
db1.sql
lookup1.sql
perm1.sql
db2.sql
lookup2.sq
perm2.sql

Setup a ControlParms table. Let the DBA configure the values in the table.
Change the .sql scripts to read the ControlParms table for path or other configuration value.
Dynamic SQL: http://www.sqlusa.com/bestpractices/dynamicsql/
Kalman Toth Database & OLAP Architect
SQL Server 2014 Design & Programming
New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

Similar Messages

  • Can you suggest me how to run multiple calc scripts using singel maxl script

    Hello,
    I am writing a maxl script which should be able to :
    1. update Set Variables for the Essbase DB
    2. Execute multiple calc scripts
    2a. Trying to put specific sleep time within multiple calc scripts.
    Thanks and Regards.

    Why are you looking for a Maxl to run multiple maxls? Can't you use a batch or sh script to do it.
    Unix has a sleep command in batch file try using choice
    Regards
    Celvin

  • Having problems trying to run a sql script using the command prompt.

    I place my script at the root c:
    open run SQL Command Line.
    I connected to the database using connet userid/password
    Then I tried to execute the script by doing
    @test_add_comments
    I am getting the error message.
    SQL> @test_add_comments
    SP2-0310: unable to open file "test_add_comments.sql"
    Am I suppose to place this sql somewhere else?
    test_add_comments.sql is
    COMMENT ON COLUMN myTable.ID IS 'Primary Key' ;
    COMMENT ON COLUMN myTable.REVIEWLOG_ID IS 'REFERENCE TO SAFE REVIEW LOG TABLE' ;
    COMMENT ON COLUMN myTable.FAC_ID IS 'REFERENCE TO ALL FACILITIES' ;
    COMMENT ON COLUMN myTable.HALLBUILD_ID IS 'REFERENCE TO HALL BUILDING' ;

    I figure it out.
    open a sql worksheet and enter the falling commands in the run script.
    @c:\your_script.sql
    Execute it by clicking run script.

  • Scheduling an sql script using dbms_scheduler

    Hi Experts,
    I am having an oracle 10g database on windows platform. I have an sql script which has a normal set of sql statements (insertion and updation).
    I would like to schedule to run this sql script using dbms_scheduler but I've gone through certain sites and came to know that it's not possible to schedule an sql script using dbms_scheduler. Please let me know how I can schedule this script using dbms_scheduler.

    It is possible - in 10g and above you can use DBMS_SCHEDULER to call an external procedure, which in this case could be a call to your SQL file.
    Get's a bit more complicated with older versions, but still doable.
    But - unless there is a really good reason why you cannot do so, move this into a PL/SQL procedure as suggested.
    Carl

  • Running a Select query against multiple sql servers using SSIS script task.

    Hi Guys,
    I need to fetch data from multiple sql servers using  SSIS scirpt task inside a foreach container.
    is there anyway i can build dynamic sql connections using ssis variables inside SSIS script task in each loop
    Please guide me or refer any blogs so that i will try..
    Thanks in advance.

    Your only options is using .net code, then it will be no different than using a console app in a loop.
    using (SqlConnection connection = new SqlConnection(connectionString))
    connection.Open();
    Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
    Console.WriteLine("State: {0}", connection.State);
    and so forth for each connection string
    the connection string would come from the ForEach loop
    Arthur My Blog

  • How can I run a SQL script file...

    How can I run a SQL script file from a location on my computer without providing the whole path?
    Is there some way I can set a "Working folder" in SQL Plus??
    Thanks!
    Tom

    You can create an environment variable called "SQLPATH" which is a list of directories that SQL*Plus will search for your .SQL
    scripts.
    I would like to use another directory than the oracle/bin...
    How can I do this ??
    Hello,
    U can do this by this way:
    Save odm_script.sql file to the default Oracle
    directory i.e. Oracle-Home/bin and Run following command
    through SQL Plus.
    SQL>@Script_Name
    I hope this will resolve ur problem.
    Regards,
    Omer Saeed Khan.

  • How to run a sql script in oracle forms

    Hi,
    For me there is an sql script. I need to run that sql script in forms.
    Actually we will run that sql file in pl/sql developer by giving @and the file name.
    But how to run that file in forms.
    Can any one help on these.Which book I have to look.
    Thanks

    Actually there is a script files which will drop all the indexes and tables.
    DROP querry will be there for each index and each table.
    So I run the script all the indexes and all the tables will be deleted. So using forms I have to run that script.
    Thanks

  • Getting windows error during running the sql scripts from form 6i

    I made a little form application. The purpose of this application is to generate explain plan for a particular SQL. Some sql scripts run internally in order to populate the result on form’s screen after pressing the form’s button but I am getting windows error during running the sql scripts from form 6i.
    I am using forms 6i with patch 17 with Oracle 10G database on windows 2000 professional on same computer.
    This application runs fine with 8i.
    Please inform me where the problem is and how to overcome it.
    Zafri.

    I am using Text_IO in my form's when button press trigger , inorder to create the
    text file, then in the same when button press triger
    I am calling RMAN via host command in order to run the script which was created by text_IO.
    Below you find some of the code. I will appreciate if you solve the problem.
    when button press trigger:
    Declare
    in_file3 Text_IO.File_Type;
    linebuf3 VARCHAR2(1800);
    output11 varchar2(1000);
    BEGIN
         output11:='C:\EXPLAIN_PLUS\misc\rm_file.bat ';
    Host(output11,no_screen);
    :sql.execution_plan:= 'Working........................';
    synchronize;
    in_file3 := Text_IO.Fopen('c:\explain_plus\misc\create_table.txt', 'w');
    Text_IO.Put_Line(in_file3, linebuf3);
    Text_IO.put_line(in_file3,' ');
    Text_IO.put_line(in_file3,' run { sql "create table PLAN_TABLE (statement_id,...object_name varchar2(30),object_instance numeric,object_type varchar2(30),optimizer varchar2(255),search_columns number,id .....partition_start varchar2(255),partition_stop  varchar2(255),partition_id numeric,other long,distribution varchar2(30)) "; } ');
    Text_IO.put_line(in_file3,' ');
    Text_IO.put_line(in_file3,' ');
    Text_IO.FCLOSE(in_file3)
              Declare
    un VARCHAR2(80);
    pw VARCHAR2(80);
    cn VARCHAR2(80);
    output VARCHAR2(1000);
    output2 VARCHAR2(1000);
    dummy varchar2(40);
    in_file Text_IO.File_Type;
    linebuf VARCHAR2(1800);
    BEGIN
         Get_Connect_Info(un,pw,cn);
         /* for Plan_table Begg. Second INNER BLOCK */
         declare
              dummy2 varchar2(40);
         begin
         select table_name into dummy2 from all_tables where table_name='PLAN_TABLE';
         if dummy2 = 'PLAN_TABLE' then
         output2:='rman target/ nocatalog @C:\EXPLAIN_PLUS\MISC\TRUNC2.txt ' ;
    Host(output2,no_screen);
         end if;
         exception
         when no_data_found     then
    output2:='rman target/ nocatalog @C:\EXPLAIN_PLUS\misc\create_table.txt ';
    Host(output2,no_screen);
         end; --

  • AWM 11.1.0.7B question running global_11g_create_cubes.sql script

    Hi everybody,
    I installed AWM 11.1.0.7B and Oracle Database 11g software, version 11.1.0.6.0.
    I am trying to install Sample Schemas & Code.
    I got an error running global_11g_create_cubes.sql script that I downloaded from the http://www.oracle.com/technology/products/bi/olap/olap_downloads.html#software
    Here is an error:
    Begin installation
    ... deleting GLOBAL AW (if it exists)
    ... creating GLOBAL AW
    begin
    ERROR at line 1:
    ORA-37162: OLAP error
    XOQ-00506: Unable to parse XML string sent from the client to the server
    ORA-06512: at "SYS.DBMS_CUBE", line 88
    ORA-06512: at "SYS.DBMS_CUBE", line 134
    ORA-06512: at "SYS.DBMS_CUBE", line 154
    ORA-06512: at "SYS.DBMS_CUBE", line 144
    ORA-06512: at "SYS.DBMS_CUBE", line 181
    ORA-06512: at line 2
    The following line in the script gives an error:
    dbms_cube.import_xml('GLOBAL_INSTALL', 'GLOBAL_MV.XML');
    Any help will be greatly appretiated.
    Thank you.
    - t

    I suspect the problem is that you are using an 11.1.0.7 client to access an 11.1.0.6 server. This configuration should work, but there was a bug at some point with new clients and old servers. In any case you would be advised to upgrade your server to either 11.1.0.7 or, at least, the latest 11.1.0.6 OLAP patch.

  • Silent installation then run a sql script

    I'm trying to do a silent install of 10g on a windows server.
    I have created the response file and it works correctly.
    After the oracle software has successfully installed I want to run some sql scripts on the newly created database, how do I do this automatically?
    I have tried to create a batch script to do it but because the setup command opens in a separate window it never returns back to the batch script to run the sql.
    install.bat:
    start /wait c:\oracle_software\database\install_oraclesw.bat
    call run_sqlscripts.bat
    pause
    install_oraclesw.bat:
    setup -silent -responseFile c:\oracle_software\database\response\standard.rsp -nowait
    Thanks in advance

    I'm doing a 10gr1 silent install and one problem I ran into was the setup executes when cause java, then it closes, so the next step in my script executed immediately.
    I had to use the choice command to bring up a prompt to pause the script.
    start cmd /c setup.exe -responseFile c:\stardard.rsp -nowelcome -silent
    choice /C YN /M "Press Y if install completes successufully, else press N."

  • Error 45 Initializing In SQL*Plus When Running A Sql Script

    Hi All
    I have a daily scheduled jobs running on Windows server 2003 and 2008. Oracle Version :10.2.0.1 and 10.2.0.4
    right now jobs are not even starting when i run them manually. Found the error Error 45 Initializing In SQL*Plus When Running A Sql Script.
    it says Bug:3039738.
    what is the solution to fix this Bug ?
    thanks
    Shawn

    user9174724 wrote:
    Hi
    do you think the Problem is not with the script ?
    when i run the job its reaching SQLPLUS and giving error
    Error 45 Initializing In SQL*Plus When Running A Sql Script .
    Server:windows 2003 and oracle version :10.2.0.1
    CMD /C %ORACLE_HOME_PRIME%\bin\sqlplus.exe /NOLOG @ %xxxx_HOME%\DBA_Backup\BackupDo.sql testdb BackupFull
    The above line does the following:
    1) launches a command procesor
    2) passes that command processor the following command line parms:
    /C
    (process the following command, then terminate)
    %ORACLE_HOME_PRIME%\bin\sqlplus.exe
    the launched processor will process the executable 'sqlplus.exe' found in the \bin subdirectory, found in the directory indicated by the environment variable ' ORACLE_HOME_PRIME'. The remainder of the command line will be passed to sqlplus.exe for interpretation and processing
    /NOLOG
    tell sqlplus to start up without trying to immediately log on to a database
    typically used to indicate to sqlplus that the immediately following string names a file of sql and sqlplus commands to be processed.
    %xxxx_HOME%\DBA_Backup\BackupDo.sql
    tell sqlplus to execute the commands found in the file 'BackupDo.sql', found in the subdirectory DBA_Backup, found in the directory name by the environment variable 'xxxx_HOME'.
    testdb
    BackupFull
    pass the values 'testdb' and 'BackupFull' to be used as values for substitution variables &1 and &2 in the file 'BackupDo.sql'
    Script:
    rmanbackup.rman
    BACKUP AS COMPRESSED BACKUPSET DATABASE FORCE PLUS ARCHIVELOG;
    DELETE NOPROMPT ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE DISK;
    LIST BACKUP SUMMARY;
    LIST BACKUP;
    EXIT;I don't know what you expect of this. It is an rman script and we've seen no sign of an rman script being executed in any of what you've shown us. RMAN commands are processed by rman, not sqlplus.
    Unfortunately, you didn't think showing us the contents of BackupDo.sql was of any value in finding out what your problem was.
    Edited by: EdStevens on Jul 11, 2011 7:58 PM

  • How to execute SQL Script using windows powershell(using invoke-sqlcmd or any if)

    OS : Windows server 2008
    SQL Server : SQL Server 2012
    Script: Test.sql (T-SQL)  example : "select name from sys.databases"
    Batch script: windows  MyBatchscript.bat ( here connects to sql server using sqlcmd  and output c:\Testput.txt) 
     (sqlcmd.exe -S DBserverName -U username -P p@ssword -i C:\test.sql -o "c:\Testoutput.txt)  ---it working without any issues.....
    This can execute if i double click MyBatchscript.bat file and can see the output in c:\testput.txt.
    Powershell: Similarly, How can i do in powershell 2.0 or higher versions?  can any one give full details with each step?
    I found some of them online, but nowhere seen clear details or examples and it not executing through cmd line (or batch script).
    example: invoke-sqlcmd -Servernameinstance Servername -inputfile "c:\test.sql" | out-File -filepath "c:\psOutput.txt"  --(call this file name MyTest.ps1)
    (The above script working if i run manually. I want to run automatic like double click (or schedule with 3rd party tool/scheduler ) in Batch file and see the output in C drive(c:\psOutput.txt))
    Can anyone Powershell experts give/suggest full details/steps for this. How to proceed? Is there any configurations required to run automatic?
    Thanks in advance.

    Testeted the following code and it's working.....thanks all.
    Execute sql script using invoke-sqlcmd with batch script and without batch script.
    Option1: using Import sqlps
    1.Save sql script as "C:\scripts\Test.sql"  script in side Test.sql: select name from sys.databases
    2.Save Batch script as "C:\scripts\MyTest.bat" Script inside Batch script:
    powershell.exe C:\scripts\mypowershell.ps1
    3.Save powershell script as "C:\scripts\mypowershell.ps1"
    import-module "sqlps" -DisableNameChecking
    invoke-sqlcmd -Servername ServerName -inputFile "C:\scripts\Test.sql" | out-File -filepath "C:\scripts\TestOutput.txt"
    4.Run the Batch script commandline or double click then can able to see the output "C:\scripts\TestOutput.txt" file.
    5.Connect to current scripts location  cd C:\scripts (enter)
    C:\scripts\dir (enter )
    C:\scripts\MyTest.bat (enter)
    Note: can able to see the output in "C:\scripts" location as file name "TestOutput.txt".
    Option2: Otherway, import sqlps and execution
    1.Save sql script as "C:\scripts\Test.sql"  script in side Test.sql: select name from sys.databases
    2.Save powershell script as "C:\scripts\mypowershell.ps1"
    # import-module "sqlps" -DisableNameChecking #...Here it not required.
    invoke-sqlcmd -Servername ServerName -inputFile "C:\scripts\Test.sql" | out-File -filepath "C:\scripts\TestOutput.txt"
    3.Connect to current scripts location
    cd C:\scripts (enter)
    C:\scripts\dir (enter )
    C:\scripts\powershell.exe sqlps C:\scripts\mypowershell.ps1 (enter)
    Note: can able to see the output in "C:\scripts" location as file name "TestOutput.txt".

  • Running a SQL Script to Create an Object Type

    When I do Database Development with JDeveloper and fellow the instruction at
    http://www.oracle.com/technology/obe/obe1013jdev/dbdevelopment/obe_%20dbasedevmt.htm
    and try to Running a SQL Script to Create an Object Type by Right-clicking emp_rec.sql in the editor and
    choose Run in SQL*Plus > hrconn, the new Obuect type can not created. The screen flashs and I only got the
    message
    "Invoking SQL*Plus...
    D:\oracle\product\10.2.0\db_1\BIN\cemutls.exe
    hr@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))(CONNECT_DATA=(SID=ORCL)))
    @emp_rec.sql" and nothing else (No error like JBO-XXXXX).
    Can anybody Help Me? Thanks a lot!
    SID: ORCL

    Hi Simon,
    Having had a closer look at your original message it seems that rather than selecting the SQL*Plus executable in the directory you have managed to select the file 'D:\oracle\product\10.2.0\db_1\BIN\cemutls.exe'.
    If you go to 'Tools | Preferences' and select the 'Database Connections' node and alter the 'SQL*Plus Executable' field to 'D:\oracle\product\10.2.0\db_1\BIN\sqlplus.exe' and then try again, this should then work.
    Regards,
    Lisa

  • How to run the SQL Script in SQL Prompt?

    Hi ExpertGroup,
    I have written one SQL Script name called "MySQLSCript.SQL". I want to know how to run the SQL Script in SQL Prompt?.
    Generally, I run SQL Script in PL/SQL Developer tool. But In this case, some SET command is not working/supporting in PL/SQL Developer Tool.
    Let me know, How to Run in SQl Prompt.
    Thanks & Regards,
    Senthil K Kumar.

    This is my SQL Script....
    SET COLSEP '|'
    SET LINESIZE 32767
    SET PAGESIZE 50000
    /* SET LINESIZE 3000
    SET PAGESIZE 50000
    SET DEFINE OFF */
    SET ECHO OFF
    SET FEEDBACK OFF
    --SET HEADING OFF
    SET TRIMSPOOL ON
    SET NEWPAGE NONE
    SET UNDERLINE OFF
    SPOOL &&EnterPath;
    SELECT * FROM &&TableName;
    SPOOL OFF
    SET FEEDBACK ON
    --SET DEFINE ON
    PROMPT Done.
    I am able to run this script in SQL Prompt....
    Its executing fine...
    But, If I am executing again it maynot asking for new set of data....
    alternativily its taking old values only.....
    how can i exeute with new set of data in the sql prompt.....

  • HT2090 hello, my eyesight issue happens occasionally, from time to time i run multiple apps that use the isight camera. when i close each app the isight camera's green light is still active. When that happens the only way to stop the isight camera is to r

    hello, my eyesight issue happens occasionally, from time to time i run multiple apps that use the isight camera. when i close each app the isight camera's green light is still active. When that happens the only way to stop the isight camera is to reboot.
    Is there a way to use activity monitor to identify and kill the process controlling the isight? My apologies in advance if this sounds windows (task manager) like.
    Thanks

    tqtclipper wrote:
    hello, my eyesight issue happens occasionally, from time to time i run multiple apps that use the isight camera...
    http://support.apple.
    com/kb/HT2411: Your camera can be used by only one application at a time.
    (Over time, Apple has changed the built-in camera's name on newer Macs from "iSight" to "FaceTime" and then to "FaceTime HD."  Regardless of the name of your Mac's built-in camera, the same info and troubleshooting applies.)
    tqtclipper wrote:
    ... Is there a way to use activity monitor to identify and kill the process controlling the isight? ...
    http://support.apple.
    com/kb/PH5147:  You can quit any process you can see in those listed in the window that opens when you use Activity Mornitor's 
         Window >
    Activity Monitor
    menu command.
    Message was edited by: EZ Jim
    Mac OSX 10.8.3

Maybe you are looking for