Search This Blog

Sunday 25 October 2020

AWS RDS Oracle Frequently used SQL Queries

 Recently I came across working on Amazon Oracle RDS database where I have to migrate the in-place oracle database to Amazon RDS. Here is my learning from that implementation of frequently used queries in Oracle / Amazon RDS.

1. Getting all the tablespace file from database

    select tablespace_name, bytes from dba_data_files;

2. Getting long running job status from database

    SELECT SID, SERIAL#, OPNAME, CONTEXT, SOFAR, 

    TOTALWORK,ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE" 

    FROM V$SESSION_LONGOPS 

    WHERE OPNAME NOT LIKE '%aggregate%' 

    AND TOTALWORK != 0 

    AND SOFAR <> TOTALWORK;

 3. How to get all the files from a directory?

select * from table (rdsadmin.rds_file_util.listdir(p_directory => 'DATA_PUMP_DIR'));

4. Getting details from import Log files          

    select * from table (rdsadmin.rds_file_util.read_text_file(

       p_directory => 'DATA_PUMP_DIR',

        p_filename  => 'abc.log'));

5. Removing a file from a directory

    exec utl_file.fremove('DATA_PUMP_DIR','IMPORT.LOG');

6. How to kill a job in RDS Oracle

begin

rdsadmin.rdsadmin_util.kill(sid => sid, serial => serial_number);

end;

/

7. Providing Grant issues

    GRANT EXEMPT ACCESS POLICY TO "SYSTEM"

    GRANT GRANT ANY ROLE TO "SYSTEM" with admin option; 

    GRANT DEBUG ANY PROCEDURE TO "HR"

    GRANT CREATE VIEW TO "HR"

7. Granting Permissions to SYS Objects in AWS RDS

begin

rdsadmin.rdsadmin_util.grant_sys_object(p_obj_name => 'V_$SESSION',p_grantee => 'HR',p_privilege => 'SELECT');

end;

/

8. Exporting a Schema from a database in AWS RDS / Oracle

================================================================

DECLARE

hdnl NUMBER;

BEGIN

hdnl := DBMS_DATAPUMP.OPEN( operation => 'EXPORT', job_mode => 'SCHEMA', job_name=>null);

DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'ABC.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);

DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'ABC.log', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_log_file);

DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''ABC'')');

DBMS_DATAPUMP.START_JOB(hdnl);

END;

/

================================================================

9. Getting number of tables from a database

select count(*) from all_objects where object_type = 'TABLE';

10. How to drop a AQ Tables:

EXEC dbms_aqadm.drop_queue_table ( queue_table => 'HR.AQ$_HR_EMP_SQ_I',force=>true);


11. How to copy dump files from s3 bucket to database

SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
p_bucket_name    =>  'mys3bucketname', 
p_s3_prefix      =>  'db', 
p_directory_name =>  'DATA_PUMP_DIR') 
AS TASK_ID FROM DUAL;   

12. How to get the query of any view or table from a schema:

syntax:
select dbms_metadata.get_ddl('object_type','object_name','schema nme') from dual;
e.g:
select dbms_metadata.get_ddl('VIEW','EMPLOYEE','HR') from dual;

13. How to know when is an object created
syntax:
SELECT created FROM dba_objects  WHERE object_name = 'object_name'     AND owner =     'schema_name' AND object_type = 'object_type';

e.g:
SELECT created   FROM dba_objects  WHERE object_name =                'EMPLOYEE' AND owner =     'APPS' AND object_type = 'VIEW';

14. checking data dumping directory to check the dump files

     select * from                 
   table(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')) order          by mtime;  

15. Creating Tablespaces

    create tablespace TEMP1 datafile size 5G autoextend on maxsize 10G;

16. creating a database in Oracle or Amazon RDS database

Sample Syntax:

create user schema_1 identified by <password>;

grant create session, resource to schema_1;

alter user schema_1 quota 100M on users;

Example:

CREATE USER HR IDENTIFIED BY HR

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

QUOTA UNLIMITED ON USERS;

GRANT CREATE SESSION, CREATE TABLE to HR;

17. Importing Dump file in Amazon RDS

Now we could start running the import process with the following command:

================================================================

DECLARE

hdnl NUMBER;

BEGIN

hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode =>        'SCHEMA',job_name=>null);

DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'HR.dmp',        directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);

DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename =>       'HR.log', directory => 'DATA_PUMP_DIR', filetype =>       dbms_datapump.ku$_file_type_log_file);

DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''HR'')');

DBMS_DATAPUMP.START_JOB(hdnl);

 END;

 /

================================================================

18. How to copy your dump files to S3 bucket from Linux Server

syntax: 
aws s3 cp /data/dumps/HR.dmp s3://s3-bucket-name

Wednesday 21 October 2020

Log files Location/directory in OBIEE 12c / OAS

OBIEE 12c Log Locations:

First We should know our fusion middleware home or oracle BI Home directory location and then search in the relevant folder/directory for logs.

  • AdminServer logs – <FMW_HOME>/user_projects/domains/bi/servers/AdminServer/logs
  • bi_server1 logs – <FMW_HOME>/user_projects/domains/bi/servers/bi_server1/logs
  • Presentation Server logs – <FMW_HOME>/user_projects/domains/bi/servers/obips1/logs
  • JavaHost logs – <FMW_HOME>/user_projects/domains/bi/servers/obijh1/logs
  • Cluster Components logs – <FMW_HOME>/user_projects/domains/bi/servers/obiccs1/logs
  • Scheduler Server logs – <FMW_HOME>/user_projects/domains/bi/servers/obisch1/logs

If it is 2 Node Servers, then 

Presentation Server logs 2nd Node – <FMW_HOME>/user_projects/domains/bi/servers/obips2/logs

Scheduler Server logs For 2nd Node– <FMW_HOME>/user_projects/domains/bi/servers/obisch2/logs

OBIEE 11g Locations:

  • Upgrade logs – Middleware\Oracle_BI1\upgrade\logs
  • Admin Server logs – <FMW_HOME>\user_projects\domains\bifoundation_domain\servers\AdminServer\logs
  • Managed Server logs – <FMW_HOME>\user_projects\domains\bifoundation_domain\servers\bi_server1\logs
  • BI Server logs – <FMW_HOME>\instances\instance1\diagnostics\logs\OracleBIServerComponent\coreapplication_obis1
  • Presentation Server logs – <FMW_HOME>\instances\instance1\diagnostics\logs\OracleBIPresentationServicesComponent\coreapplication_obips1


Cheers!

Bose

Sunday 11 October 2020

[nQSError: 13042] Repository password is wrong in OBIEE 12c

Issue;

On Oracle Business Intelligence Enterprise Edition (OBIEE) 12c, Below error occurs while uploading RPD in OBIEE 12c environment, even though RPD password is correct and can be opened with same password in offline mode.

[nQSError: 13042] Repository password is wrong

Issue 1. After uploading the RPD, if we download and try to open offline, we will get the same issue of 'Repository Password is Wrong'

Issue 2. If we are validating with validaterpd.sh command then also, we will get the same issue and will not be able to open the RPD.

Issue 3. obieerpdpwdchange utility also would not help in resetting or opening the rpd.

Issue 4. We would be able to open the RPD online but the same wouldnot be able to open if we download and try to open offline.

(Doc ID 2721582.1)

After uploading new rpd, Unable to open a downloaded rpd in offline mode in admin client tool

"Logon Failed" message is displayed and following error shown in the admin log:

----NQSAdminTool.log -------------------------

[OBIS] [NOTIFICATION:1] Opening call for File=C:\xxx\xxx\xxx.rpd, LogicalName: OfflineRepository
[OBIS] [ERROR:1] [tid: xxx]  [nQSError: 13042] Repository password is wrong. [[
file: server\objectmodel\Src\SOPersistRp.cpp; line: 672

Cause:

This issue is due to known internal Bug: Bug 29376866 - RFA : WRONG PASSWORD ERROR IN ADMIN TOOL AFTER DOWNLOADRPD

SOLUTION:

Follow the steps to fix the issue:

Step1: Open the RPD in online Mode and save the RPD suing copy as option to have working repository copy.


Step 2: Login to EM->Weblogic Domain->Security->Credentials->oracle.bi.enterprise->metadata.encryption->Edit->password =>update the same password.

Step 3: Upload the working version of RPD and then Download.

Step 3: Try opening the RPD in offline mode.


Cheers! Bose

What is Oracle Database Link and How to create database link (DB Link)

 https://www.oracletutorial.com/oracle-administration/oracle-create-database-link/

Recent Posts