Mixture of byte and character semantics in Oracle DB
Length Semantics is an option to define the SQL character types in terms of either bytes or characters. Before Oracle 9i we had only one option that is byte semantic, we used to define CHAR, VARCHAR, CLOB etc in terms of bytes. This is fine for single-byte character sets where one character is equal to one byte. But in multi-byte character sets this could be a problem because a character that you wanted to store could be larger than a byte.
For example: If you defined a column as VARCHAR2(10) and the character is multi-byte(Chinese characters for example) then it may take more than 10 bytes to store 10 characters.
After Oracle 9i we have two option we can now define SQL characters either in Byte or in Character length semantics. Byte is default length semantic.

Is there any issues if a table having mixture of byte or character semantics in a table?

The main reason to specifying the length semantics first it properly documents the expected semantics in DDL statements and second it makes the statements independent of execution environment.
If you define the column as CHAR length semantic then a single character might take a different number of bytes to store, the width of the character in bytes is variable.
If you define the column as BYTE length semantic then it takes only one byte for one character and if you try to store a character which is multi-byte then you will get an error.

Any implication in terms of performance?

No, AFAIK. Because length semantics has nothing to do with how the data is interpreted.

Caution:
Oracle strongly recommends that you do NOT set the NLS_LENGTH_SEMANTICS parameter to CHAR in the instance or server parameter file. This may cause many existing installation scripts to unexpectedly create columns with character length &gt;semantics, resulting in runtime errors, including buffer overflows.

Reference: Length Semantics