Friday, 8 August 2025

How to Create an ACFS Mount Point in Oracle ASM: Step-by-Step Guide for DBAs

Oracle ACFS (ASM Cluster File System) is a cluster-aware file system built on top of ASM volumes. It's useful for storing scripts, backups, software, and other non-database files in an Oracle environment.

In this post, we’ll walk through a real-world, tested method to create and mount an ACFS file system using simple commands.

---

๐Ÿ‘ค Step 1: Log in as Grid User and Launch ASMCMD

asmcmd
---

๐Ÿ’ฝ Step 2: Create ASM Volume

Here we create a 100GB volume named backup in the DATA disk group:

asmcmd> volcreate -G DATA -s 100G backup
---

๐Ÿ” Step 3: Check the ASM Volume Path

Run the below command to find the exact device path for the volume:

asmcmd> volinfo --all

Example output might show:

Device: /dev/asm/backup
---

✅ Step 4: Verify Volume Status (Optional but Recommended)

As the Grid user or root:

$ crsctl stat res ora.DATA.backup.advm -t
---

๐Ÿ“ Step 5: Create Mount Directory

$ mkdir /backup
---

๐Ÿงท Step 6: Format the Volume with ACFS

$ mkfs -t acfs /dev/asm/backup
---

๐Ÿ“Œ Step 7: Register and Auto-Mount Using acfsutil

This command mounts the ACFS file system and registers it to auto-mount on reboot:

$ /sbin/acfsutil registry -a /dev/asm/backup /backup
---

๐Ÿ“Š Step 8: Verify Mount

$ df -h /backup

You should see your ACFS mount point listed.

---

๐Ÿ’ก Summary

This method allows you to quickly create and mount an ACFS file system using minimal steps. It's ideal for storing Oracle RMAN backups, log files, or installer binaries in a clustered or standalone setup.

---

๐Ÿ“š Related Posts

➡️ Have you used ACFS in your Oracle environment? Share your tips or variations in the comments below!

Oracle Documentation

Tuesday, 5 August 2025

Exadata vs Oracle Database Appliance (ODA): Key Differences for DBAs

Choosing the right Oracle infrastructure is a crucial decision for any organization running mission-critical databases. Two of the most widely discussed options are Oracle Exadata and Oracle Database Appliance (ODA). While both are engineered systems designed to simplify database deployment and management, they serve different purposes and are tailored to different business needs. In this post, we’ll break down the key differences between Exadata and ODA to help DBAs and architects make informed decisions.

What is Oracle Exadata?

Oracle Exadata is an engineered system optimized for running Oracle Database workloads. It integrates high-performance compute servers, intelligent storage servers, and high-speed networking in a single system. Exadata is designed for extreme performance, scalability, and availability, and is widely used for large-scale OLTP, OLAP, and mixed workloads.

Key Features:

  • Smart Scan technology for faster query performance
  • Hybrid Columnar Compression (HCC)
  • RDMA over InfiniBand for ultra-fast I/O
  • Scale-out architecture with separate compute and storage tiers

What is Oracle Database Appliance (ODA)?

Oracle Database Appliance (ODA) is a pre-configured, integrated system optimized for small to mid-sized Oracle environments. It is designed to reduce complexity and cost by bundling hardware, storage, networking, and database software into a single appliance.

Key Features:

  • All-in-one appliance for database workloads
  • Simple deployment and management
  • Built-in automation tools for patching, backups, and diagnostics
  • Ideal for remote or branch offices, and SMBs

Key Differences Between Exadata and ODA

Feature Exadata ODA
Target Use Case Large-scale, mission-critical OLTP/OLAP workloads Small to mid-sized Oracle deployments
Architecture Scale-out with separate compute and storage tiers All-in-one appliance
Performance High performance with Smart Scan & InfiniBand Moderate performance, no Smart Scan
Manageability More complex, requires trained DBAs Simplified with ODA tooling
Licensing Typically requires full EE licenses Supports capacity-on-demand licensing
Cost High initial and maintenance cost Cost-effective for smaller environments

When to Choose ODA vs Exadata

  • Choose Exadata if you need top-tier performance, scalability, and high availability for enterprise-wide database systems.
  • Choose ODA if you're looking for a simplified, cost-effective solution for smaller workloads with easier maintenance.

Real-World Use Case Scenarios

  • Exadata: Banking systems with thousands of daily transactions, real-time data warehouses, or applications with heavy analytical workloads.
  • ODA: Departmental databases, DR sites, or medium-scale ERP deployments.

