Skip to main content

Rename/move datafile online with oracle database 12c

Rename/Move data file online - This is the first new feature I am demonstration on Oracle database 12c new features. This is really a wonderful feature.

You cannot only move datafiles  form one location to another on normal file system, you can even move your datafiles  from NON-ASM to ASM Diskgrups:

In this article I will demonstrate rename/move :

1) Normal rename of datafille
2) Rename from normal location to ASM
3) Move from one ASM location to another
4) Move from ASM to Non-ASM


1) Normal rename of datafille


SQL> SQL> select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/prod_data/my_data01.dbf         ONLINE
/u01/12cDb_Home/oradata/prod/users01.dbf                     ONLINE



6 rows selected.

SQL> alter database move datafile
  2  '/u01/12cDb_Home/oradata/prod/prod_data/my_data01.dbf'    
  3  to 
  4  '/u01/12cDb_Home/oradata/prod/mydata01.dbf';

Database altered.

SQL> select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/mydata01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/users01.dbf                     ONLINE

6 rows selected.

SQL> 




2) Rename from normal location to ASM




SQL> select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/mydata01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/users01.dbf                     ONLINE

6 rows selected.

SQL>



SQL> alter database move datafile
  2  '/u01/12cDb_Home/oradata/prod/mydata01.dbf'
  3  to
  4  '+DBDATA/prod/mydata01.dbf';

Database altered.

SQL> alter database move datafile
  2  '/u01/12cDb_Home/oradata/prod/users01.dbf'
  3  to 
  4  '+DBDATA/prod/users01.dbf';

Database altered.

SQL> select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
+DBDATA/prod/mydata01.dbf                                    ONLINE
+DBDATA/prod/users01.dbf                                     ONLINE

6 rows selected.

SQL> 



 3) Move from one ASM location to another



SQL> select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
+DBDATA/prod/mydata01.dbf                                    ONLINE
+DBDATA/prod/users01.dbf                                     ONLINE
6 rows selected.



SQL> alter database move datafile 
  2  '+DBDATA/prod/mydata01.dbf'
  3  to '+DBDATA/prod/prod_data/mydata01.dbf';

Database altered.

SQL> alter database move datafile
  2  '+DBDATA/prod/users01.dbf'
  3  to
  4  '+DBDATA/prod/prod_data/users01.dbf';
Database altered.

SQL>  select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
+DBDATA/prod/prod_data/mydata01.dbf                          ONLINE
+DBDATA/prod/prod_data/users01.dbf                           ONLINE

6 rows selected.

SQL> 


4) Move from ASM to Non-ASM



SQL>  select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
+DBDATA/prod/prod_data/mydata01.dbf                          ONLINE
+DBDATA/prod/prod_data/users01.dbf                           ONLINE

6 rows selected.

SQL> alter database move datafile
  2  '+DBDATA/prod/prod_data/mydata01.dbf'
  3  to 
  4  '/u01/12cDb_Home/oradata/prod/mydata01.dbf';

Database altered.

SQL> alter database move datafile
  2  '+DBDATA/prod/prod_data/users01.dbf'
  3  to 
  4  '/u01/12cDb_Home/oradata/prod/users01.dbf';

Database altered.
SQL> select name, STATUS  from v$datafile;

NAME                                                         STATUS
------------------------------------------------------------ ----------
/u01/12cDb_Home/oradata/prod/system01.dbf                    SYSTEM
/u01/12cDb_Home/oradata/prod/example01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/sysaux01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/undotbs01.dbf                   ONLINE
/u01/12cDb_Home/oradata/prod/mydata01.dbf                    ONLINE
/u01/12cDb_Home/oradata/prod/users01.dbf                     ONLINE

6 rows selected.

SQL> 


SQL> 



Comments

rakesh said…
Great...

Popular posts from this blog

Disable Firewall on Oracle Linux 8

In this blogpost we will see how we can stop/disable the firewall on Oracle Linux 8, the firewall command is same in both linux 7 an linux 8. The below listed is the procedure for stopping and disabling the  firewall on Oracle Linux 8. - Here we can see the firewall deamon in active state - Here when we stop the firewall in previous command, now the firewall daemon is dead - For permanent disabling the firewall on server, we can use "disable" option The following commands will be helpful: #systemctl status firewalld #systemctl stop firewalld #systemctl disable firewalld #systemctl enable firewalld #systemctl start firewalld Hope it helps !! Thanks for reading :) regards, X A H E E R

Enable Desktop on Oracle Solaris 11.4

Oracle Solaris 11 installation has multiple options to choose for installation of an Operating Environment, but mostly Oracle Solaris text install media is used and this installation media doesn't offer the GUI Desktop Environment by default after the installation. This blog post will explain how we can enable the desktop for Oracle Solaris 11.4 operating system, after the completion of installation. We have to install "solaris-desktop" package and reboot the machine and GUI desktop will be enabled for the Operating System. In this blog post my virtual machine is connected to the internet and hence I am able to use available pupblic repository for package installation, if in case internet is not available for the server/machine then we have configure the local/Server  repository for the installation. Follow the below steps for desktop package installation: After installation of dekstop package we are now able to login with GUI desktop environment...

Oracle AVDF Installation and Setup Document

This blogpost will provide you detailed information about Oracle Audit Vault and Database Firewall (Oracle AVDF) setup. Oracle AVDF is a comprehensive Database Activity Monitoring (DAM) solution that integrates with native audit data. Environment Setup: [oracrp@ebs-dev2-db01 ~]$ mkdir -pv /oradb/oracle/avcli mkdir: created directory ‘/oradb/oracle/avcli’ [oracrp@ebs-dev2-db01 ~]$ mkdir -pv /oradb/oracle/avagent mkdir: created directory ‘/oradb/oracle/avagent’ [oracrp@ebs-dev2-db01 ~]$ - Add these variables to the environment file vi DEV2CDB.env # AVS export AVCLI_HOME="/oradb/oracle/avcli" export AV_HOME="/oradb/oracle/avagent" export PATH="$PATH:$AV_HOME/bin" Download the JAR files:   AVDF installation requires one network interface card on respective hosts. IP assigned to AV server NIC will communicate with target databases and IP assigned to DF server will connect to AV Download - Agent jar file:   Login to AV console as avadmin user   - Go t...