Hub-and-spoke network topology

The architecture shows a few sample subnets and VMs. Security lists are used to control network traffic to and from each subnet. Every subnet has a route table that contains rules to direct traffic bound for targets outside the VCN.

The hub VCN has an internet gateway for network traffic to and from the public internet; it also has a dynamic routing gateway (DRG) to enable private connectivity with your on-premises network, which you can implement by using Oracle Cloud Infrastructure FastConnect, or Site-to-Site VPN, or both.

You can use either Bastion host or OCI Bastion service to provide secure access to your resources. This architecture uses Bastion host.

The architecture shows a few sample subnets and VMs. Security lists are used to control network traffic to and from each subnet. Every subnet has a route table that contains rules to direct traffic bound for targets outside the VCN.

The hub VCN has an internet gateway for network traffic to and from the public internet; it also has a dynamic routing gateway (DRG) to enable private connectivity with your on-premises network, which you can implement by using Oracle Cloud Infrastructure FastConnect, or Site-to-Site VPN, or both.

You can use either Bastion host or OCI Bastion service to provide secure access to your resources. This architecture uses Bastion host.

cd $LOG_HOME/ora/10.1.3/j2ee/oacore/oacore_default_group
check the log application.log
if you are getting following error
java.lang.RuntimeException: Guest user/pwd does not exist or match: GUEST

Please verify that your JVM is working by
SQL> select dbms_java.longname(‘TEST’) from dual;
If you are geting any JVM related error follow Note ID as per your database version below is example for 11.2.0.4
Safe repair/reinstall of the JVM Component in 11.2 and up (Doc ID 2314363.1)

Shutdown the EBS services.

2. The only supported way to change the Guest user password is to update the context variable s_guest_pass and run AutoConfig, which runs the AdminAppServer utility internally.

Note : Restriction on the GUEST User Password : The GUEST User password cannot include the special character “#”.

3. Run Autoconfig on DB Node and then application node.

4. Execute the below sql again:

select fnd_web_sec.validate_login(‘GUEST’,’ORACLE’) from dual;

Check whether query output is showing Y.

If no, Please check whether the below error is seen on autoconfig log:

Unable to update GUEST_USER_PWD in database to GUEST/ORACLE – Password was not changed, this point to the DB parameter JAVA_JIT_ENABLED which is set as TRUE.

5. On 11g DB you need to have the below settings for EBS specifically, run the below sql

alter system set JAVA_JIT_ENABLED= FALSE scope = both;
6. Follow the steps 2 and 3 again.

7. Run the below command:

perl $FND_TOP/patch/115/bin/ojspCompile.pl –compile –flush -p 2

7. Check whether the compile completed successfully.

8. Restart the application services.

9. Retest the issue.

https://balaoracledba.com/2014/05/15/r12-2-changing-apps-or-applsys-password-on-r12-2-instance/

http://laptops.eng.uci.edu/software-installation/using-linux/how-to-configure-xming-putty

—-Check for Down time Since we are migrating tables to TDE —–
—-Confirm on Right Instance —
—-set ORACLE_HOME=
—-set ORACLE_SID=
—-echo %ORACLE_HOME
—-CHECK FOR INVALID OBJECTS

1) Primary –Instance Details

column owner format a30
column object_name format a40
column index_name fromat a40
column table_owner format a40

spool upi-TDE.log

Select * from v$version;
select owner,count(*) from dba_objects where status=’INVALID’ GROUP BY owner;
select OBJECT_NAME,owner from dba_obJects where status ‘VALID’;
Select status, count(*) from user_indexes group by status;
select INDEX_NAME,index_type, TABLE_OWNER from user_indexes where status ‘VALID’;
select sum(bytes)/1024/1024 from dba_segments where segment_name in
(‘TAB_MASTER’,’SMS_TAB’);
select owner,table_name from dba_tables where table_name in
(‘TAB_MASTER’,’SMS_TAB’);
select * from v$encryption_wallet;

spool off

2) Stanby Stop the MRP
select name,op mode,database_role,switchover_staus,dbid,name from v$database;
alter database recover managed standby database cancel;

3) Update the wallet location at SQLNET.ORA file

ENCRYPTION_WALLET_LOCATION=
(SOURCE=(METHOD=FILE)(METHOD_DATA=
(DIRECTORY=D:\app\Administrator\admin\SID\encryption_wallet)))

