is there a boolean type in oracle databases?
There is a boolean type for use in pl/sql, but none that can be used as the data type of a column.
A common space-saving trick is storing boolean values as an Oracle CHAR, rather than NUMBER:
Not only is the boolean datatype missing in Oracle's SQL (not PL/SQL), but they also have no clear recommendation about what to use instead. See this thread on asktom. From recommending CHAR(1) 'Y'/'N' they switch to NUMBER(1) 0/1 when someone points out that 'Y'/'N' depends on the English language, while e.g. German programmers might use 'J'/'N' instead.
The worst thing is that they defend this stupid decision just like they defend the ''=NULL stupidity.
No there doesn't exist type boolean,but instead of this you can you 1/0(type number),or 'Y'/'N'(type char),or 'true'/'false' (type varchar2).
Just because nobody mentioned it yet: using RAW(1) also seems common practice.