Skip to main content

Amazon Redshift Daily Command

Amazon Redshift Daily:

SELECT CURRENT_AWS_ACCOUNT;

SELECT CURRENT_DATABASE();

SELECT CURRENT_NAMESPACE();

SELECT CURRENT_SCHEMA();

SELECT CURRENT_USER_ID();

SELECT CURRENT_USER;

-- Metadata

select distinct(nspname) from pg_catalog.pg_namespace where nspname not like 'pg_temp%';

-- Describe Table

select * from information_schema.columns where table_name='columns';

select column_name, data_type, character_maximum_length from information_schema.columns where table_name='columns';

-- Create Read-only Group

Create group ro_group;

-- Create User

Crate user ro_user with password <password>;

-- Add user to Read-only Group

alter group ro_group ADD user ro_user;

-- Grant Usage permission to Read-Only Group to specific schema

grant usage on schema "ro_schema" to group ro_group;

-- Grant select permisson to read-only group to specific schema

grant select on all tables in schema "ro_schema" to group "ro_group";

-- Alter default privileges to maintain the permission on new tables

alter default privileges in schema "ro_schema" grant select on tables to group ro_group;

-- Revoke crate privileges from group

revoke create on schema "ro_schema" from group ro_group;

Example:

create group testgroup;

create user test1 password 'test123' in group testgroup;

grant usage on schema "rs_public" to group testgroup;

grant select on all tables in schema rs_public to group testgroup;

grant select on all tables in schema grant select on all tables in schema public to group data_viewers;

select * from pg_user where usename like 't%';

select groname from pg_catalog.pg_group pg where groname like 'test%';

select groname from pg_catalog.pg_group pg where groname like 'l%';

call rs_public.idm_ndew_revoke_from_login_role ('testgroup', 'test1');

grant all on procedure public. idm_new_revoke_from_login_role_bkup (in varchar, inout varchar) to test1;

create group testgroup;

create user test1 password 'test123' in group testgroup;

grant usage on schema "rs_public_ to group testgroup;

grant select on all tables in schema rs_public to group testgroup; 

Rename Table:

alter table db_name.schema_name.table_name rename to new_table_name;

Note: Remember not to include db_name.schema_name while giving new_table_name.

Troubleshoot ETL Extract and ETL Load:

To troubleshoot ETL Extract, and ETL Load query the system tables stl_load_errors, and stl_loaderror_detail;

select * from stl_load_errors;

select * from stl_loaderror_detail;

 

 

   

 

 


Comments

Popular posts from this blog

MySQL InnoDB cluster troubleshooting | commands

Cluster Validation: select * from performance_schema.replication_group_members; All members should be online. select instance_name, mysql_server_uuid, addresses from  mysql_innodb_cluster_metadata.instances; All instances should return same value for mysql_server_uuid SELECT @@GTID_EXECUTED; All nodes should return same value Frequently use commands: mysql> SET SQL_LOG_BIN = 0;  mysql> stop group_replication; mysql> set global super_read_only=0; mysql> drop database mysql_innodb_cluster_metadata; mysql> RESET MASTER; mysql> RESET SLAVE ALL; JS > var cluster = dba.getCluster() JS > var cluster = dba.getCluster("<Cluster_name>") JS > var cluster = dba.createCluster('name') JS > cluster.removeInstance('root@<IP_Address>:<Port_No>',{force: true}) JS > cluster.addInstance('root@<IP add>,:<port>') JS > cluster.addInstance('root@ <IP add>,:<port> ') JS > dba.getC...

InnoDB cluster Remove Instance Force | Add InnoDB instance

InnoDB cluster environment UUID is different on node: To fix it stop group replication, remove instance (use force if require), add instance back Identify the node which is not in sync: Execute following SQL statement on each node and identify the node has different UUID on all nodes. mysql> select * from mysql_innodb_cluster_metadata.instances; Stop group replication: Stop group replication on the node which does not have same UUID on all nodes. mysql > stop GROUP_REPLICATION; Remove instances from cluster: Remove all secondary node from the cluster and add them back if require. $mysqlsh JS >\c root@<IP_Address>:<Port_No> JS > dba.getCluster().status() JS > dba.getCluster () <Cluster:cluster_name> JS > var cluster = dba.getCluster("cluster_name"); JS >  cluster.removeInstance('root@<IP_Address>:<Port_No>'); If you get "Cluster.removeInstance: Timeout reached waiting......" JS > cluster.removeInstance(...

Oracle E-Business Suite Online Patch Phases executing adop

Following description about Oracle E-Business Suite is high level and from documentation https://docs.oracle.com/cd/E26401_01/doc.122/e22954/T202991T531062.htm#5281339 for in depth and detail description refer it. The online patching cycle phases: Prepare Apply Finalize Cutover Cleanup Prepare phase: Start a new online patching cycle, Prepares the environment for patching. $ adop phase=prepare Apply phase: Applies the specified patches to the environment. Apply one or more patches to the patch edition. $ adop phase=apply patches=123456,789101 workers=8 Finalize phase: Performs any final steps required to make the system ready for cutover. Perform the final patching operations that can be executed while the application is still online. $ adop phase=finalize Cutover phase: Shuts down application tier services, makes the patch edition the new run edition, and then restarts application tier services. This is the only phase that involves a brief ...