Good Contents Are Everywhere, But Here, We Deliver The Best of The Best.Please Hold on!
Introduction

We had a FAN failure on Exadata Infiniband Switch (FAN2). Scheduled the faulty hardware replacement with Oracle. The Oracle Feild Engineer came to the Customer Data Center and replaced the faulty FAN on Infiniband Switch. The FAN replacement was successful however the fault was not cleared automatically. We can still see the FAN was marked faulted from Infiniband BUI and CLI.

From Infiniband Browser User Interface



In this article we will demonstrate how to clear the fault on Infiniband Switch after hardware replacement.


  • Login to the Infiniband switch using Putty as root user and check the Infiniband health. From the output below we can see the FANs are all good.
[root@dm01sw-iba01 ~]# env_test
Environment test started:
Starting Environment Daemon test:
Environment daemon running
Environment Daemon test returned OK
Starting Voltage test:
Voltage ECB OK
Measured 3.3V Main = 3.28 V
Measured 3.3V Standby = 3.39 V
Measured 12V = 11.97 V
Measured 5V = 5.02 V
Measured VBAT = 3.14 V
Measured 2.5V = 2.49 V
Measured 1.8V = 1.79 V
Measured I4 1.2V = 1.22 V
Voltage test returned OK
Starting PSU test:
PSU 0 present OK
PSU 1 present OK
PSU test returned OK
Starting Temperature test:
Back temperature 40
Front temperature 41
SP temperature 57
Switch temperature 55, maxtemperature 59
Temperature test returned OK
Starting FAN test:
Fan 0 not present
Fan 1 running at rpm 17004
Fan 2 running at rpm 15696
Fan 3 running at rpm 17004
Fan 4 not present
FAN test returned OK
Starting Connector test:
Connector test returned OK
Starting Onboard ibdevice test:
Switch OK
All Internal ibdevices OK
Onboard ibdevice test returned OK
Starting SSD test:
SSD test returned OK
Starting Auto-link-disable test:
Auto-link-disable test returned OK
Environment test PASSED

  • Check the FAN Speed. FAN looks good.
[root@dm01sw-iba01 ~]# getfanspeed
Fan 0 not present
Fan 1 running at rpm 17004
Fan 2 running at rpm 15478
Fan 3 running at rpm 17004
Fan 4 not present


  • Switch to the ilom-admin user
[root@dm01sw-iba01 ~]# su – ilom-admin

Oracle(R) Integrated Lights Out Manager

Version 2.2.9-3 ILOM 3.2.11 r124039

Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.

Warning: HTTPS certificate is set to factory default.

Hostname: dm01sw-iba01.netsoftmate.com

->


  • Now check the fault table for any faulty components. Now we can see the FAN2 is Faulted though the FAN was replaced with a new FAN.
-> show / -a -l 4 -o table fault_state
Target                                  | Property                                     | Value
—————————————-+———————————————-+——————————————————————–
/SYS                                    | fault_state                                  | OK
/SYS/MB                                 | fault_state                                  | OK
/SYS/PSU0                               | fault_state                                  | OK
/SYS/PSU1                               | fault_state                                  | OK
/SYS/FAN1                               | fault_state                                  | OK
/SYS/FAN2                               | fault_state                                  | Faulted /SYS/FAN3                               | fault_state                                  | OK

->


  • You can also execute the below command to identify the fault
-> show -d targets /SP/faultmgmt

 /SP/faultmgmt
    Targets:
        shell
        0 (/SYS/FAN2)


  • Clear the Fault as show below
-> set /SYS/FAN2 clear_fault_action=true
Are you sure you want to clear /SYS/FAN2 (y/n)? y
Set ‘clear_fault_action’ to ‘true’


  • Verify the fault is cleared
-> show / -a -l 4 -o table fault_state
Target                                  | Property                                     | Value
—————————————-+———————————————-+——————————————————————–
/SYS                                    | fault_state                                  | OK
/SYS/MB                                 | fault_state                                  | OK
/SYS/PSU0                               | fault_state                                  | OK
/SYS/PSU1                               | fault_state                                  | OK
/SYS/FAN1                               | fault_state                                  | OK
/SYS/FAN2                               | fault_state                               
   | OK
/SYS/FAN3                               | fault_state                                  | OK

-> show -d targets /SP/faultmgmt

 /SP/faultmgmt
    Targets:
        shell


  • Verify from the Infiniband Band BUI


Conclusion

In this article we have learned how to identify the fault and clear it manually on an Exadata Infiniband Switch. The ILOM commands comes handy for clearing the fault. You can also clear the fault using the Browser User Interface (BUI).
2

In this article we will demonstrate how to update the Power Distribution Unit (PDU) firmware on Exadata Database Machine

You may update the firmware on a PDU if you are running an older version in some cases you need to update the firmware after replacing a hardware component.


Get the current PDU Firmware version

  • Using a web browser login to the PDU using the hostname or IP address
https://dm01sw-pdua01.netsoftmate.com/
 
  • Click on “Module Info”
Under “System Info”, look for “Firmware Version”.
In my case the PDU firmware version is 2.01.



Steps to Upgrade PDU firmware version

  • Login to My Oracle Support and open the MOS note 888828.1

  • Under the MOS note 888828.1 go to the section “Power Distribution Unit (PDU) metering unit”

  • Download the latest PDU patch available. In this case it is 28529456

  • Unzip the patch zip file in a location on your desktop or laptop

  • You will see 2 files after unzipping the patch

  • Using a web browser login to the PDU using the hostname or IP address
https://dm01sw-pdua01.netsoftmate.com/

  • Click on “Net Configuration”

  • Enter the username and password. Default username and password is admin/admin
Note: In some cases, the default password could be admin or adm1n or welcome1

  • Click on “Firmware Update”

  • Click on the Browse button and select the MKAppl_V2.09.DL file that was created after unzipping the patch above

  • Click on the Submit button to update the metering unit firmware

  • We can now see the file is being uploaded

  • After Firmware Update is complete & PDU Restart. Wait for couple of minutes.

  • Click on the Module Info link to verify the firmware updated version and confirm that the firmware updated successfully.

  • Click on Logout

  • Repeat the above steps on second PDU in the Exadata Rack.

Conclusion
In this article we have learned how to update the PDU firmware on an Exadata Database Machine.


4

When creating a new database deployment on Oracle Database Cloud Service, you have option to choose whether you want to configure automatic backup or not. The options are as follows:
  • Both Cloud Storage and Local Storage
30 days worth of backups are kept and the 7 most recent days worth available directly on the compute node’s local storage. 
  • Cloud Storage Only
30 days worth of backups are kept with all backups on cloud storage container.
  • None
No automatic Backup are configured

In this article we will demonstrate how to Create A Database Deployment with Automatic Backup configured using Create Service Wizard.


Prerequisites:
  • Oracle Account
  • Oracle Cloud Subscription
  • SSH Public/Private Key pair
  • Oracle Storage REST Endpoint

Steps to Create a Database Deployment

  • Open a web browser and enter the URL you received in the Welcome email to login to Oracle Cloud Account

  • Enter your username and password

  • Get the REST Endpoint by connecting to Container Classic. This REST Endpoint will be used when creating the Database Deployment.



  • Open the Service Console from the Database Server as show below

  • Click on “Create Service”

  • Fill in all the details and click Next
    • Service Name: Enter the service name, It only accepts hyphen (-) as special character
    • Description (optional): Enter a description on the service
    • Notification Email: To send the update on Instance creation
    • Service level: Oracle Database Cloud Service
    • Metering Frequency: Monthly or Hourly
    • Software Release: 11gR2, 12cR1 or 12cR2
    • Software Edition: Enterprise, standard, Enterprise Edition – Extreme performance or Enterprise Edition – High performance
    • Database Type: Single Instance, Single Instance with Data Guard, RAC, RAC with Data Guard, Hybrid DR
Once the information is filled, Click Next.

  • Fill in all the details 
    • DB Name: This will be your container DB name
    • PDB Name: This will be your pluggable DB name
    • Administrator password: This will be your administrator password for users sys, system, dbaas_monitor and so on
    • Backup and Recovery Configuration: Cloud and Local, Cloud only or None
    • Compute Shape: select the configuration you need for your business
    • SSH Public Key: choose the public key you generated in steps
Once the information is filled, Click Next.

  • Review the Summary and click “Create”

  • At this moment the Service creation is in progress. Click on the Service Name

  • This page shows that the provisioning is in-progress. Click on Oracle Database Cloud Services to go back to the home page

  • The service has been created successfully


  • Up on the completion you will also receive the email that the service is created and is now available for use

  • Connect to the Compute node and verify the database.





Conclusion

In this article we have learned how to create a database deployment and configure automatic backups in Oracle Database Cloud Service.

0

Uncategorized
When the Exadata Database Machine is installed by Oracle ACS, you will see the following default file system created:
  • /
  • /dev/shm
  • /boot
  • /u01
There is a plenty of space available in the volume group and this can be used to increase the existing
file system size or you can create a new file system.


In this article we will demonstrate how to create a new file system (named /u02) on Exadata Compute
node.


  • Connect to the compute node as root user
login as: rootroot@dm01db01’s password:
Last login: Mon Nov 19 13:11:39 2018 from 10.xx.xxx.xxx



  • List the exisint file system on Exadata Compute node
