I want to install apex app. I know of two ways to install any app.
Importing export file via Apex designer interface from the same workspace
Or, copy the app export file let's say f101.sql and execute that as script directly in SQL developer using the database Schema (which is connected to workspace)
I want to do something similar like 2, but instead of using same Schema, I want to use different Schema to execute script but install into the same workspace.
Example: f101.sql is app export of workspace finance_ws, which is connected to finance_schema of database.
I have another schema deployment_schema. Could I execute f101.sql file in deployment_schema so that it gets deployed in finance_ws workspace?
I'd
create a new workspace (let's call it deployment_ws)
designate it to deployment_schema
create a developer in that workspace (let's call it arif)
connect to deployment_ws as arif
import f101.sql
Perhaps you can do it as you wanted, but ... I find the above approach simpler.
[EDIT]
You'd want to have only one workspace (which is FINANCE_WS), but import F101.SQL into it so that one application works on finance_schema, and another one on deployment_schema.
As you can't have two applications with the same ID, you'll have to import F101.SQL and change application ID during import (that's on the "Install application" tab. Use either "auto assign new application ID" or "change application ID" (manually).
On the same import page, you'll see the Parsing schema property - change it to deployment_schema. If you don't see it in the list of values, connect as admin into internal workspace and designate deployment_schema to finance_ws.
I guess that's what you, actually, wanted ...
deployment_schema should have APEX_ADMINISTRATOR_ROLE assigned. Once assigned, we can deploy/execute any app through deployment_schema in any workspace which exist in that database
Related
i have two ODI instances installed on the same machine with the same home directory.
i am trying to import scenarios using ./startcmd.sh command and it is working but it is always deploy the scenario to instance1.
the question is where i can redirect the deployment to instance2 instead of instance1?
are there any properties file or something else providing that ?
A scenario is not imported into an instance / path on the machine. It's imported in a work repository in a database.
OdiImportScen does not have a parameter to specify the repository in which you want to import.
Instead you can use OdiImportObject and specify the WORKREPNAME parameter.
I have to monitor many servers (over 3000) and the management has decided to use MobaXterm. All right, it works fine.
The ideal would be to have sessions already set up and shared with colleagues, it would be a considerable convenience.
Is there a way to massively import server data (name, ip, login) into sessions instead of insert them one by one?
From the Sessions tab, left click User sessions and select Import sessions from file
The file should be similar to the following image.
The version is Personal Edition v11.0.
MobaXterm is able to import sessions from a list of hosts, but this is limited to the import of hosts without users/port/passwords/advanced settings.
For that, you have to create a file with one server per line.
Then, in order to try this feature, you can start a local terminal and run the "ServersListToMxtSessions.sh" script.
The script will ask you to select a file, so just select the one you have created.
Hope it helps....
MobaXterm is able to import sessions either from:
The file in .mxtsessions format.
You can export few examples first to see the syntax, so you can write a script to save it into that format.
PuTTy/SuperPuTTy sessions.
All sessions from PuTTy can be imported. To import into PuTTy, you can create a registry file.
Other session formats (check the contextual menu in Sessions for full list).
Alternatively use a macro app to achieve that (such as AutoHotkey).
To import mRemoteNG connections into MobaXterm, you need to export the mRemoteNG connections file in name "confCons.xml" specifically (Otherwise MobaXterm won't recognize it as potential file for import)
Once you have your mRemoteNG connections file named as "confCons.xml", go to:
MobaXterm -> Import sessions from third-party programs -> Import from MRemote sessions -> Choose the exported "confCons.xml"
I'm trying to migrate my TeamCity server to use SQL Server following the instructions at https://confluence.jetbrains.com/display/TCD10/Migrating+to+an+External+Database.
In step 3 it says
Create a temporary properties file with a custom name (for example, database.database_type.properties) for the target database using the corresponding template (TeamCity Data Directory/config/database.database_type.properties.dist).
but I can't find database.database_type.properties.dist anywhere on disk or in the installer package.
Where is database.database_type.properties.dist?
It's database.<database_type>.properties.dist where <database_type> in your case is mssql, so you should look for a file database.mssql.properties.dist.
The file is under <TeamCity data directory>/config. Path to the data directory you can see on Administration -> Global Settings page in TeamCity web interface.
Trying to find out how to access the GAE Cloud Datastore from outside GAE. Ideally using a standalone python script (Mac) to run GQL like
q = GqlQuery("SELECT * FROM user WHERE email = 'test#example.com'")
or maybe even a local instance of GAE using GoogleAppEngineLauncher if a standalone script is not possible.
I have done the following
Accessing an existing App Engine Datastore from another platform (https://cloud.google.com/datastore/docs/activate) - permissions with service account + private key
Installed the Python SDK - confirmed SDK files are files are in
/usr/local/lib/python2.7/site-packages/google_appengine
/usr/local/google_appengine/google/appengine/*** (api,base,client,datastore,...,ext,etc.)
Running a print sys.path shows (among other paths)
/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google_appengine,
/usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gtk-2.0', '/Library/Python/2.7/site-packages,
/usr/local/lib/python2.7/site-packages,
/usr/local/lib/python2.7/site-packages/google_appengine, /usr/local/lib/python2.7/site-packages/gtk-2.0
Did the export
export DATASTORE_SERVICE_ACCOUNT=...
export DATASTORE_PRIVATE_KEY_FILE=... (full path to .p12 file)
export DATASTORE_DATASET=...
export PYTHONPATH="$PYTHONPATH:/usr/local/google_appengine"
Ran the example adams.py file
Created a new entity called "Trivia" with name= hgtg, answer=42 as a record in PROD
However, running a standalone script
from appengine.ext.db import GqlQuery (or from google.appengine.ext.db import GqlQuery)
gives me ImportError:
No module named appengine.ext.db
I then tried to use a local GAE instance but can't figure out how to connect the PROD GAE database instance.
===
The existing GAE application us using the Datastore (Java) in PRODUCTION. In the Developer Console (https://console.developers.google.com/project), this would be under Storage > Cloud Datastore > Query where I would see the "Entities" (or kind). Obviously, there is a fairly limited amount of things you can do here and I don't really want to touch PRODUCTION code to run a query.
Thanks,
Chris
We have a terminal server that has two copies of our application: a live version, and a test version.
These are 2 icons on the users desktop. Now when you launch the application, you type in the name of the oracle database that the application connects to.
We want to prevent users accessing the production database when they use the TEST icon, and prevent users accessing the TEST environments when they use the PROD icon.
Unfortunately we can't do this through the application, and we do not want to go down the route of getting the application modified by the vendor. The application uses a single tnsnames.ora file to connect to the database for both the test version and the prod version, so we can't change this (unless there is a way to use multiples?).
I was thinking we could have a local firewall that would prevent the test application from accessing the live server (just block the connection), but at the moment, they are both on the same server!
So, can anyone think of a way to prevent a certain application accessing an Oracle database? The application EXE has the same name, but it is run from a different path depending if it is a test version or the prod version.
Since you have control of the environment on the terminal server, one fairly simple option is to wrap the application in a batch file that forces it to use a restricted tnsnames.ora.
Create two directories, e.g. test_tns_admin and live_tns_admin. Put a copy of your tnsnames.ora in each directory, but edit them so each only has the TNS alias for one target database.
Create two batch files, e.g. live.bat and test.bat. In each, set the TNS_ADMIN admin variable to point to the appropriate directory, and then launch the real application. So test.bat might look like:
::Batch wrapper for the TEST application
#set TNS_ADMIN="\path\to\test_tns_admin"
#"\path\to\real\application.exe"
... and live.bat is the same but pointing to the other directory. You can put shortcuts to the batch files on the desktop instead of the real applications. When one of those is run and the the application launches, the TNS_ADMIN will mean it picks up the cut-down tns_names.ora, so only the TEST TNS alias will be recognised. Nothing else on the terminal server or database is affected.
You don't even really need two new tnsnames.ora files; you could remove the TEST alias from the existing system-wide one and leave the live application alone, only replacing the test launcher with a batch file - that might be preferable since live isn't touched, but depends how you want to manage it, and whether it will be clearer to have them both working the same way.
There is a view called v$session
and the query bellow shows any session information
select username,program
from v$session
You may have a table for listing restricted(or allowed) program names
CREATE TABLE RESTRICTED_PROGRAMS(
PROGRAM_NAME VARCHAR2(64))
INSERT INTO RESTRICTED_PROGRAMS VALUES ('TEST.exe');
COMMIT;
you can use the script bellow to create a AFTER LOGON ON TRIGGER
CREATE OR REPLACE TRIGGER logon_audit
AFTER LOGON ON database
DECLARE
v_program VARCHAR2(100);
BEGIN
SELECT program into v_program;
FROM v$session
WHERE audsid = userenv('sessionid');
for x in (SELECT * FROM RESTRICTED_PROGRAMS) loop
IF upper(v_program) == upper(x.PROGRAM_NAME) THEN
RAISE_APPLICATION_ERROR(-20001,
'You are not allowed to login using ' ||
v_program);
end if;
end loop;
END;
If a user can connect to you database using application X.exe, then if they rename Y.exe to X then they're still in.