—-perform the same changes to DR

4)
Create Wallet and verfiy at Above location.

12c —-
—-ADMINISTER KEY MANAGEMENT create keystore ‘D:\app\Administrator\admin\SID\encryption_wallet’ identified by “Password”,

—-ADMINISTER KEY MANAGEMENT set keystore open identified by “Password”,

— ADMINISTER KEY MANAGEMENT CREATE [LOCAL] AUTO_LOGIN KEYSTORE FROM KEYSTORE ‘keystore_location’ IDENTIFIED BY software_keystore_password;

—-ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE ‘D:\app\Administrator\admin\SID\encryption_wallet’ IDENTIFIED BY Orasyndas0;

******11g****
alter system set encryption key identified by “Password”,

bounce the database

ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY “Password”,

—-ALTER SYSTEM SET ENCRYPTION WALLET CLOSE;

select * from v_$encryption_wallet;

5) ON Stnadby

a) COPY ewallet.p12 created on primary to standby database server location D:\app\Administrator\admin\SID\encryption_wallet

b) change sql net file in DR

Verify the DR Sync is happening

select thread#,max(sequence#) from v$archived_log where applied=’YES’ group by thread#;
select thread#,max(sequence#) from v$archived_log group by thread#;
select name,op mode,database_role,switchover_staus,dbid,name from v$database;

alter database recover managed standby database cancel;

****ON Primary

6) Check the size of segments to move

select file_name from dba_data_files;
select sum(bytes)/1024/1024 from dba_segments where segment_name in
(‘TAB_MASTER’,’SMS_TAB’);
select owner,sum(bytes)/1024/1024 from dba_segments where segment_name in
(‘TAB_MASTER’,’SMS_TAB’);
GROUP BY owner,SEGMENT_NAME;

***Calculate total segment size

7) Check the file location to create TDE tqblespace

select file_name from dba_data_files;

8) Create tablespace datafiles with above location ( Addition of 30%)

a) create tablespace dataaso datafile ‘D:\APP\ORADATA\SID\dataaso.dbf’ size 4G encryption using ‘AES256’ DEFAULT STORAGE (ENCRYPT);

b) alter user UPIUSER quota unlimited on dataaso;

9) Identify the Onwr & tablespace.

select owner,table_name from dba_tables where table_name in
(‘TAB_MASTER’,’SMS_TAB’);

10) Generate & execute the script to move the segments

Verify –the blogs and log types ——

select ‘alter table ‘||owner||’.’||table_name || ‘ move tablespace dataaso;’ from dba_tables where table_name in
(‘TAB_MASTER’,’SMS_TAB’);

11) Veify the moved segments tablespace.

select owner,table_name ,tablespace_name from dba_tables where table_name in
(‘TAB_MASTER’,’SMS_TAB’);

select owner,sum(bytes)/1024/1024 from dba_segments where segment_name in
(‘TAB_MASTER’,’SMS_TAB’)
GROUP BY owner,SEGMENT_NAME;

12) Rebuild the unusable indexes

select ‘ alter INDEX ‘||owner ||’.’||index_name|| ‘ rebuild;’ from dba_indexes where table_name in
(‘TAB_MASTER’,’SMS_TAB’);

select count(*) from dba_objects where status=’INVALID’;

13) Primary Database

alter database switch logfile;

Routine Activity********

EXEC DBMS_STATS.GATHER_TABLE_STATS
(OWNNAME=>’DBO_MOBILEAPP’, tabname=> ‘TRANSACTIONMASTER’, cascade=>true , estimate_percent=> 40 ,
no_invalidate => TRUE, degree=> 8 , method_opt=> ‘for all columns size auto’ )
EXEC DBMS_STATS.GATHER_SCHEMA_STATS (‘SYS’);
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
EXEC DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
exec DBMS_STATS.GATHER_DATABASE_STATS (gather_sys=>TRUE);

14) Stnadby **********

select thread#,max(sequence#) sequence#,applied,archived from gv$archived_log group by thread#,applied,archived;

Copy wallet file to DR

Open Wallet

alter system set encryption wallet open identified by “Password”,
recover managed standby database disconnect from session;
select process,status,sequence# from v$managed_standby;