[root@dm01db01 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbSys1
                       59G   38G   19G  67% /
tmpfs                 252G  6.0M  252G   1% /dev/shm
/dev/sda1             480M   63M  393M  14% /boot
/dev/mapper/VGExaDb-LVDbOra1
                      197G   97G   91G  52% /u01



  • Get the free space available in the volume group
[root@dm01db01 ~]# vgdisplay | grep Free
  Free  PE / Size       337428 / 1.29 TiB



 
  • List the physical volumes and logical volumes
[root@dm01db01 ~]# pvs
 PV         VG      Fmt  Attr PSize   PFree
  /dev/sda2  VGExaDb lvm2 a–u 557.36g 202.36g
  /dev/sda3  VGExaDb lvm2 a–u   1.09t   1.09t


[root@dm01db01 ~]# lvs
  LV                 VG      Attr       LSize   Pool Origin   Data%  Meta%  Move Log Cpy%Sync Convert
  LVDbOra1           VGExaDb owi-aos— 200.00g
  LVDbSwap1          VGExaDb -wi-ao—-  24.00g
  LVDbSys1           VGExaDb owi-aos—  60.00g
  LVDbSys2           VGExaDb -wi-a—–  60.00g
  LVDoNotRemoveOrUse VGExaDb -wi-a—–   1.00g
  root_snap          VGExaDb swi-I-s—   5.00g      LVDbSys1 100.00
  u01_snap           VGExaDb swi-I-s—   5.00g      LVDbOra1 100.00



 
  • Create a new logical volume of your desired size. Here we are creating a logical volume of 100GB size
[root@dm01db01 ~]# lvcreate -L100GB -n LVDbOra2 VGExaDb
  Logical volume “LVDbOra2” created.



  • List the logical volumes and ensure our new logical volume is displayed
[root@dm01db01 ~]# lvs
  LV                 VG      Attr       LSize   Pool Origin   Data%  Meta%  Move Log Cpy%Sync Convert
  LVDbOra1           VGExaDb owi-aos— 200.00g
  LVDbOra2           VGExaDb -wi-a—– 100.00g
  LVDbSwap1          VGExaDb -wi-ao—-  24.00g
  LVDbSys1           VGExaDb owi-aos—  60.00g
  LVDbSys2           VGExaDb -wi-a—–  60.00g
  LVDoNotRemoveOrUse VGExaDb -wi-a—–   1.00g
  root_snap          VGExaDb swi-I-s—   5.00g      LVDbSys1 100.00
  u01_snap           VGExaDb swi-I-s—   5.00g      LVDbOra1 100.00

 


  • Now create the new file system as shown below
[root@dm01db01 ~]# mkfs.ext3 -j -L u02 /dev/VGExaDb/LVDbOra2
mke2fs 1.43-WIP (20-Jun-2013)
Filesystem label=u02
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214400 blocks
1310720 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
800 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done



  • Mount the new file system
[root@dm01db01 ~]# mkdir /u02

[root@dm01db01 ~]# mount -t ext3 /dev/VGExaDb/LVDbOra2 /u02
 


  • Verify that the new file system is mounted and accessible
[root@dm01db01 ~]# df -kh
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbSys1
                       59G   38G   19G  67% /
tmpfs                 252G  6.0M  252G   1% /dev/shm
/dev/sda1             480M   63M  393M  14% /boot
/dev/mapper/VGExaDb-LVDbOra1
                      197G   97G   91G  52% /u01
/dev/mapper/VGExaDb-LVDbOra2
                       99G   60M   94G   1% /u02



Conclusion
In this article we have learned how to create a new file system on Exadata Compute node using the free space available in the volume group.


eBook - Oracle Exadata X8M Patching Recipes | Netsoftmate
0

Oracle Transparent Data Encryption (TDE) enables the organizations to encrypt sensitive application data on storage media completely transparent to the application. TDE protects the data at rest. TDE encrypts the data in the datafiles so that in case they are obtained by hacker or theft it will not be possible to access the clear text data. In the databases where TDE is configured any user who has access on an encrypted table will be able to see the data in clear text because Oracle will transparently decrypt the data for any user having the necessary privileges. Oracle TDE is available by default in Oracle RDBMS Enteprise Edition. To be able to use this it is necessary to purchase an Oracle Advanced Security license.


In this article we will demonstrate how to implement TDE on Exadata Database Machine to protect sensitive data. Here we are setting up TDE for multiple database running on the same cluster. However same steps are valid for one single database as well.


Steps to configure or implement TDE


Step 1: Create Directories and Grant File Permissions

# dcli -g ~/dbs_group -l root mkdir -p /etc/oracle/wallets/

#dcli -g ~/dbs_group -l root -s “-q” ‘ls -l /etc/oracle/wallets’

#dcli -g ~/dbs_group -l root ‘cd /etc/oracle/wallets;ls -l’

#dcli -g ~/dbs_group -l root ‘cd /etc;chown -R oracle:oinstall oracle’

#dcli -g ~/dbs_group -l root ‘cd /etc;chmod -R 700 oracle’

#dcli -g ~/dbs_group -l oracle ‘cd /etc/oracle/wallets;mkdir orcldb’

#dcli -g ~/dbs_group -l oracle ‘cd /etc/oracle/wallets;mkdir nsmdb’


Step 2: Set the ENCRYPTION_WALLET_LOCATION parameter in sqlnet.ora to the newly created directory.

– backup the sqlnet.ora file on all the nodes

$ dcli -g ~/dbs_group -l oracle ‘cd /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin;cp sqlnet.ora sqlnet.ora_bkp’

$ dcli -g ~/dbs_group -l oracle ‘cd /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin;ls -l sqlnet.ora*’

– Update the sqlnet.ora on node 1 add the below line to the sqlnet.ora file

$ cd /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin
$ vi sqlnet.ora

ENCRYPTION_WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /etc/oracle/wallets/$ORACLE_UNQNAME/)))


Step 3: Copy sqlnet.ora to all the nodes from node 1

dm01db01-nsmdb1 {/home/oracle}:scp sqlnet.ora oracle@dm01db02:/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/

dm01db01-nsmdb1 {/home/oracle}:dcli -g ~/dbs_group -l oracle ‘cd /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin;ls -l sqlnet.ora’

– Verify the contents of sqlnet.ora on all the nodes:

dm01db01-nsmdb1 {/home/oracle}:dcli -g ~/dbs_group -l oracle ‘cd /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin;cat sqlnet.ora’


Step 4: Initialize the wallet and add the master encryption key using the SQL*Plus command line interface:

 **************************VERY VERY IMPORTANT **************************

AT THE OS PROMPT SET THE ENVIRONMENT VARIABLE export ORACLE_UNQNAME=orcldb

dm01db01-nsmdb1 {/home/oracle}:export ORACLE_UNQNAME=orcldb

dm01db01-nsmdb1 {/home/oracle}: sqlplus / as sysdba

SQL> col WRL_PARAMETER for a60
SQL> set lines 200
SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED

8 rows selected.

SQL> alter system set encryption key identified by “welcom1”;

System altered.

SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED


Step 5: Copy the wallet file ewallet.p12 to all the nodes:

dm01db01-orcldb1 {/home/oracle}:cd /etc/oracle/wallets/orcldb/

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:ls -ltr
total 8
-rw——- 1 oracle oinstall 1837 Feb 22 08:28 ewallet.p12_20130226
-rw-r–r– 1 oracle oinstall 1309 Feb 26 05:14 ewallet.p12

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:scp ewallet.p12 oracle@dm01db02:/etc/oracle/wallets/orcldb/
ewallet.p12                                                 100% 1309     1.3KB/s   00:00


Step 6: verify at the wallet is opened on all the nodes. This is the default behavior after you copy the wallet file to all the nodes

dm01db01-nsmdb1 {/home/oracle}: sqlplus / as sysdba

SQL> col WRL_PARAMETER for a60
SQL> set lines 200
SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN

8 rows selected.


– IF FOR SOME REASON IF THE WALLET IS NOT OPENED, FOLLOW THE BELOW STEPS

A) set the variable
export ORACLE_UNQNAME=orcldb

B) login to the database
sqlplus / as sysdba

c) open the wallet
ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY “welcome1”;

D) Repeat the A,B and C for all the instances in the cluster.


Step 7: Whenever you bounce the database you must open the wallet manually as follows:

dm01db02-orcldb2 {/home/oracle}:srvctl stop database -d orcldb
dm01db01-orcldb1 {/home/oracle}:srvctl start database -d orcldb

dm01db01-orcldb1 {/home/oracle}:export ORACLE_UNQNAME=orcldb
dm01db01-orcldb1 {/home/oracle}:sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 26 05:23:02 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> select name,open_mode,database_role from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE
——— ——————– —————-
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY
orcldb   READ WRITE           PRIMARY

8 rows selected.

SQL> col WRL_PARAMETER for a60
SQL> set lines 200
SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         CLOSED

8 rows selected.


SQL> ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY “welcome1”;

System altered.

SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN

8 rows selected.


Step 8:  Making the wallet Auto-Login. If you have a auto-login wallet you don’t need to open the wallet after a database bounce. This is done automatic for you.