Conclusion

Both Oracle Exadata and ODA offer compelling benefits, but they serve different needs. Exadata is ideal for performance-intensive, large-scale environments, whereas ODA is perfect for simplified, smaller-scale deployments. Understanding the core differences between them helps organizations choose the best platform for their Oracle workloads.

๐Ÿ“š Other Articles

Monday, 8 July 2024

ssh: connect to host port 22: Connection refused

If you're unable to connect to a server via SSH but ILOM is still accessible, you can use the ILOM console to investigate and resolve the issue. Here's a real-time example of troubleshooting SSH connectivity failure.

Issue:

# ssh test_server
ssh: connect to host test_server port 22: Connection refused

However, ILOM (test_server-ilo) was accessible.

1) Connected to ILOM using SSH:

# ssh test_server-ilo
Password:
->

2) Started the console using the following command:

-> start /HOST/console
Are you sure you want to start /HOST/console (y/n)? y
Serial console started. To stop, type ESC (
test_server login: root
Password:
# pwd
/root
# hostname
test_server

3) Checked if SSH service (sshd) was running:

# ps -ef | grep sshd

If SSH is running, you will see output like:

/usr/sbin/sshd -D

In my case, there was no such process — SSH was not running.

4) Started the SSH service:

# systemctl start sshd.service

✅ This resolved the issue.

๐Ÿ›  Other Possible Causes

1) SSH is running on a different port

Sometimes, SSH is configured to run on a non-default port (not 22).

# grep ^Port /etc/ssh/sshd_config
Port 2222

In such case, connect using:

# ssh -p 2222 test_server

2) SSH service is disabled or masked

If SSH service is disabled or masked, it won’t start automatically on reboot.

# systemctl status sshd.service
# systemctl unmask sshd.service
# systemctl enable sshd.service
# systemctl start sshd.service

3) Firewall is blocking port 22

If port 22 is blocked by the firewall, SSH will be unreachable from the network.

# firewall-cmd --list-all
# firewall-cmd --add-port=22/tcp --permanent
# firewall-cmd --reload

4) sshd binary missing or corrupted

If the sshd binary or its dependencies are missing or corrupted, SSH service may fail to start.

# which sshd
/usr/sbin/sshd

If not found or broken, reinstall the OpenSSH server package:

# yum reinstall openssh-server

5) ssh_keys group missing in /etc/group

Sometimes the ssh_keys group might be missing in the /etc/group file. To check:

# cat /etc/group | grep ssh
sshd:!:74:

If ssh_keys is missing, add the following line to the /etc/group file:

ssh_keys:x:102:

Then restart the SSH service:

# systemctl start sshd.service

๐Ÿ“Œ Related Reading

Tuesday, 13 June 2023

How to connect to the server from ILOM console -

Sometimes a server becomes inaccessible over the network, but you still need to access it for troubleshooting or to reboot it. In such cases, connecting through the ILOM (Integrated Lights Out Manager) console is a reliable and commonly used method by DBAs and system administrators.

For example, the server name is test_server and its ILOM is test_server-ilo.

Steps:

  1. Connect to the ILOM CLI
ssh test_server-ilo
Password:
->
  1. Start the console using the below command. It will ask for the OS username and password.
-> start /HOST/console
Are you sure you want to start /HOST/console (y/n)? y
Serial console started. To stop, type ESC (
test_server login: root
Password:
# pwd
/root
# hostname
test_server
# 

Note: Ensure you have ILOM network access and valid credentials before trying these steps. The ILOM console is especially useful when the server OS is not reachable by SSH.

Linux Manuals

๐Ÿ“š Other Helpful Guides

Monday, 5 June 2023

How to create NFS/SAN mountpoint on the server , using NFS path.

Work with SAN storage team to get the path. 

Consider you get 2 TB size for the mountpoint.

You need to get below information from your storage team.

NFS_Server_name:/Test/backup/vol1/test_project/ 

In above path :-
"NFS_Server_name" - will be the SAN/NFS server name or IP.
"/Test/backup/vol1/test_project/" - will be the directory structure created on SAN server. 

Now on your server you need to create NFS mountpoint as name "/test_backup" using above NFS path. 

Steps :-

1) First check on your server , if network is open to NFS server. 
#nslookup NFS_Server_name

If above command do not work , check with network team. If you able to nslookup follow next steps. 

2) Create blank directory with name of mountpoint require , in our case its "/test_backup" 
#cd /
#mkdir test_backup