col thread format a20
select ‘Thread ‘||a.thread# Thread,
max(a.sequence#) primary, max(b.sequence#) DR,
max(a.sequence# )-max(b.sequence#) difference
from v$archived_log a, v$archived_log b
where a.archived=’YES’
and b.applied=’YES’ and a.thread#=b.thread#
and b.COMPLETION_TIME > sysdate -1
group by a.thread# ;

On vault Server

1. Log in to the Audit Vault Server console as an administrator.
2. Click the Hosts tab, and then from the Hosts menu, click Agent.
3. The Agent and host monitor files are listed.
4. Click the Download button next to the Agent file, and then save the agent.jar file to a location of your choice.
5. Using an OS user account, copy the agent.jar file to the secured target’s host computer.

On Database or Host destination server

1. mkdir /u01/java & agent
2. copy the downloads (Agent & java rpm)
3. chmod 744 jdk-6u45-linux-x64-rpm.bin
4. ./jdk-6u45-linux-x64-rpm.bin
(read and accept the license)

• yum localinstall

5. [root@dbfw]# cd /u01/java
 6. [root@dbfw java]# ./jdk-6u45-linux-x64-rpm.bin
 Unpacking...
 Checksumming...
 Extracting...
 UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
 inflating: jdk-6u45-linux-amd64.rpm
 inflating: sun-javadb-common-10.6.2-1.1.i386.rpm
 inflating: sun-javadb-core-10.6.2-1.1.i386.rpm
 inflating: sun-javadb-client-10.6.2-1.1.i386.rpm
 inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm
 inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm
 inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm
 Preparing... ########################################### [100%]
 1:jdk ########################################### [100%]
 Unpacking JAR files...
 rt.jar...
 jsse.jar...
 charsets.jar...
 tools.jar...
 localedata.jar...
 plugin.jar...
 javaws.jar...
 deploy.jar...

Done.

7. #yum localinstall

8. [root@dbfw java]# which java
/usr/bin/java
9. [root@dbfw java]# java -version

10. [root@dbfw java]# /usr/bin/java -version
java version “1.6.0_45”
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
[root@dbfw java]# exit

Login as Support Database or Host destination server

[support@dbfw agent]$
1. Set the path
export AGENT_HOME=/u01/agent
export JAVA_HOME=/usr/
export PATH=$PATH:$JAVA_HOME:$AGENT_HOME

2. [support@dbfw agent]$ export JAVA_HOME=/usr/

3. In the directory where you placed the agent.jar file, extract it by running:
java -jar agent.jar -d Agent_Home
eg: [support@dbfw agent]$ /usr/bin/java -jar agent.jar -d /u01/agent
Checking for updates…
Agent is updating. This operation may take a few minutes. Please wait…
Agent updated successfully.
Agent installed successfully.
Run bin/hostmonsetup as root if deploying hostmonitor.

4. [support@dbfw agent]$ pwd
 /u01/agent
 5. [support@dbfw agent]$ cd bin
 6. [support@dbfw bin]$ ls -ltr
 total 152
 -rw-rw-r-- 1 support support 103936 Jun 9 2013 prunsrv.exe
 -rwxr-x--- 1 support support 18690 Jun 9 2013 hostmonsetup
 -rw-rw-r-- 1 support support 6312 Jun 9 2013 agentctl.bat
 -rwxr-x--- 1 support support 8572 Jun 9 2013 agentctl
 drwxr-x--- 2 support support 4096 Mar 16 08:24 linux-x86-64

7. [support@dbfw bin]$ ./agentctl activate
Activation request sent successfully

This sends an activation request to the Audit Vault Server.

Activating and Starting the Audit Vault Agent

On Vault Server

1. Log in to the Audit Vault Server console as an administrator, and click the Hosts tab.
2. Oracle AVDF 12.1.1 Only: Select the host you want to activate, and then click Activate.
3. This will generate an activation key under the Agent Activation Key column.
4. In AVDF version 12.1.1, you can only activate a host if you have completed the procedure in “(Oracle AVDF 12.1.1 Only) Requesting Agent Activation”.
5. On the Hosts tab, make a note of the Agent Activation Key for this host.
6. copy the key Agent activation key from vault server or note it.

On Database or Host destination Server
1. cd $Agent_Home/bin

2. [support@dbfw bin]$ ./agentctl start -k 7BMX-AVM5-NSHJ-0XJE-I7B5 (this key need to take from vault server browser)

Agent started successfully.

*********************** Enjoy  *************************

 

What are the encryption algorithms that can be used with TDE?
TDE supports AES256, AES192 (default for TDE column encryption), AES128 (default for TDE tablespace encryption), and 3DES168.

Is it possible to use 3rd party encryptions algorithms in place of the ones provided by TDE?
No, it is not possible to plug-in other encryption algorithms. Oracle provides encryption algorithms that are broadly accepted, and will add new standard algorithms as they become available.

Can I use TDE column encryption on columns used in foreign key constraints?
TDE doesn’t support encrypting columns with foreign key constraints. This is due to the fact that individual tables have their own unique encryption key. The following query lists all occurrences of RI (Referential Integrity) constraints in your database:

SQL> select A.owner, A.table_name, A.column_name, A.constraint_name
from dba_cons_columns A, dba_constraints B
where A.table_name = B.table_name and B.constraint_type = ‘R’;
Can columns that are used for joins be encrypted with TDE column encryption?
Yes. Joining tables is transparent to users and applications, even if the columns for the join condition are encrypted.

Can indexed columns be encrypted?
TDE tablespace encryption supports all indexes transparently.

For TDE column encryption, the index needs to be a normal B-tree index, used for equality searches. In case of a composite, function-based index, the encrypted column cannot be the one that was used for the function. When encrypting a column with an existing index, it is recommended to first extract the index definition with dbms_metadata.get_ddl, then drop the index, encrypt the column with the ‘no salt’ option, and re-build the index.

What data types and data lengths does TDE support?
For TDE tablespace encryption, there are no limitations in terms of supported data types; the following data types can be encrypted using TDE column encryption:

varchar2 (< 3933 characters) nvarchar2 (< 1967 characters)
char (< 1933 characters) nchar ( startup mount;
ORACLE instance started.
Database mounted.
PUBLIC> alter system set encryption wallet open identified by “wallet_password”;
System altered.
PUBLIC> alter database open;
Database altered.
If the Wallet is not open, the database will return an error when TDE protected data is queried. The (local) auto-open wallet (filename ‘cwallet.sso’) opens automatically when a encrypted data is accessed; hence it can be used for unattended Data Guard (Oracle 10gR2: physical standby only; Oracle 11g: physical and logical standby) environments where encrypted data is shipped to secondary sites. Do never delete the encryption wallet after creating an auto-open wallet, since otherwise master encryption key re-key operations will fail.
Oracle Database 11g Release 2 introduced the local auto-open wallet, which only opens automatically on the server it was created on.
How is the TDE wallet protected?
On Unix, access to the wallet should be limited to the ‘oracle:oinstall’ user:group, using proper directory (700) and file permissions (600). Even though the ‘root’ user has access to the wallet file, if she does not know the wallet password, she has no access to the master encryption key. For all platforms, the password (that encrypts the wallet) should contain a minimum of 8 alphanumeric characters. Wallet passwords can be changed using Oracle Wallet Manager, or the ‘orapki’ utility. It is highly recommended to make a backup of the Oracle Wallet before changing the wallet password. Changing the wallet password does not change the TDE master key (they are independent).
Starting with Oracle Database 11g Release 2 (11.2.0.2) on Linux, it is recommended to store the Oracle Wallet in ACFS, a cluster file system on top of ASM (applies to single instance, RAC one node, multi-node RAC, but not Exadata X2), as it’s new Security features provide excellent wallet protection and separation of duties. A detailed step-by-step guide on how to create an access control policy in ACFS incl. separation of duties is available in the frequently updated TDE best practices document.

Can I use Oracle Wallet Manager (OWM) to create the encryption wallet and master key for TDE?
If you create a wallet with Oracle Wallet Manager, it does not contain the master key required by TDE. Only the SQL command:

SQL> alter system set encryption key identified by “wallet_password”;
creates a wallet (if it doesn’t already exist in the location specified in the local sqlnet.ora file) and adds the TDE master key to it.

In Oracle 11gR1, TDE and other security features have been migrated to Enterprise Manager Database Control, thus enabling the wallet and the master key to be generated using the Web-based GUI of Enterprise Manager.

New in Oracle 11g Release 2 is the unified master encryption key, which is used for both TDE column and TDE tablespace encryption; this key can be created, stored and re-keyed (rotated) in the Oracle Wallet.

Can I change the wallet password?
Yes, the wallet password can be changed with Oracle Wallet Manager (OWM). Create a backup before attempting to change the wallet password. Changing the wallet password does not change the encryption master key — they are independent. In Oracle 11gR1 11.1.0.7, orapki has been enhanced to allow wallet password changes from the command line:

$ orapki wallet change_pwd -wallet

Here the steps to do it.

connect / as sysdba
grant execute on dbms_redact to ASO;

connect ASO/tiger

create table ASO.table01 (stt number, ID varchar2(10), value number);

insert into ASO.table01 values (1,’abc123456′,20000);

insert into ASO.table01 values (2,’abc12345′,300);

insert into ASO.table01 values (3,’abc1234′,40000000);

insert into ASO.table01 values (4,”,5000);

insert into ASO.table01 values (5,’abc1234567′,”);

commit;

insert into TABLE01 values (&1,’&2′,&3,&4);

begin
dbms_redact.drop_policy(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
policy_name => ‘redact_table01_pol’);
end;
/

begin
sys.dbms_redact.add_policy(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
column_name => ‘ID’,
policy_name => ‘redact_table01_pol’,
function_type => DBMS_REDACT.PARTIAL,
function_parameters => ‘VVVVVVVVVVVV,VVVVVVVVVVVV,*,4,10’,
expression => ‘1=1’);
end;
/

*****If you wish to drop ***

begin
dbms_redact.drop_policy(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
policy_name => ‘redact_table01_pol’);
end;
/

begin
sys.dbms_redact.add_policy(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
column_name => ‘ID’,
policy_name => ‘redact_table01_pol’,
function_type => DBMS_REDACT.PARTIAL,
function_parameters => ‘VVVVVVVVVVVV,VVVVVVVVVVVV,x,2,10’,
expression => ‘1=1’);
end;

***************
Add policy for Value Full
BEGIN
DBMS_REDACT.alter_policy(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
policy_name => ‘redact_table01_pol’,
action => dbms_redact.ADD_COLUMN,
column_name => ‘value’,
function_type => dbms_redact.FULL
);
END;
/

*****Add polcit partial Number ***
BEGIN
DBMS_REDACT.alter_policy (
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
policy_name => ‘redact_table01_pol’,
action => dbms_redact.ADD_COLUMN,
column_name => ‘sal’,
function_type => DBMS_REDACT.partial,
function_parameters => ‘4,1,12’
);
END;
/

begin
sys.dbms_redact.alter_policy(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
column_name => ‘queue’,
policy_name => ‘redact_table01_pol’,
function_type => DBMS_REDACT.REGEXP,
expression => ‘1=1’,
regexp_pattern => ‘VVVVVV.VVV.VVVVVVVVVVV’,
regexp_replace_string => ‘*’,
regexp_position => 1,
regexp_occurrence => 0,
regexp_match_parameter => ‘.’);
end;
/

BEGIN
DBMS_REDACT.alter_POLICY(
object_schema => ‘ASO’,
object_name => ‘TABLE01’,
column_name => ‘mqueue’,
policy_name => ‘redact_table01_pol’,
function_type => DBMS_REDACT.REGEXP,
regexp_pattern => ‘.’,
regexp_replace_string => ‘###’,
regexp_position => DBMS_REDACT.RE_BEGINNING,
regexp_occurrence => DBMS_REDACT.RE_ALL,
expression => ‘1=1’);
END;
/

*********Connect by new user ***

create user pbd identified by pbd;

*********Out Put
QL> select * from TABLE01;

STT ID VALUE SAL
———- ———- ———- ———-
1 abc123456 20000 100000
2 abc12345 300 100000
3 abc1234 40000000 100000
4 5000 100000
5 abc1234567 100000
6 Pramod 2000 2000000
7 Mubin 2000 300000000
8 Bindu 40000 4000000000
9 Abhishek 50000 50000000

9 rows selected.

SQL> connect pbd/pbd
Connected.
SQL> select * from aso.TABLE01;

STT ID VALUE SAL
———- ———- ———- ———-
1 axxxxxxxx 0 111111
2 axxxxxxx 0 111111
3 axxxxxx 0 111111
4 0 111111
5 axxxxxxxxx 111111
6 Pxxxxx 0 1111111
7 Mxxxx 0 111111111
8 Bxxxx 0 1111111111
9 Axxxxxxx 0 11111111

9 rows selected.

table_name —redaction_policies

SELECT SYS_CONTEXT(‘USERENV’,’CLIENT_INFO’) FROM DUAL;

begin
dbms_redact.drop_policy(
object_schema => ‘ASO’,
object_name => ‘EMP’,
policy_name => ‘EMP_SAL_POL’);
end;

BEGIN
DBMS_REDACT.ADD_POLICY(
object_schema => ‘ASO’,
object_name => ‘EMP’,
policy_name => ‘EMP_SAL_POL’,
expression => ‘SYS_CONTEXT(”USERENV”,”CLIENT_INFO”) != ”PBD” OR SYS_CONTEXT(”USERENV”,”CLIENT_INFO”) IS NULL’,
column_name => ‘SAL’,
function_type => DBMS_REDACT.FULL);
END;
/

BEGIN
DBMS_REDACT.ADD_POLICY(
object_schema => ‘ASO’,
object_name => ‘EMP’,
policy_name => ‘EMP_SAL_POL’,
expression => ‘SYS_CONTEXT(”USERENV”,”SESSION_USER”) = ”PBD”’,
column_name => ‘SAL’,
function_type => DBMS_REDACT.FULL);
END;
/

BEGIN
DBMS_REDACT.ADD_POLICY(
object_schema => ‘ASO’,
object_name => ‘EMP’,
policy_name => ‘EMP_SAL_POL’,
expression => ‘SYS_CONTEXT(”USERENV”,”SESSION_USER”) = ”PBD”’,
column_name => ‘SAL’,
function_type => DBMS_REDACT.FULL);
END;
/

BEGIN
DBMS_REDACT.alter_policy
(object_schema => ‘ASO’
,object_name => ‘EMP’
,policy_name => ‘EMP_SAL_POL’
,action => dbms_redact.ADD_COLUMN
,column_name => ‘EMPNO’
,function_type => dbms_redact.FULL
);
END;
/

SELECT SYS_CONTEXT (‘hr_apps’, ‘group_no’) “User Group”
FROM DUAL;

  • Allocate memory for the IM column store by setting the INMEMORY_SIZE parameter to a non-zero value that is greater than 100MB (calculate from segment size)
ALTER SYSTEM SET inmemory_size = 100M scope=spfile;
  • Since the IM column store is part of the SGA, we also need to ensure the SGA_TARGET parameter is set large enough to accommodate the new IM column store and all of the other existing components (buffer cache, shared pool, large pool etc.). By default, the installer set the SGA_TARGET to 1G, so I’m going to bump it by 1.2G.
ALTER SYSTEM SET sga_target = 1.2G scope=spfile;
  • Bounce the database so these parameter changes can take effect.
  •  The IM column store should be populated with the most performance-critical data in the database. let’s enable theINMEMORY attribute on one of the user tables CUSTOMERS.
ALTER TABLE SSB.customers INMEMORY;
  • Verify by running  query on the CUSTOMERS table.
SELECT cust_valid, Count(*) 
 FROM customers 
 GROUP BY cust_valid;
  • Now if we check v$IM_SEGMENTS we see the CUSTOMERS table has been populated in the IM column store.
  • Remove a table from the IM column store you simply need to specify the NO INMEMORY attribute.
ALTER TABLE SSB.customers NO INMEMORY;

 

The Oracle Database Appliance saves time and money by simplifying deployment, maintenance, and support of database solutions for organizations of every size. Optimized for the world’s most popular database–Oracle Database–it integrates software, compute, storage, and network resources to deliver database services for a wide range of custom and packaged online transaction processing (OLTP), in-memory database, and data warehousing applications. All hardware and software components are engineered and supported by Oracle, offering customers a reliable and secure system with built-in automation and best practices. In addition to accelerating the time to value when deploying database solutions, the Oracle Database Appliance offers flexible Oracle Database licensing options and reduces operational expenses associated with maintenance and support.

Oracle Database Appliance’s portfolio provides right-sized engineered systems to meet business needs from single-instance appliances for smaller workloads to clustered high-availability appliances that can support both database and application workloads.