This chapter discusses the setup process of DidiSoft OraSFTP package. It assumes that you are familiar with Oracle(c) Database 11 and above and how to execute commands on the command shell of your operating system.
System Requirements: Oracle Database platforms Enterprise Edition (version 11 or above), Standard Edition (version 11 or above), Standard One (version 11 or above)
This product is a Java stored procedure package, and as such it resides in a database schema. You can use any schema (referred in the example calls below as ‘smithj’) which has the SYSDBA role, but if you want to have a dedicated schema for this package, the minimum privileges needed are shown below:
CREATE USER smithj IDENTIFIED BY pass; GRANT CREATE session TO smithj; GRANT CREATE TABLE TO smithj; GRANT CREATE ANY PROCEDURE TO smithj; GRANT CREATE TYPE TO smithj; -- this is needed to use loadjava grant JAVA_ADMIN TO smithj; grant JAVAUSERPRIV TO smithj; -- this is needed in order to be able to store the JAR file contents ALTER USER smithj quota unlimited ON USERS;
Step 1.0) Extract the distribution ZIP archive to a folder, referred below as [extraction folder]
Step 1.1) Load the JAR files
Load the JAR files using the loadjava.sh/.bat utility located in the Oracle Database instance /BIN/ folder.
Replace below smithj/pass with a real database user (schema) and password applicable for your Oracle Database and host details if needed. Read below for more details regarding the user/pass parameter and database server located on a remote machine.
loadjava.bat -resolve -verbose -user smithj/pass [extraction folder]\SetupFiles\ora-sftp-1.2.jar
loadjava.sh -resolve -verbose -user smithj/pass [extraction folder]/SetupFiles/ora-sftp-1.2.jar
Step 1.2) Register the ORA_SFTP PL/SQL package
using your favorite PL/SQL development environment (SQL*Plus, Oracle© SQLDeveloper©, etc.) execute the PL/SQL scripts located at:
Step 1.3) Permissions
For each SFTP host that you would like to communicate with, execute in your PL/SQL environment:
call dbms_java.grant_permission( 'smithj', 'SYS:java.net.SocketPermission', 'sftp_host_name_or_IP_address', 'connect,resolve' ); commit;
Note: don’t forget to replace ‘smithj‘ and ‘sftp_host_name_or_IP_address‘ with the DB user/scheme name where the OraSFTP package was loaded and the IP/hostname where the SFTP server is.
Step 1.4) Check that everything is working:
Execute in your PL/SQL command environment:
SELECT ORA_SFTP.VERSION FROM dual
3. From trial to production
To switch from an evaluation (trial) version of the software to a licensed production version:
The uninstall process is similar to the Upgrade and requires first to unload the old version JAR files from the Oracle© database:
dropjava.sh/.bat -resolve -verbose -user smithj/pass [extraction folder]\SetupFiles\ora-sftp-<version>.jar
and afterwards to drop the ORA_SFTP package using your favorite PL/SQL execution environment (SQL*Plus, Oracle© SQLDeveloper©, etc.
DROP package ORA_SFTP;
Note: Replace above user/password with the database username(schema) and password used in the initial Setup.
5. The user/password parameter
The -user parameter of the loadjava and dropjava commands can be simply:
username/password – where username is a user(schema) name in the Oracle Database and password is its password.
username/password@database – in this case database can be a TNS name or Net8 name-value list
If we want to install the script into a remote machine specified with @host:port:SID then the additional -thin parameter must also be used:
loadjava -resolve -verbose -thin -user username/password@host:port:SID …
loadjava -resolve -verbose -thin -user ASIO/ASIOpassword@localhost:1521:ORCL2 ./SetupFiles/ora-sftp-1.2.jar