I am connecting to Snowflake from Collibra through the Snowflake provided JDBC driver.
My objective is to extract tables, columns metadata of a schema in Snowflake and load that metadata into the Collibra Catalog.
However, a deeper look at the permission "select on each table to ingest" that must be given to the user who connects to snowflake is a worrisome thing for us. The technical user can select data from the tables like any other user. Is there any way to avoid the permission?
Br,
Noor.
Related
Is there a way to replicate data(like triggers or jobs) from oracle tables to postgres tables and vice versa(for different set of tables) without using external tools? Just one way replication for both the scenarios.
Just a hint:
You can think of create a DB link from Oracle to Postgres which is called heterogeneous connectivity which makes it possible to select data from Postgres with a select statement in Oracle.
Then use materialized views to schedule and store the results of those selects.
As you don't want to use any external tool otherwise the solution should have been much simpler
for 20 tables I need to replicate data from oracle to postgres. For 40 different tables, I need to replicate from postgres to oracle.
I could imagine the following setup:
For the Oracles tables that need to be accessible from Postgres, simply create foreign tables inside the Postgres server. They appear to be "local" tables in the Postgres server, but the FDW ("foreign data wrapper") will forward any request to the Oracle server. So no replication required. Whether or not this will be fast enough depends on how you access the tables. Some operations (WHERE clause, ORDER BY etc) can be pushed down to the Oracle server, some will be done by the Postgres server after all the rows have been fechted.
For the Postgres tables that need to be replicated to Oracle you could have a similar setup: create a foreign table that points to the target table in Oracle. Then create triggers on the Postgres table that will update the foreign table, thus sending the changes to Oracle.
This could all be managed on the Postgres side.
Using schemacrawler and trying to connect to an Oracle database. The resulting json file is only including about 10 tables, but we are expecting a much larger number of tables in the database.
This must be restricted by permissions of the user being used to access the Oracle database, but what permissions are required for that user for schemacrawler to be able to "see" the table/columns?
Presumably schemacrawler uses the data dictionary. So the user will be restricted to what tables and columns are visible in ALL_TAB_COLS view i.e. what tables they have at least SELECT privilege on.
Otherwise the user needs select on DBA_TAB_COLS, which shows all tables in all schemas. That requires DBA access to grant.
I have a SQLite database and I need to connect to an Oracle database so I can do some reports.
So my questions are:
Is it possible to create a dblink from SQLite to the Oracle database, so that I can use something like:
select *
from sqlitetable s
join oracletable#oracleserver o on o.column = s.column
where s.column = 'x'
Assuming this is indeed possible, do I need to have some setup/support from the oracle admin, or can I simply connect via my existing account?
It is, in theory, possible to write a virtual table that links to Oracle.
However, I don't know of any actual implementation.
I make a privileges to user on one schema at Oracle, when accessing oracle database using SSIS I saw all tables and schema. When I use SQL Plus show me only one schema.
What is the problem here?
What query are you running to see tables in SQL*Plus? If you are querying USER_TABLES, you will only see the tables that the current user owns. If you are querying ALL_TABLES, you will see all the tables that you have permission to query regardless of the owner. If you are querying DBA_TABLES, you will see all the tables in the database (though you need additional privileges to query the DBA% objects.
There is another question on how to get a list of all the tables in a database that goes into more detail about this.
The database user has got two schemas. I need to read the data from a specific schema using ado.net. I am using OleDbConnection object to create the connection to database. Appreciate your answers.
Use SCHEMA_NAME.TABLE_NAME in your queries.
If you don't specify a schema, Oracle will look into the current schema. The schema is by default the connexion user (so if you connect with USER1 and query TABLE1, Oracle will look for the table USER1.TABLE1). You can change your current schema at any time during a session with:
ALTER SESSION SET CURRENT_SCHEMA=SCHEMA2;
You can also use synonyms to point to the correct table.