First of all, if the 15 characters must be digits, shouldn't you use a DECIMAL(15) data type instead?
However...
Add a CHECK condition to the table which converts the digits to a DECIMAL(15) and back to a CHAR(15). Then compare the resulting string to the original. You will get a conversion SQL error if they are not digits.
It is not trivial (I think):
-
alter table sample add
-
check(substr(char(decimal(substr(col1,1,15),15,0)),1,15) = substr(col1,1,15) and col1 like '% ')
-
Good luck.