dm01db01-orcldb1 {/home/oracle} export ORACLE_UNQNAME=orcldb
   
dm01db01-orcldb1 {/home/oracle}:ls -l /etc/oracle/wallets/$ORACLE_UNQNAME
total 8
-rw-r–r– 1 oracle oinstall 1309 Feb 26 05:14 ewallet.p12

dm01db01-orcldb1 {/home/oracle}:orapki wallet create -wallet /etc/oracle/wallets/$ORACLE_UNQNAME -auto_login
Oracle PKI Tool : Version 11.2.0.4.0 – Production
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:

dm01db01-orcldb1 {/home/oracle}:ls -l /etc/oracle/wallets/$ORACLE_UNQNAME
total 12
-rw——- 1 oracle oinstall 1387 Feb 26 05:26 cwallet.sso
-rw-r–r– 1 oracle oinstall 1309 Feb 26 05:14 ewallet.p12

dm01db01-orcldb1 {/home/oracle}:cd /etc/oracle/wallets/orcldb/
dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:ls -ltr
total 12
-rw-r–r– 1 oracle oinstall 1309 Feb 26 05:14 ewallet.p12
-rw——- 1 oracle oinstall 1387 Feb 26 05:26 cwallet.sso

– Copy the cwallet.sso to all the nodes:

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:scp cwallet.sso oracle@dm01db02:/etc/oracle/wallets/orcldb/

cwallet.sso                                  100% 1387     1.4KB/s   00:00

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 26 05:28:26 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> col WRL_PARAMETER for a60
SQL> set lines 200
SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN

8 rows selected.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

– Verify that the wallet is opened following a database bounce:

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:srvctl stop database -d orcldb

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:srvctl start database -d orcldb

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:srvctl status database -d orcldb
Instance orcldb1 is running on node dm01db01
Instance orcldb2 is running on node dm01db02
Instance orcldb3 is running on node dm01db03
Instance orcldb4 is running on node dm01db04
Instance orcldb5 is running on node dm01db05
Instance orcldb6 is running on node dm01db06
Instance orcldb7 is running on node dm01db07
Instance orcldb8 is running on node dm01db08

dm01db01-orcldb1 {/etc/oracle/wallets/orcldb}:sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Feb 26 05:32:19 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> col WRL_PARAMETER for a60
SQL> set lines 200
SQL> select * from gv$encryption_wallet order by 1;

   INST_ID WRL_TYPE             WRL_PARAMETER                                                STATUS
———- ——————– ———————————————————— ——————
         1 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         2 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         3 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         4 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         5 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         6 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         7 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN
         8 file                 /etc/oracle/wallets/$ORACLE_UNQNAME/                         OPEN

8 rows selected.


############ REAPEAT THE SAME STEPS FOR ALL THE DATABASES #############


Testing Tablespace Encryption (TSE)

Step 1: Create an Encrypted tablespace and grant the users permissions on the tablespace

SQL> CREATE TABLESPACE enc_tbs DATAFILE ‘+DATA’ SIZE 1000M ENCRYPTION USING ‘AES256’ DEFAULT STORAGE(ENCRYPT);

Tablespace created.

SQL> select TABLESPACE_NAME, ENCRYPTED from dba_tablespaces where tablespace_name in (‘USERS’,’ENC_TBS’) order by 1;

TABLESPACE_NAME                ENC
—————————— —
ENC_TBS                        YES
USERS                          NO


SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files where TABLESPACE_NAME in (‘USERS’,’ENC_TBS’);

TABLESPACE_NAME FILE_NAME
—————————— ——————————
USERS +DATA/nsmdb/datafile/users.529.762113429
ENC_TBS +DATA/nsmdb/datafile/enc_tbs.540.804301513


SQL> alter user test quota unlimited on  ENC_TBS;

User altered.

SQL> alter user test quota unlimited on  USERS;

User altered.


Step 2: Create tables in encypted and non-encrypted tablespaces

SQL> create table test.nonenc(data varchar2(100)) tablespace users;

Table created.

SQL> insert into test.nonenc values (‘ABCDEFGHIJKLMNOPQRSTUVWZYZ’);

1 row created.

SQL> commit;

Commit complete.


SQL> create table test.encrypted(data varchar2(100)) tablespace enc_tbs;

Table created.

SQL> insert into test.encrypted values (‘ABCDEFGHIJKLMNOPQRSTUVWZYZ’);

1 row created.

SQL> commit;

Commit complete.

SQL> alter system checkpoint;

System altered.


Step 3: Verify that the data is encrypted

dm01db01-nsmdb1 {/u01/dba}:asm

dm01db01-+ASM1 {/u01/dba}:asmcmd -p
ASMCMD [+] > cd +DATA/NSMDB/DATA*
ASMCMD [+DATA/NSMDB/DATAFILE] > ls -l

ASMCMD [+DATA/NSMDB/DATAFILE] > cp USERS.529.762113429 /u01/dba/
copying +DATA/NSMDB/DATAFILE/USERS.529.762113429 -> /u01/dba//USERS.529.762113429

ASMCMD [+DATA/NSMDB/DATAFILE] > cp ENC_TBS.540.804301513 /u01/dba/
copying +DATA/NSMDB/DATAFILE/ENC_TBS.540.804301513 -> /u01/dba//ENC_TBS.540.804301513

dm01db01-+ASM1 {/u01/dba}:ls -ltr
-rw-r—– 1 oracle oinstall  703602688 Jan 10 01:30 USERS.529.762113429
-rw-r—– 1 oracle oinstall 1048584192 Jan 10 01:31 ENC_TBS.540.804301513


dm01db01-nsmdb1 {/u01/dba}:strings /u01/dba/USERS.529.762113429 | grep ABCD
89:;<=>?@ABCDEFGHIJKLMNOPQR|STUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWZYZ

dm01db01-nsmdb1 {/u01/dba}:strings /u01/dba/ENC_TBS.540.804301513 | grep ABCD

– From the above 2 string commands it is clear that the tablespace encryption is indeed working for us.


Conclusion

In this article we have learned how to encrypt sensitive data using Transparent Data Encryption (TDE). TDE protects the data at rest. In the databases where TDE is configured any user who has access on an encrypted table will be able to see the data in clear text because Oracle will transparently decrypt the data for any user having the necessary privileges.

0

In this article we will demonstrate how to flashback a database and recover the truncated table without loosing data. 

In other words we will be performing the following steps to recover a truncated table:

  • Simulate table truncate
  • Make note of the table truncate time
  • Flashback the database before truncate, 
  • Open the database in read only
  • Export the table using traditional export utility
  • Shutdown the database
  • Open the database with reset logs option
  • Import the table data
  • Verify the table data


Prerequisites

  • Database must in using Fast Recovery Area
  • Database must have flashback set to ON


Steps to perform flashback a database to recover the truncated table without loosing data:


Step 1: Connect to the database and make a note of the current time

SQL> alter session set nls_date_format=’dd/mm/yy hh24:mi:ss’;

Session altered.

SQL> set lines 200
SQL> select * from v$instance;

INSTANCE_NUMBER INSTANCE_NAME    HOST_NAME                                                        VERSION           STARTUP_TIME      STATUS          PARALLEL
————— —————- —————————————————————- —————– —————– ———————————————— ————
   THREAD# ARCHIVER                     LOG_SWITCH_WAIT                                              LOGINS                                   SHUTDOWN_PEN
———- —————————- ———————————————————— —————————————- ————
DATABASE_STATUS                                                      INSTANCE_ROLE                                                            ACTIVE_STATE                         BLOCKED
——————————————————————– ———————————————————————— ———————————— ————
              1 orcldb1         racnode1                                                          11.2.0.4.0        30/11/17 07:33:10 OPEN            NO
         1 STARTED                                                                                   ALLOWED                                  NO
ACTIVE                                                               PRIMARY_INSTANCE                                                         NORMAL                               NO


SQL> select sysdate from dual;

SYSDATE
—————–
30/11/17 07:34:30


Step 2: Identify a table for testing

SQL> create table SCOTT.SALES as select * from SCOTT.WAIVER;

Table created.

SQL> select sysdate from dual;

SYSDATE
—————–
30/11/17 07:35:07

SQL> select count(*) from SCOTT.SALES;

  COUNT(*)
———-
     35268


Step 3: Truncate the table

SQL> select sysdate from dual;

SYSDATE
—————–
30/11/17 07:36:20

SQL> truncate table SCOTT.SALES;

Table truncated.

SQL> select count(*) from SCOTT.SALES;

  COUNT(*)
———-
         0


Step 4: Shutdown the database and start it in mount state

racnode1-orcldb1 {/home/oracle}: srvctl status database -d orcldb
Instance orcldb1 is running on node racnode1
Instance orcldb2 is running on node racnode2

racnode1-orcldb1 {/home/oracle}: srvctl stop database -d orcldb

racnode1-orcldb1 {/home/oracle}: srvctl status database -d orcldb
Instance orcldb1 is not running on node racnode1
Instance orcldb2 is not running on node racnode2

SQL> startup mount;
ORACLE instance started.

Total System Global Area 3140026368 bytes
Fixed Size                  2163800 bytes
Variable Size            1996491688 bytes
Database Buffers         1107296256 bytes
Redo Buffers               34074624 bytes
Database mounted.


