Just define the maximum length to 12 - it would be much easier:
create table customer (
rollcall number CONSTRAINT rc_pk PRIMARY KEY,
fname varchar(2) not NULL,
lname varchar(2) not NULL,
phone varchar2(12)
);
EDIT:
Now that the question has been reworded to explain that the length of the field should be exactly 12 characters, it's clear that you do, in fact, need a check constraint. The issue in your original snippet was a misplacement of the closing bracket. The following snippet shows the correct placement, with the entire condition enclosed in the check clause's brackets:
create table customer (
rollcall number CONSTRAINT rc_pk PRIMARY KEY,
fname varchar(2) not NULL,
lname varchar(2) not NULL,
phone varchar2(12) check (length(phone) = 12) -- here
);