The only requirement for being a primary key is that it must be comparable. If you can tell for sure that values of the data type are equal or not, then they can be primary keys. Through SQL 2005, the only thing this excludes is NULL values (primary keys can not be NULL-able).
SQL> create table "123" as select * from employees;
SQL> create table 123 as select * from employees;
create table 123 as select * from employees
ERROR at line 1:
ORA-00903: invalid table name
It can be done. You can also stick your fingers in a plug socket. Doesn't make it a good idea.