Step 5: Flashback database as shown below

SQL> alter session set nls_date_format=’dd/mm/yy hh24:mi:ss’;

Session altered.

SQL> flashback database to timestamp to_date(’11/30/17 07:36:00′,’mm/dd/yy hh24:mi:ss’);

Flashback complete.

>>>>>>>>….. alert log ……..>>>>>>>>>>>>>>>>>

flashback database to timestamp to_date(’11/30/17 07:36:00′,’mm/dd/yy hh24:mi:ss’)
Flashback Restore Start
Flashback Restore Complete
Flashback Media Recovery Start
Fast Parallel Media Recovery enabled
 parallel recovery started with 3 processes
Recovery of Online Redo Log: Thread 1 Group 3 Seq 393 Reading mem 0
  Mem# 0: /oradata1/orcldb/redo_t01_g03.log
Incomplete Recovery applied until change 711150562 time 11/30/2012 07:36:01
Flashback Media Recovery Complete
Completed: flashback database to timestamp to_date(’11/30/17 07:36:00′,’mm/dd/yy hh24:mi:ss’)

>>>>>>>>>>>>>>>>…….>>>>>>>>>>>>


Step 6: Open the database in read only mode and verify the table

SQL> alter database open read only;

Database altered.

SQL> select name,open_mode,database_role from v$database;

NAME      OPEN_MODE                                DATABASE_ROLE
——— —————————————- —————————————————————-
orcldb   READ ONLY                                PRIMARY

SQL> select count(*) from SCOTT.SALES;

  COUNT(*)
———-
     35268


Step 7: Perform table export using traditional export utility

racnode1-orcldb1 {/oradata1}: exp system file=test.dmp log=test.log tables=SCOTT.SALES compress=y

Export: Release 11.2.0.4.0 – Production on Fri Nov 30 07:56:59 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Password:


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set

About to export specified tables via Conventional Path …
Current user changed to SCOTT
. . exporting table                    SALES      35268 rows exported
Export terminated successfully without warnings.

>>>>>>>>>>>>>>>>…….EXPORT END>>>>>>>>>>>>>>>>>>>>>>>


Step 8: Shutdown the database, recover database and open using resetlogs option

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 3140026368 bytes
Fixed Size                  2163800 bytes
Variable Size            1979714472 bytes
Database Buffers         1124073472 bytes
Redo Buffers               34074624 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL> recover database;
Media recovery complete.

SQL> alter database open;

Database altered.


Step 9: Verify the database

SQL> select name,open_mode,database_role from v$database;

NAME      OPEN_MODE                                DATABASE_ROLE
——— —————————————- —————————————————————-
orcldb   READ WRITE                               PRIMARY


Step 10: Import the table data using import utility

SQL> select count(*) from SCOTT.SALES;

  COUNT(*)
———-
         0

racnode1-orcldb1 {/oradata1}: imp system file=test.dmp log=imp_test.log tables=SALES fromuser=SCOTT touser=SCOTT ignore=y

Import: Release 11.2.0.4.0 – Production on Fri Nov 30 08:02:05 2012

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

Password:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

Export file created by EXPORT:V11.01.00 via conventional path
import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
. importing SCOTT’s objects into SCOTT
. . importing table                  “SALES”      35268 rows imported
Import terminated successfully without warnings.

>>>>>>>>>>>>. IMPORT END ….>>>>>>>>>>>>>>>>>>>.


Step 11: Verify the table data

SQL> select count(*) from SCOTT.SALES;

  COUNT(*)
———-
     35268


Conclusion

In this article we have learned how to recover a truncated table using flashback database technology without loosing the database. Using flashback database is one of the fastest and easiet method to as it doesn’t require database restore from backup.

1

Exadata Database machine consists of 3 ASM Disk Groups:
+DATA for Database Files
+RECO for Online Redo log and Archive log files
+DBFS_DG for Cluster configuration files such as OCR and Voting disks

In a Customized environment Customers can choose to have more than 3 Disk Groups. But it is recommended to have 3 Disk Groups. The DATA and RECO disk groups can be sized 80%-20% or 40%-60% respectively of over all storage capacity. Sometimes it is possible that +DATA disk group can be filled very fast if you have several databases.

In this article we will demostrate how to move a Database from +DATA disk group to +RECO disk group.


Steps to move a database from +DATA to +RECO ASM Disk Group:


Step 1: Get the ASM Disk Information

SQL> select state,name from v$asm_diskgroup;

STATE       NAME
———– ——————————
MOUNTED     RECO
MOUNTED     DBFS_DG
MOUNTED     DATA


Step 2: Get the Database files details

SQL> select name, open_mode,database_role from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE
——— ——————– —————-
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY

SQL> select name from v$controlfile;

NAME
——————————————————————————–
+DATA/dbm01/controlfile/current.256.976374731

SQL> select name from v$datafile;

NAME
——————————————————————————–
+DATA/dbm01/datafile/system.259.976374739
+DATA/dbm01/datafile/sysaux.260.976374743
+DATA/dbm01/datafile/undotbs1.261.976374745
+DATA/dbm01/datafile/undotbs2.263.976374753
+DATA/dbm01/datafile/undotbs3.264.976374755
+DATA/dbm01/datafile/undotbs4.265.976374757
+DATA/dbm01/datafile/users.266.976374757

7 rows selected.

SQL> select name from v$tempfile;

NAME
——————————————————————————–
+DATAC1/dbm01/tempfile/temp.262.976375229

SQL>

SQL> select member from v$logfile;

MEMBER
——————————————————————————–
+DATA/dbm01/onlinelog/group_1.257.976374733
+DATA/dbm01/onlinelog/group_2.258.976374735
+DATA/dbm01/onlinelog/group_7.267.976375073
+DATA/dbm01/onlinelog/group_8.268.976375075
+DATA/dbm01/onlinelog/group_5.269.976375079
+DATA/dbm01/onlinelog/group_6.270.976375083
+DATA/dbm01/onlinelog/group_3.271.976375085
+DATA/dbm01/onlinelog/group_4.272.976375087
+DATA/dbm01/onlinelog/group_9.274.976375205
+DATA/dbm01/onlinelog/group_10.275.976375209
+DATA/dbm01/onlinelog/group_11.276.976375211
+DATA/dbm01/onlinelog/group_12.277.976375215
+DATA/dbm01/onlinelog/group_13.278.976375217
+DATA/dbm01/onlinelog/group_14.279.976375219
+DATA/dbm01/onlinelog/group_15.280.976375223
+DATA/dbm01/onlinelog/group_16.281.976375225

16 rows selected.

SQL> select filename from v$block_change_tracking;

FILENAME
——————————————————————–
+DATA/dbm01/changetracking/ctf.282.976375227


Step 3: Backup Database using RMAN copy command as shown below. Here we are moving database to +RECO ASM Disk Group.

RMAN> run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
allocate channel c5 device type disk;
allocate channel c6 device type disk;
allocate channel c7 device type disk;
allocate channel c8 device type disk;
backup as copy database include current controlfile format ‘+RECO’;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
release channel c7;
release channel c8;
}

released channel: ORA_DISK_1
allocated channel: c1
channel c1: SID=1189 instance=dbm011 device type=DISK

allocated channel: c2
channel c2: SID=1321 instance=dbm011 device type=DISK

allocated channel: c3
channel c3: SID=1343 instance=dbm011 device type=DISK

allocated channel: c4
channel c4: SID=1387 instance=dbm011 device type=DISK

allocated channel: c5
channel c5: SID=1497 instance=dbm011 device type=DISK

allocated channel: c6
channel c6: SID=1519 instance=dbm011 device type=DISK

allocated channel: c7
channel c7: SID=1541 instance=dbm011 device type=DISK

allocated channel: c8
channel c8: SID=1563 instance=dbm011 device type=DISK

Starting backup at 26-MAY-18
channel c1: starting datafile copy
input datafile file number=00001 name=+DATA/dbm01/datafile/system.259.976374739
channel c2: starting datafile copy
input datafile file number=00002 name=+DATA/dbm01/datafile/sysaux.260.976374743
channel c3: starting datafile copy
input datafile file number=00003 name=+DATA/dbm01/datafile/undotbs1.261.976374745
channel c4: starting datafile copy
input datafile file number=00004 name=+DATA/dbm01/datafile/undotbs2.263.976374753
channel c5: starting datafile copy
input datafile file number=00005 name=+DATA/dbm01/datafile/undotbs3.264.976374755
channel c6: starting datafile copy
input datafile file number=00006 name=+DATA/dbm01/datafile/undotbs4.265.976374757
channel c7: starting datafile copy
input datafile file number=00007 name=+DATA/dbm01/datafile/users.266.976374757
channel c8: starting datafile copy
copying current control file
output file name=+RECO/dbm01/datafile/users.284.977121353 tag=TAG20180526T063551 RECID=16 STAMP=977121353
channel c7: datafile copy complete, elapsed time: 00:00:02
output file name=+RECO/dbm01/controlfile/backup.283.977121353 tag=TAG20180526T063551 RECID=17 STAMP=977121353
channel c8: datafile copy complete, elapsed time: 00:00:01
output file name=+RECO/dbm01/datafile/system.291.977121353 tag=TAG20180526T063551 RECID=18 STAMP=977121389
channel c1: datafile copy complete, elapsed time: 00:00:46
output file name=+RECO/dbm01/datafile/sysaux.290.977121353 tag=TAG20180526T063551 RECID=23 STAMP=977121392
channel c2: datafile copy complete, elapsed time: 00:00:46
output file name=+RECO/dbm01/datafile/undotbs1.289.977121353 tag=TAG20180526T063551 RECID=21 STAMP=977121392
channel c3: datafile copy complete, elapsed time: 00:00:46
output file name=+RECO/dbm01/datafile/undotbs2.288.977121353 tag=TAG20180526T063551 RECID=19 STAMP=977121392
channel c4: datafile copy complete, elapsed time: 00:00:46
output file name=+RECO/dbm01/datafile/undotbs3.287.977121353 tag=TAG20180526T063551 RECID=20 STAMP=977121392
channel c5: datafile copy complete, elapsed time: 00:00:46
output file name=+RECO/dbm01/datafile/undotbs4.286.977121353 tag=TAG20180526T063551 RECID=22 STAMP=977121392
channel c6: datafile copy complete, elapsed time: 00:00:46
Finished backup at 26-MAY-18

