Search This Blog

Tuesday, May 31, 2011

Five distinct types of database uncertainty

Five distinct types of database uncertainty :

Uncertainty -- There might be uncertainty about the database fact " the age of john is 38"
Imprecision -- The information in the model is not as specific as it should be. For example, when distinct value is required, the information available might be:
range : " The age of john is between 37 and 43"
disjunctive: " The age of john is either 37 or 43"
negative : " The age of john is not 37"
unknown : "unknown" i।e। null
Vagueness -- The model includes elements (e.g predicates or quantifiers) that are inherently vague i.e. " John is in early middle age".
Inconsistency-- The model contains two or more alternatives that cannot be true at the same time e.g. " the age of john is between 37 and 43" and the "age of john is 35".
Ambiguity -- Some elements of the model lack complete semantics leading to several possible interpretations e.g. " employees' commission are given per month or per year" .


Ref: Amihai Motro, Management of Uncertainty in database Systems.

Thursday, May 12, 2011

Tablespace Encryption

Transparent Data Encryption (TDE) and the use of a component known as the Oracle Wallet. Oracle 10.2.4 +


CREATE TABLESPACE encrypted_ts
DATAFILE 'C:\ORACLE\ORADATA\SECURE\encrypted_ts01.dbf' SIZE 128K
LOGGING
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
ENCRYPTION USING 'AES192'
DEFAULT STORAGE(ENCRYPT);

The link shows you how you are able to create a wallet.
http://mikegeorgiou.blogspot.com/2011/05/column-ecryption-in-oracle-10g.html

Disabling and Enabling Oracle Database Vault

http://www.filibeto.org/sun/lib/nonsun/oracle/10.2.0.1.0/B19306_01/server.102/b25166/dvdisabl.htm

Column ecryption in Oracle 10g

Column ecryption in Oracle 10g

Step 1
=======
Add the following lines in $ORACLE_HOME/network/admin/sqlnet.ora

# Create a wallet for column ecryption
ENCRYPTION_WALLET_LOCATION=
(SOURCE=(METHOD=FILE)(METHOD_DATA=
(DIRECTORY=C:\oracle\oradata\SECURE)))


Step 2
========
create the wallet

ALTER SYSTEM SET ENCRYPTION KEY AUTHENTICATED BY "password";


Step 3
=========
Login as test1/test1

create table test1
(
id number,
password varchar2(10) encrypt
);

insert into test1 values (1,'pass1234');

Any schema (having the appropriate privileges )is able to select the data decrypted.




SQL> select * from test1;
select * from test1
*
ERROR at line 1:
ORA-28365: wallet is not open


Wallets must be reopened after an instance restart and can be closed to prevent access to encrypted columns.

ALTER SYSTEM SET WALLET OPEN IDENTIFIED BY "password";

ALTER SYSTEM SET WALLET CLOSE;


References : http://www.oraclebase.com/articles/10g/TransparentDataEncryption_10gR2.php