3) Add below line in /etc/fstab   (in single line)
#vi /etc/fstab
NFS_Server_name:/Test/backup/vol1/test_project /test_backup nfs rw,bg,hard,retry=60,intr,rsize=1048576,wsize=1048576,noac,nfsvers=3 0 0

4) Change the permission of temporary as per below. 
#chmod 777 /test_backup

5) Now mount the mountpoint. 
#mount /test_backup

6) Now you can change the permission or owner of NFS mount point as per you require. 
#chmod 775 /test_backup
#chown -R oracle:oinstall /test_backup

7) Check the mountpoint size. 
#df -h /test_backup

๐Ÿ“š Other Articles

Wednesday, 7 June 2017

Oracle Export/Import DataPump Parameter ACCESS_METHOD

How to Fix LONG RAW Import Issues Using ACCESS_METHOD in Data Pump

Hello Friends,

While performing an export-import task using Oracle Data Pump, I encountered issues with tables that had the data type LONG RAW. The import would fail or throw warnings.

After investigating, I found that using the ACCESS_METHOD parameter during export and import helps avoid this problem.

✅ Export Using ACCESS_METHOD

expdp dumpfile=your_export.dmp \
logfile=your_export.log \
tables=owner.tablename \
access_method=direct_path

✅ Import Using ACCESS_METHOD

impdp dumpfile=your_export.dmp \
logfile=your_import.log \
access_method=direct_path \
remap_schema=old:new \
remap_tablespace=old_ts:new_ts \
table_exists_action=replace

After using access_method=direct_path, the import completed successfully without any errors or warnings.

๐Ÿ”— Reference

Oracle Metalink Doc ID:
Export/Import DataPump Parameter ACCESS_METHOD – How to Enforce a Method of Loading and Unloading Data? [ID 552424.1]

For large exports to NFS storage, ensure your NFS mount setup supports high throughput.

๐Ÿ“˜ You May Also Like

Monday, 5 June 2017

Silent Installation Guide for 12c Release 1 (12.1) for Linux x86-64(Using response file)

Oracle 12c Silent Installation Guide (Step-by-Step with Response File)

This guide will help you perform an Oracle 12c software installation in silent mode using a response file. The steps include creating required users and groups, setting kernel parameters, and running the installer silently.

Step 1: Create Oracle Groups and User

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

Step 2: Set Kernel Parameters

Edit /etc/sysctl.conf and add the following lines:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

Apply the changes:

sysctl -p

Step 3: Set Shell Limits for Oracle User

Edit the following files:

/etc/security/limits.conf
oracle   soft   nproc    2047
oracle   hard   nproc    16384
oracle   soft   nofile   1024
oracle   hard   nofile   65536
oracle   soft   stack    10240
/etc/pam.d/login
session required pam_limits.so

Step 4: Create Required Directories

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 775 /u01

Step 5: Configure Oracle Environment for User

Update the .bash_profile of the oracle user:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin

Step 6: Prepare the Response File

Edit the db_install.rsp file and ensure the following entries are set:

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=your-hostname
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba
DECLINE_SECURITY_UPDATES=true

Step 7: Run the Installer in Silent Mode

Switch to the directory where you extracted the Oracle software and run:

./runInstaller -silent -responseFile /path/to/db_install.rsp

Follow logs under $ORACLE_BASE/oraInventory/logs for installation progress.

Post-Installation (Root Scripts)

Once the installer finishes, run the following scripts as root when prompted:

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/12.1.0/dbhome_1/root.sh

Conclusion

Your Oracle 12c software installation using silent mode is now complete. You can proceed with database creation using dbca -silent or create manually.

Check more in oracle documentation.

Oracle Docs (Official)

Friday, 19 February 2016

[FATAL] [INS-35341] The installation user is not a member of the following groups: [null, null, null]

Oracle 12c Installation Error [INS-35341]: User Not a Member of Required Groups

You may face this issue while installing Oracle 12c software in silent mode using a response file:

Error Message

[FATAL] [INS-35341] The installation user is not a member of the following groups: [null, null, null]

Cause

The installation user account must be a member of all groups required for installation.

Action

Ensure that the installation user is a member of the system privileges operating system groups selected during installation.

Solution

Add the following additional parameters in your response file to resolve the error:

oracle.install.db.BACKUPDBA_GROUP=oinstall
oracle.install.db.DGDBA_GROUP=oinstall
oracle.install.db.KMDBA_GROUP=oinstall

Read new topic Exadata vs ODA