Starting Control File and SPFILE Autobackup at 26-MAY-18
piece handle=+RECO/dbm01/autobackup/2018_05_26/s_977121397.282.977121399 comment=NONE
Finished Control File and SPFILE Autobackup at 26-MAY-18

released channel: c1

released channel: c2

released channel: c3

released channel: c4

released channel: c5

released channel: c6

released channel: c7

released channel: c8


Step 4: Verify the RMAN Database Copy using RMAN

RMAN> list copy of database;

List of Datafile Copies
=======================

Key     File S Completion Time Ckp SCN    Ckp Time
——- —- – ————— ———- —————
18      1    A 26-MAY-18       1330853    26-MAY-18
        Name: +RECO/dbm01/datafile/system.291.977121353
        Tag: TAG20180526T063551

9       1    A 26-MAY-18       1330410    26-MAY-18
        Name: +RECO/dbm01/datafile/system.286.977120961
        Tag: TAG20180526T062919

3       1    A 26-MAY-18       1330155    26-MAY-18
        Name: +RECO/dbm01/datafile/system.280.977120795
        Tag: TAG20180526T062633

23      2    A 26-MAY-18       1330856    26-MAY-18
        Name: +RECO/dbm01/datafile/sysaux.290.977121353
        Tag: TAG20180526T063551

12      2    A 26-MAY-18       1330413    26-MAY-18
        Name: +RECO/dbm01/datafile/sysaux.287.977120961
        Tag: TAG20180526T062919

2       2    A 26-MAY-18       1330158    26-MAY-18
        Name: +RECO/dbm01/datafile/sysaux.281.977120795
        Tag: TAG20180526T062633

21      3    A 26-MAY-18       1330859    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs1.289.977121353
        Tag: TAG20180526T063551

11      3    A 26-MAY-18       1330416    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs1.288.977120961
        Tag: TAG20180526T062919

4       3    A 26-MAY-18       1330154    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs1.279.977120795
        Tag: TAG20180526T062633

19      4    A 26-MAY-18       1330862    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs2.288.977121353
        Tag: TAG20180526T063551

10      4    A 26-MAY-18       1330419    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs2.289.977120961
        Tag: TAG20180526T062919

1       4    A 26-MAY-18       1330153    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs2.278.977120795
        Tag: TAG20180526T062633

20      5    A 26-MAY-18       1330865    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs3.287.977121353
        Tag: TAG20180526T063551

13      5    A 26-MAY-18       1330422    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs3.290.977120961
        Tag: TAG20180526T062919

7       5    A 26-MAY-18       1330184    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs3.282.977120829
        Tag: TAG20180526T062633

22      6    A 26-MAY-18       1330868    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs4.286.977121353
        Tag: TAG20180526T063551

15      6    A 26-MAY-18       1330425    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs4.291.977120961
        Tag: TAG20180526T062919

6       6    A 26-MAY-18       1330187    26-MAY-18
        Name: +RECO/dbm01/datafile/undotbs4.283.977120829
        Tag: TAG20180526T062633

16      7    A 26-MAY-18       1330871    26-MAY-18
        Name: +RECO/dbm01/datafile/users.284.977121353
        Tag: TAG20180526T063551

8       7    A 26-MAY-18       1330428    26-MAY-18
        Name: +RECO/dbm01/datafile/users.292.977120961
        Tag: TAG20180526T062919

5       7    A 26-MAY-18       1330190    26-MAY-18
        Name: +RECO/dbm01/datafile/users.284.977120829
        Tag: TAG20180526T062633

RMAN> list copy of controlfile;

List of Control File Copies
===========================

Key     S Completion Time Ckp SCN    Ckp Time
——- – ————— ———- —————
17      A 26-MAY-18       1330876    26-MAY-18
        Name: +RECO/dbm01/controlfile/backup.283.977121353
        Tag: TAG20180526T063551

14      A 26-MAY-18       1330434    26-MAY-18
        Name: +RECO/dbm01/controlfile/backup.293.977120965
        Tag: TAG20180526T062919


Step 5: Verify the RMAN Database Copy backup in ASM

[oracle@dm01db01 ~]$ asmcmd -p
ASMCMD [+] > lsdg
State    Type    Rebal  Sector  Block       AU   Total_MB    Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  HIGH    N         512   4096  4194304  272154624  271558968          6479872        88359698              0             N  DATA/
MOUNTED  HIGH    N         512   4096  4194304    2404640    2402468            68704          777921              0             Y  DBFS_DG/
MOUNTED  NORMAL  N         512   4096  4194304   45389568   45183784           540352        22321716              0             N  RECO/

ASMCMD [+] > cd +RECO

ASMCMD [+RECO] > ls -l
Type  Redund  Striped  Time             Sys  Name
                                        Y    DBM01/
ASMCMD [+RECO] > cd DBM01
ASMCMD [+RECO/DBM01] > ls -l
Type         Redund  Striped  Time             Sys  Name
                                               Y    ARCHIVELOG/
                                               Y    AUTOBACKUP/
                                               Y    CONTROLFILE/
                                               Y    DATAFILE/
                                               N    snapcf_dbm01.f => +RECO/DBM01/CONTROLFILE/Backup.285.977120961
ASMCMD [+RECO/DBM01] > ls -l DATAFILE/
Type      Redund  Striped  Time             Sys  Name
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    SYSAUX.290.977121353
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    SYSTEM.291.977121353
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    UNDOTBS1.289.977121353
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    UNDOTBS2.288.977121353
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    UNDOTBS3.287.977121353
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    UNDOTBS4.286.977121353
DATAFILE  MIRROR  COARSE   MAY 26 06:00:00  Y    USERS.284.977121353
ASMCMD [+RECO/DBM01] > ls -l CONTROLFILE/
Type         Redund  Striped  Time             Sys  Name
CONTROLFILE  HIGH    FINE     MAY 26 06:00:00  Y    Backup.283.977121353
CONTROLFILE  HIGH    FINE     MAY 26 06:00:00  Y    Backup.285.977120961
CONTROLFILE  HIGH    FINE     MAY 26 06:00:00  Y    Backup.293.977120965

Step 6: Switch Database to RMAN backup copy. This command will switch the database from +DATA to +RECO ASM Disk Group.

[oracle@dm01db01 ~]$ srvctl stop database -d dbm01

