Posts

Redis user permissions (ACL) and python connection

 Recently, I was working on setting up a redis cluster along with separate users for readwrite and readonly. I setup the readonly user using the below privileges (ACLs):   user redisreadonly on >mySuperSecretPassword ~* resetchannels -@all +@read +ping +asking   Once this is setup, I wrote a simple program in python to connect to the redis cluster using the readonly credentials and print the number of keys.   #!/usr/bin/env python3 """ pip3 install redis """ from redis.cluster import RedisCluster, ClusterNode # ─────── Cluster connection ─────── startup_nodes = [ ClusterNode("redis_host_1", 6379), ClusterNode("redis_host_2", 6379), ClusterNode("redis_host_3", 6379) ] rc = RedisCluster(startup_nodes=startup_nodes,decode_responses=True,username='redisreadonly',password='mySuperSecretPassw...

Set Hugepages for Oracle 11gR2 database

1. Execute the shell script provided in Note ID: 401749.1 to find out the ideal setting for the parameter vm.nr_hugepages, set it in /etc/sysctl.conf and reboot VM/Server. Script from Note 401749.1 -bash-3.2$ cat huge_pages_calc.sh #!/bin/bash # # hugepages_settings.sh # # Linux bash script to compute values for the # recommended HugePages/HugeTLB configuration # # Note: This script does calculation for all shared memory # segments available when the script is run, no matter it # is an Oracle RDBMS shared memory segment or not. # # This script is provided by Doc ID 401749.1 from My Oracle Support # http://support.oracle.com # Welcome text echo " This script is provided by Doc ID 401749.1 from My Oracle Support (http://support.oracle.com) where it is intended to compute values for the recommended HugePages/HugeTLB configuration for the current shared memory segments. Before proceeding with the execution please note following:  * F...

Modify retention period of workflow queues

Yesterday, there was a requirement to increase the retention period of WF_DEFERRED and WF_BPEL_Q so that the developers could troubleshoot issues involving business events. This can be done this way: 1. Check the retention period of existing workqueues. SQL> SELECT owner, name, retention FROM all_queues WHERE name LIKE 'WF%'; OWNER           NAME                                                RETENTION --------------- --------------------------------------------- ------------------------------ APPS                 WF_BPEL_Q                                                0 APPLSYS         WF_INBOUND_QUEUE              ...

Check if UTL_FILE and FND_FILE are working fine

Yesterday, while troubleshooting a vexing ORA-29280 error, I came across 2 useful PL/SQL anonymous blocks that can be used to test FND_FILE and UTL_FILE to find out whether they are indeed working fine. UTL_FILE set serveroutput on DECLARE file_location VARCHAR2(256) := '<first entry on utl_file_dir>'; file_name VARCHAR2(256) := 'utlfile1.lst'; file_text VARCHAR2(256) := 'THIS IS A TEST'; file_id UTL_FILE.file_type; BEGIN file_id := UTL_FILE.fopen(file_Location, file_name, 'W'); UTL_FILE.put_line(file_id, file_text); UTL_FILE.fclose(file_id); EXCEPTION WHEN UTL_FILE.INVALID_PATH THEN dbms_output.put_line('Invalid path ' || SQLERRM); WHEN OTHERS THEN dbms_output.put_line('Others '|| SQLCODE || ' ' || SQLERRM); END; / References: Metalink (MOS) Note ID: 261693.1 FND_FILE set serveroutput on exec FND_FILE.PUT_LINE(FND_FILE.LOG, 'THIS IS A TEST'); HTH....

Maximum number of Datafiles for an instance

I'm back after a long hiatus! Hopefully, with stuff that you will all appreciate and use, in your day to day activities. So, here goes. Objective To find the maximum number of datafiles for a given instance (instance = database, both are interchangeable, unless we are talking of RAC). Options 1. Using init file: Check the parameter db_files. e.g: SQL> show parameter db_files 2. Using control file: Check the parameter MAXDATAFILES after generating the controlfile trace. eg: CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG MAXLOGFILES 64 MAXLOGMEMBERS 5 MAXDATAFILES 512 MAXINSTANCES 8 MAXLOGHISTORY 14607 3. Execute the below query in sqlplus: SQL> select records_total from v$controlfile_record_section where type='DATAFILE';

Alternatives to Flash version of My Oracle Support

I am sure you all know this but this is for those who do not! :) For those who think that the flash version of MOS is slow (including yours truly), Oracle provides the html version of MOS. For those who were accustomed to using the Metalink (when MOS was Metalink and George W Bush was the president of the US of A - not the father, I'm talking about the son) patch search and download page, do not fret. You can use the classic patches window to get the old page (and a lot of memories) back! To open any MOS note id, you can use this link . Only substitute Note ID 221211.1 with the note id that you want to open.

WGET shell Script for downloading patches

What I have to offer this time is a script using which you can download patches using WGET from Meta.....oops, from My Oracle Support, I should say! This script needs (or accepts) the following parameters: 1. Me...oops...MOS Username 2. MOS (I got it right this time!) password 3. Patch file name 4. ARU Number You can get 3 and 4 in the following way: Using MOS: Query for the particular patch, click on the download link, click on WGET Options on the left side bottom corner and then copy the WGET script to clipboard. That script will have both the patch name and the ARU number. Using HTML (supporthtml.oracle.com): Query for the particular patch, click on the patch, then RIGHT CLICK on the patch zip file link and click on copy shortcut in IE (or copy link location in Mozilla Firefox). This link will have both the patch file name and the ARU number. Using the classic patches window: Query for the particular patch, then RIGHT CLICK on the DOWNLOAD button and click on copy shortcut in IE (or...

Rebuild reporting database

In one of my previous posts , I had spoken about creating a reporting database that is editable at the same time, though the edits are transient. The last month, I faced an interesting situation wherein we had to rebuild this reporting database. In this post, I'll talk about rebuild the reporting database when it is corrupted. Context The standby database has been corrupted due to a server crash and needs to be rebuilt from the primary database. Solution I followed the steps mentioned in this post about creating a physical standby database. The steps in the pre-requisites can be skipped because they are already existing. The rest of the steps hold good!

Popular posts from this blog

EXCEPTION_ACCESS_VIOLATION in Jinitiator and IE crashes

Version of mod_security with EBS 11.5.10.2

Read a file and extract specific lines using Native Ansible Modules