[oracle@dm01db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat May 26 07:22:06 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 2.5655E+10 bytes
Fixed Size                  2265224 bytes
Variable Size            4160753528 bytes
Database Buffers         2.1341E+10 bytes
Redo Buffers              151113728 bytes
Database mounted.

[oracle@dm01db01 ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 – Production on Sat May 26 07:23:09 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: DBM01 (DBID=1180720008, not open)

RMAN> switch database to copy;

using target database control file instead of recovery catalog
datafile 1 switched to datafile copy “+RECO/dbm01/datafile/system.291.977121353”
datafile 2 switched to datafile copy “+RECO/dbm01/datafile/sysaux.290.977121353”
datafile 3 switched to datafile copy “+RECO/dbm01/datafile/undotbs1.289.977121353”
datafile 4 switched to datafile copy “+RECO/dbm01/datafile/undotbs2.288.977121353”
datafile 5 switched to datafile copy “+RECO/dbm01/datafile/undotbs3.287.977121353”
datafile 6 switched to datafile copy “+RECO/dbm01/datafile/undotbs4.286.977121353”
datafile 7 switched to datafile copy “+RECO/dbm01/datafile/users.284.977121353”

RMAN> recover database;

Starting recover at 26-MAY-18
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=991 instance=dbm011 device type=DISK

starting media recovery
media recovery complete, elapsed time: 00:00:02

Finished recover at 26-MAY-18

RMAN> alter database open resetlogs;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 05/26/2018 07:25:06
ORA-01139: RESETLOGS option only valid after an incomplete database recovery

RMAN> alter database open;

database opened

[oracle@dm01db01 ~]$ srvctl stop database -d dbm01

[oracle@dm01db01 ~]$ srvctl start database -d dbm01

[oracle@dm01db01 ~]$ srvctl status database -d dbm01
Instance dbm011 is running on node dm01db01
Instance dbm012 is running on node dm01db02
Instance dbm013 is running on node dm01db03
Instance dbm014 is running on node dm01db04

[oracle@dm01db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat May 26 07:28:11 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> select name, open_mode,database_role from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE
——— ——————– —————-
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY


Step 7: Move Temp and online redo log files

SQL> alter database tempfile ‘+DATAC1/dbm01/tempfile/temp.262.976375229’ drop;

Database altered.

SQL> alter tablespace TEMP add tempfile ‘+RECO’ SIZE 1024M;

Tablespace altered.

SQL> alter database add logfile member ‘+RECO’ to group 1;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 2;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 3;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 4;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 5;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 6;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 7;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 8;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 9;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 10;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 11;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 12;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 13;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 14;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 15;

Database altered.

SQL> alter database add logfile member ‘+RECO’ to group 16;

Database altered.

SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_1.257.976374733’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_2.258.976374735’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_7.267.976375073’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_8.268.976375075’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_5.269.976375079’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_6.270.976375083’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_3.271.976375085’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_4.272.976375087’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_9.274.976375205’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_10.275.976375209’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_11.276.976375211’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_12.277.976375215’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_13.278.976375217’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_14.279.976375219’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_15.280.976375223’;
SQL> alter database drop logfile member ‘+DATA/dbm01/onlinelog/group_16.281.976375225’;


Step 8: Move control file to +RECO Disk Group

[oracle@dm01db01 ~]$ srvctl stop database -d dbm01
[oracle@dm01db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat May 26 08:53:35 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 2.5655E+10 bytes
Fixed Size                  2265224 bytes
Variable Size            4429188984 bytes
Database Buffers         2.1072E+10 bytes
Redo Buffers              151113728 bytes
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
[oracle@dm01db01 ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 – Production on Sat May 26 08:53:59 2018

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: DBM01 (not mounted)

RMAN> restore controlfile to ‘+RECO’ from ‘+DATA/dbm01/controlfile/current.256.976374731’;

Starting restore at 26-MAY-18
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=969 instance=dbm011 device type=DISK

channel ORA_DISK_1: copied control file copy
Finished restore at 26-MAY-18

RMAN> exit

Recovery Manager complete.

[oracle@dm01db01 ~]$ . oraenv
ORACLE_SID = [dbm011] ? +ASM1
The Oracle base remains unchanged with value /u01/app/oracle

[oracle@dm01db01 ~]$ asmcmd -p

ASMCMD [+] > cd +RECO

ASMCMD [+RECO] > ls -l
Type  Redund  Striped  Time             Sys  Name
                                        Y    DBM01/
ASMCMD [+RECO] > cd DBM01
ASMCMD [+RECO/DBM01] > ls -l
Type         Redund  Striped  Time             Sys  Name
                                               Y    ARCHIVELOG/
                                               Y    AUTOBACKUP/
                                               Y    CHANGETRACKING/
                                               Y    CONTROLFILE/
                                               Y    DATAFILE/
                                               Y    ONLINELOG/
                                               Y    TEMPFILE/
                                               N    snapcf_dbm01.f => +RECO/DBM01/CONTROLFILE/Backup.285.977120961
ASMCMD [+RECO/DBM01] > cd CONTROLFILE/

ASMCMD [+RECO/DBM01/CONTROLFILE] > ls -l
Type         Redund  Striped  Time             Sys  Name
CONTROLFILE  HIGH    FINE     MAY 26 06:00:00  Y    Backup.283.977121353
CONTROLFILE  HIGH    FINE     MAY 26 08:00:00  Y    Backup.285.977120961
CONTROLFILE  HIGH    FINE     MAY 26 06:00:00  Y    Backup.293.977120965
CONTROLFILE  HIGH    FINE     MAY 26 08:00:00  Y    Backup.321.977128799
CONTROLFILE  HIGH    FINE     MAY 26 08:00:00  Y    current.331.977129649

ASMCMD [+RECO/DBM01/CONTROLFILE] > pwd
+RECO/DBM01/CONTROLFILE

ASMCMD [+RECO/DBM01/CONTROLFILE] > exit

[oracle@dm01db01 ~]$ . oraenv
ORACLE_SID = [+ASM1] ? dbm011
The Oracle base remains unchanged with value /u01/app/oracle

[oracle@dm01db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat May 26 08:55:09 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> alter system set control_files=’+RECO/DBM01/CONTROLFILE/current.331.977129649′ scope=spfile sid=’*’;

System altered.

SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> exit

[oracle@dm01db01 ~]$ srvctl start database -d dbm01

[oracle@dm01db01 ~]$ srvctl status database -d dbm01
Instance dbm011 is running on node dm01db01
Instance dbm012 is running on node dm01db02
Instance dbm013 is running on node dm01db03
Instance dbm014 is running on node dm01db04


Step 9: Move block change tracking file to +RECO Disk Group

SQL> select filename from v$block_change_tracking;

FILENAME
——————————————————————–
+DATA/dbm01/changetracking/ctf.282.976375227

SQL> alter database disable block change tracking;

Database altered.

SQL> alter database enable block change tracking using file ‘+RECO’;

Database altered.

SQL> select filename from v$block_change_tracking;

FILENAME
——————————————————————–
+RECO/dbm01/changetracking/ctf.319.977128195


Step 10: Move Flash Recovery Area to +RECO Disk Group

SQL> show parameter recover

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_recovery_file_dest                string      +DATA

SQL> alter system set db_recovery_file_dest=’+RECO’;

System altered.

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_recovery_file_dest                string      +RECO


Step 11: Update OMF parameter to point to +RECO

SQL> show parameter online

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_create_online_log_dest_1          string      +DATA

SQL> alter system set db_create_online_log_dest_1=’+RECO’;

System altered.

SQL> show parameter db_create_online_log_dest_1

NAME                                 TYPE        VALUE
———————————— ———– ——————————
db_create_online_log_dest_1          string      +RECO


Step 12: Verify the entire database is moved to +RECO ASM Disk Group

[oracle@dm01db01 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat May 26 08:57:57 2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> select name, open_mode,database_role from gv$database;

NAME      OPEN_MODE            DATABASE_ROLE
——— ——————– —————-
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY
DBM01     READ WRITE           PRIMARY

SQL> set lines 200
SQL> set pages 200
SQL> select name from v$tempfile;

NAME
——————————————————-
+RECO/dbm01/tempfile/temp.297.977125145

SQL> select name from v$controlfile;

NAME
——————————————————-
+RECO/dbm01/controlfile/current.331.977129649

SQL> select name from v$datafile;

NAME
——————————————————–
+RECO/dbm01/datafile/system.291.977121353
+RECO/dbm01/datafile/sysaux.290.977121353
+RECO/dbm01/datafile/undotbs1.289.977121353
+RECO/dbm01/datafile/undotbs2.288.977121353
+RECO/dbm01/datafile/undotbs3.287.977121353
+RECO/dbm01/datafile/undotbs4.286.977121353
+RECO/dbm01/datafile/users.284.977121353

7 rows selected.

SQL> select member from v$logfile;

MEMBER
———————————————————
+RECO/dbm01/onlinelog/group_1.298.977127719
+RECO/dbm01/onlinelog/group_2.299.977125295
+RECO/dbm01/onlinelog/group_3.300.977125299
+RECO/dbm01/onlinelog/group_4.301.977125309
+RECO/dbm01/onlinelog/group_5.302.977125313
+RECO/dbm01/onlinelog/group_6.303.977125317
+RECO/dbm01/onlinelog/group_7.304.977125321
+RECO/dbm01/onlinelog/group_8.305.977125327
+RECO/dbm01/onlinelog/group_9.306.977125329
+RECO/dbm01/onlinelog/group_10.307.977125333
+RECO/dbm01/onlinelog/group_11.308.977125335
+RECO/dbm01/onlinelog/group_12.309.977125339
+RECO/dbm01/onlinelog/group_13.310.977125343
+RECO/dbm01/onlinelog/group_14.311.977125345
+RECO/dbm01/onlinelog/group_15.312.977125349
+RECO/dbm01/onlinelog/group_16.313.977125351

16 rows selected.


Conclusion

In this article we have learned how to move a Database from +DATA ASM Disk Group to +RECO Disk Group. Using RMAN along with FRA makes it easy to move a database from one location to another. 

0

Exadata Database Machine consists of a storage grid, compute grid, and network grid. Each grid, or hardware layer, is built with multiple high-performing, industry-standard Oracle servers to provide hardware and system fault tolerance. The hardware components are subjected to failure. Most common failure on Exadata is Hard Disk failure on Storage Cells. With the latest generation of Exadata the hardware failures are very minimal and less troublesome. 

The Exadata Storage Cells and Compute nodes consists of several hardware components, such as:

  • Hard disk
  • Flash disk 
  • Physical Memory
  • Processor  
  • IB ports
  • Mother Board
  • Batteries
  • Power Supply
  • and So on



In this article we will demonstrate how to view the hardware fault and clear it using ILOM fault manager (faultmgmt).


Steps to display and clear hardware fault using faultmgmt:


Step 1: Login to compute node ILOM where the fault occurred

[root@dm01db01 ~]# ssh dm01db02-ilom
Password:

Oracle(R) Integrated Lights Out Manager

Version 4.0.0.24 r121523

Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.

Warning: HTTPS certificate is set to factory default.

Hostname: dm01db02-ilom

Step 2: Check if the fault manager is supported. If you get the output like below then fault manager is supported.

-> show /SP/faultmgmt/shell

 /SP/faultmgmt/shell
    Targets:

    Properties:

    Commands:
        cd
        show
        start



Step 3: Start the fault manager shell

-> start /SP/faultmgmt/shell
Are you sure you want to start /SP/faultmgmt/shell (y/n)? y

Step 4: Execute the following command to display the fault. Here we can see that there is no issue with hardware but he ILOM file system is 100% full.

faultmgmtsp> fmadm faulty
——————- ———————————— ————– ——–
Time                UUID                                 msgid          Severity
——————- ———————————— ————– ——–
2018-06-17/15:55:32 2a854ad2-4a31-e829-e26c-c84ba212d7f2 ILOM-8000-JV   Major

Problem Status           : open
Diag Engine              : fdd 1.0
System
   Manufacturer          : Oracle Corporation
   Name                  : Exadata X5-2
   Part_Number           : Exadata X5-2
   Serial_Number         : AK00XXXXXX

System Component
   Manufacturer          : Oracle Corporation
   Name                  : ORACLE SERVER X5-2
   Part_Number           : 7090664
   Serial_Number         : 15XXXXXXXX
   Firmware_Manufacturer : Oracle Corporation
   Firmware_Version      : (ILOM)4.0.0.24
   Firmware_Release      : (ILOM)2017.09.23

—————————————-
Suspect 1 of 1
   Problem class  : defect.ilom.fs.full
   Certainty      : 100%
   Affects        : /SYS/SP
   Status         : faulted

   FRU
      Status            : faulty
      Location          : /SYS/SP
      Manufacturer      : Oracle Corporation
      Name              : SP
      Part_Number       : PILOT3
      Chassis
         Manufacturer   : Oracle Corporation
         Name           : ORACLE SERVER X5-2
         Part_Number    : 7090664
         Serial_Number  : 1547NM10CX

Description : An ILOM filesystem has exceeded the filesystem capacity
              limit.

Response    : The chassis wide service-required LED will be illuminated.

Impact      : ILOM commands may fail, especially those which make
              configuration changes.

Action      : Please refer to the associated reference document at
              http://support.oracle.com/msg/ILOM-8000-JV for the latest
              service procedures and policies regarding this diagnosis.

Step 5: Execute the below command to clear the fault

faultmgmtsp> fmadm acquit UUID –> Get the UUID from the from output of the above command.

faultmgmtsp> fmadm acquit 2a854ad2-4a31-e829-e26c-c84ba212d7f2

Step 6: Verify that the fault is cleared

faultmgmtsp> fmadm faulty
No faults found

Step 7: Exit from the fault manager

faultmgmtsp> exit

Step 8: Reset the ILOM service processor

-> reset /SP
Are you sure you want to reset /SP (y/n)? y
Performing reset on /SP

Step 9: Exit from the ILOM

-> exit
Connection to dm01db02-ilom closed.

Step 10: Connec to ILOM and verify the ILOM SP is restarted

[root@dm01db01 ~]# ssh dm01db02-ilom
Password:

Oracle(R) Integrated Lights Out Manager

Version 4.0.0.24 r121523

Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.

Warning: HTTPS certificate is set to factory default.

Hostname: dm01db02-ilom


-> show -d properties /SP/clock uptime

 /SP/clock
    Properties:
        uptime = 0 days, 00:08:02


Conclusion

In this article we have learned how to display and clear a fault using fault manager (faultmgmt). The Fault Management Shell is the preferred method for displaying the details of a diagnosed fault. faultmgmt support for command shell varies depending ILOM release level and server product model. 

0

When Exadata database machine is installed by Oracle ACS the root file system size is set to 30GB. This space may not be sufficient for storing large files, logfiles, patches and so on and it can be filled very quickly. So you must consider increasing the root file system to avoid space issues. The root file system is built on volume group which makes it easy to resize the logical volume on which the root file system is mounted.

Root file system is created on two system partitions LVDbSys1 and LVDbSys2 and both system partitions must be size equally at the same time. Only one system partition is active at any time and other is inactive.

In this article, we will demonstrate how you can extend/increase the root file system size on Exadata Compute node. This activity can be done online without any downtime if the file system feature supports it.

Steps to extend/increase the root file system on Exadata Compute node

Step 1: Get the current root file system size and utilization. Here we can see that the root file system was expanded early to 60GB and currently it is 100% used.

[root@dm01db01 /]# df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbSys1
                       59G   57G     0 100% /

Step 2: Get the logical volumne details

[root@dm01db01 /]# lvs -o lv_name,lv_path,vg_name,lv_size
  LV                 Path                            VG      LSize
  LVDbOra1           /dev/VGExaDb/LVDbOra1           VGExaDb 200.00g
  LVDbSwap1          /dev/VGExaDb/LVDbSwap1          VGExaDb  24.00g
  LVDbSys1           /dev/VGExaDb/LVDbSys1           VGExaDb  60.00g
  LVDbSys2           /dev/VGExaDb/LVDbSys2           VGExaDb  60.00g
  LVDoNotRemoveOrUse /dev/VGExaDb/LVDoNotRemoveOrUse VGExaDb   1.00g

Step 3: Check to make sure that root file system can be resized online. Execute the following to determine it. If you get an output the file system can be resized online

[root@dm01db01 /]# tune2fs -l /dev/mapper/VGExaDb-LVDbSys1 | grep resize_inode
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

[root@dm01db01 /]# dcli -g ~/dbs_group -l root ‘tune2fs -l /dev/mapper/VGExaDb-LVDbSys1 | grep resize_inode’
dm01db01: Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
dm01db02: Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
dm01db03: Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
dm01db04: Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Step 4: Get the current active partition information. Here the current active partition is LVDbSys1

[root@dm01db01 ~]# imageinfo

Kernel version: 4.1.12-94.7.8.el6uek.x86_64 #2 SMP Thu Jan 11 20:41:01 PST 2018 x86_64
Image kernel version: 4.1.12-94.7.8.el6uek
Image version: 12.2.1.1.6.180125.1
Image activated: 2018-04-13 22:11:49 -0500
Image status: success
System partition on device: /dev/mapper/VGExaDb-LVDbSys1


Step 5: Get the free space available in the Volume Group. Currently we have around 1.3TB free space available. So we can easily increase the root file system.

[root@dm01db01 /]# vgdisplay -s
  “VGExaDb” 1.63 TiB  [345.00 GiB used / 1.30 TiB free]

Step 6: Using lvextend command increase the both logical volumes. In our case, we are increasing the root file system by 30GB to make 90GB total size.

[root@dm01db01 /]# lvextend -L +30G /dev/VGExaDb/LVDbSys1
  Size of logical volume VGExaDb/LVDbSys1 changed from 60.00 GiB (15360 extents) to 90.00 GiB (23040 extents).
  Logical volume LVDbSys1 successfully resized.

[root@dm01db01 /]# lvextend -L +30G /dev/VGExaDb/LVDbSys2
  Size of logical volume VGExaDb/LVDbSys2 changed from 60.00 GiB (15360 extents) to 90.00 GiB (23040 extents).
  Logical volume LVDbSys2 successfully resized.

Step 7: Using resize2fs command resize the file system as follows

[root@dm01db01 /]# resize2fs /dev/VGExaDb/LVDbSys1
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/VGExaDb/LVDbSys1 is mounted on /; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 6
The filesystem on /dev/VGExaDb/LVDbSys1 is now 23592960 blocks long.

[root@dm01db01 /]# e2fsck -f /dev/VGExaDb/LVDbSys1
e2fsck 1.43-WIP (20-Jun-2013)
/dev/VGExaDb/LVDbSys1 is mounted.
e2fsck: Cannot continue, aborting.


[root@dm01db01 /]# resize2fs /dev/VGExaDb/LVDbSys2
resize2fs 1.43-WIP (20-Jun-2013)
Please run ‘e2fsck -f /dev/VGExaDb/LVDbSys2’ first.

[root@dm01db01 /]# e2fsck -f /dev/VGExaDb/LVDbSys2
e2fsck 1.43-WIP (20-Jun-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/VGExaDb/LVDbSys2: 167407/3932160 files (0.1% non-contiguous), 4710754/15728640 blocks

[root@dm01db01 /]# resize2fs /dev/VGExaDb/LVDbSys2
resize2fs 1.43-WIP (20-Jun-2013)
Resizing the filesystem on /dev/VGExaDb/LVDbSys2 to 23592960 (4k) blocks.
The filesystem on /dev/VGExaDb/LVDbSys2 is now 23592960 blocks long.

Note: You can’t run the e2fsck for the active paritition LVDbSys1. You run the e2fsck for inactive partition LVDbSys2 first before resizing it.

Step 8: Verify the new file system size

[root@dm01db01 /]# df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VGExaDb-LVDbSys1
                       89G   57G   29G  67% /

Repeat the steps above on all the compute nodes in the Exadata Rack.


Conclusion

In this article we have learned how to extend/increase the root file system on Exadata Compute node online without any outage. Root file system is created on two system partitions LVDbSys1 and LVDbSys2 and both system partitions must be size equally at the same time. Only one system partition is active at any time and other is inactive.

0

You can access database servers remotely by using tools such as PuTTY and Virtual Network Computing (VNC) which are freely available for download. In most cases, accessing a database server in a command-line mode via PuTTY is enough. Sometimes we may need to access a database server to run GUI-based software. For example, to run runInstaller to install Oracle software or DBCA to create databases. In these cases, VNC comes handy as it support GUI-based interface.

VNC allows you to run GUI interface on database server. It allows you to execute programs locally on the server, while only the screen output is sent to the VNC client on your desktop. you can use the vncserver command to configure VNC.


In this article we will demonstrate how to install VNC package using 2 different methods, start VNC session and run some Graphical interface tools to ensure VNC is configured correctly on the server.


Step 1: Installing VNC Package 


  • Get the Exadata software version (optional)

[root@dm01db01 ~]# imageinfo

Kernel version: 4.1.12-94.7.8.el6uek.x86_64 #2 SMP Thu Jan 11 20:41:01 PST 2018 x86_64
Image kernel version: 4.1.12-94.7.8.el6uek
Image version: 12.2.1.1.6.180125.1
Image activated: 2018-05-03 01:49:58 -0500
Image status: success
System partition on device: /dev/mapper/VGExaDb-LVDbSys1


  • Get the Exadata Model (optional)

[root@dm01db01 ~]# dbmcli -e list dbserver attributes makeModel
         Oracle Corporation SUN SERVER X4-2


  • Check if VNC package already exists. In my case VNC is not configured.

[root@dm01db01 ~]# rpm -qa tigervnc*


  • Get the Operating System version and update

[root@dm01db01 yum.repos.d]# cat /etc/oracle-release
Oracle Linux Server release 6.9


  • You can install packages in 2 ways:
    1. Using proxy server. This should be configured by your Organization network engineer already.
    2. Using Local Yum repository

Using proxy server


  • Get the proxy server details from your network engineer
  • Set the http_proxy environment variable

[root@dm01db01 ~]# export http_proxy=webproxy:80


  • Navigate to YUM repository directory

[root@dm01db01 ~]# cd /etc/yum.repos.d/

[root@dm01db01 yum.repos.d]# ls -ltr
total 24
-rw-r–r– 1 root root 6843 May  7  2016 public-yum-ol6.repo
-r–r—– 1 root root  896 Jan 26 05:19 Exadata-computenode.repo.sample
-rw-r—– 1 root root  291 May  3 01:59 Exadata-computenode.repo


  • Open the public-yum-ol6.repo and uncomment enabled=1 for the following 2 stanza

[root@dm01db01 yum.repos.d]# vi public-yum-ol6.repo

[ol6_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

[ol6_u9_base]
name=Oracle Linux $releasever Update 9 installation media copy ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/9/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

[root@dm01db01 yum.repos.d]# ls -ltr
total 36
-r–r—– 1 root root   896 Jan 26 05:19 Exadata-computenode.repo.sample
-rw-r—– 1 root root   291 May  3 01:59 Exadata-computenode.repo
-rw-r–r– 1 root root 10544 May  9 10:09 public-yum-ol6.repo


  • Perform the Yum clean up

[root@dm01db01 yum.repos.d]# yum clean all
Cleaning repos: ol6_latest ol6_u8_base ol6_u9_base
Cleaning up Everything


  • List the yum repositories

[root@dm01db01 yum.repos.d]# yum repolist
ol6_latest                                                                                                                            | 1.4 kB     00:00
ol6_latest/primary                                                                                                                    |  68 MB     00:01
ol6_latest                                                                                                                                         40153/40153
ol6_u7_base                                                                                                                           | 1.4 kB     00:00
ol6_u7_base/primary                                                                                                                   | 3.2 MB     00:00
ol6_u7_base                                                                                                                                        8428/8428
repo id                                                        repo name                                                                           status
ol6_latest                                                     Oracle Linux 6Server Latest (x86_64)                                                32,690+7,463
repolist: 39,319


  • Install the VNC package as shown below

[root@dm01db01 yum.repos.d]# yum install tigervnc*
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package tigervnc.x86_64 0:1.1.0-24.el6 will be installed
—> Package tigervnc-server.x86_64 0:1.1.0-24.el6 will be installed
–> Processing Dependency: libxshmfence.so.1()(64bit) for package: tigervnc-server-1.1.0-24.el6.x86_64
—> Package tigervnc-server-applet.noarch 0:1.1.0-24.el6 will be installed
—> Package tigervnc-server-module.x86_64 0:1.1.0-24.el6 will be installed
–> Processing Dependency: xorg-x11-server-Xorg for package: tigervnc-server-module-1.1.0-24.el6.x86_64
–> Running transaction check
—> Package libxshmfence.x86_64 0:1.2-1.el6 will be installed


Transaction Summary
=============================================================================================================================================================================================
Install      24 Package(s)

Total download size: 4.3 M
Installed size: 11 M
Is this ok [y/N]: y


Installed:
  tigervnc.x86_64 0:1.1.0-24.el6        tigervnc-server.x86_64 0:1.1.0-24.el6        tigervnc-server-applet.noarch 0:1.1.0-24.el6        tigervnc-server-module.x86_64 0:1.1.0-24.el6

Dependency Installed:
  acl.x86_64 0:2.2.49-7.el6_9.1           cryptsetup-luks.x86_64 0:1.2.0-11.el6   cryptsetup-luks-libs.x86_64 0:1.2.0-11.el6           hal.x86_64 0:0.5.14-14.el6
  hal-info.noarch 0:20090716-5.el6        hal-libs.x86_64 0:0.5.14-14.el6         hdparm.x86_64 0:9.43-4.el6                           libepoxy.x86_64 0:1.2-3.el6
  libevdev.x86_64 0:1.4.5-2.el6           libxshmfence.x86_64 0:1.2-1.el6         mesa-libEGL.x86_64 0:11.0.7-4.el6                    mesa-libgbm.x86_64 0:11.0.7-4.el6
  mtdev.x86_64 0:1.1.5-1.el6              pm-utils.x86_64 0:1.2.5-11.el6          system-setup-keyboard.x86_64 0:0.7-4.el6             xorg-x11-drv-evdev.x86_64 0:2.9.2-1.el6
  xorg-x11-drv-vesa.x86_64 0:2.3.4-1.el6  xorg-x11-drv-void.x86_64 0:1.4.1-1.el6  xorg-x11-server-Xorg.x86_64 0:1.17.4-16.0.1.el6_9.1  xorg-x11-server-common.x86_64 0:1.17.4-16.0.1.el6_9.1

Complete!


  • Verify the VNC package is installed

[root@dm01db01 yum.repos.d]# rpm -qa | grep tigervnc*
tigervnc-server-applet-1.1.0-24.el6.noarch
tigervnc-server-1.1.0-24.el6.x86_64
tigervnc-server-module-1.1.0-24.el6.x86_64
tigervnc-1.1.0-24.el6.x86_64


Using Local Yum repository 

This method is useful when you don’t have internet access through proxy.

Refer to the blog article below on how to configure a local yum repository on Exadata
http://netsoftmate.blogspot.com/2018/05/create-local-yum-repository-on-Exadata.html


Step 2: Configure VNC Server


  • Login as root or any other user you want to configure VNC server
  • Execute the vncserver command. On the prompt enter any password of your choice

[root@dm01db01 ~]# vncserver

You will require a password to access your desktops.

Password:
Verify:

Warning: dm01db01.netsoftmate.com:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server dm01db01.netsoftmate.com:1

New ‘dm01db01.netsoftmate.com:2 (root)’ desktop is dm01db01.netsoftmate.com:2

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/dm01db01.netsoftmate.com:2.log

3. Verify VNC server is running and note down the port number. Here the VNC server is running at dm01db01.netsoftmate.com:3 for root user

[root@dm01db01 ~]# ps -ef|grep vnc
root     141816 297951  0 12:14 pts/1    00:00:00 grep vnc
root     356225      1  0 11:02 pts/1    00:00:00 /usr/bin/Xvnc :3 -desktop dm01db01.netsoftmate.com:3 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 1024×768 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5903 -fp catalogue:/etc/X11/fontpath.d -pn
root     356351      1  0 11:02 pts/1    00:00:00 vncconfig -iconic


Step 3: Test VNC Connection and GUI interface


  • Download and Install VNC Viewer. Here I am using VNC Tiger for Windows
  • Double Click on VNC Viewer icon to launch VNC Viewer

  • Enter the host name and port. You can get these by execute the command “ps -ef|grep vnc” on the server

  • Enter the password provided at the time of configuring vncserver

  • The VNC session is displayed

  • Now test the GUI interface by starting some GUI tool. Here I am going to start DBCA to test the GUI interface





Conclusion

In this article we have learned how to install, configure and test VNC server on Exadata compute node. VNC allows you to run GUI interface on database server. It allows you to execute programs locally on the server, while only the screen output is sent to the VNC client on your desktop. you can use the vncserver command to configure VNC.

0

PREVIOUS POSTSPage 2 of 18NEXT POSTS