Revert back some escape_identifiers() to proect_identifiers() as the first one can't handle arrays
diff --git a/system/database/drivers/oci8/oci8_forge.php b/system/database/drivers/oci8/oci8_forge.php
index 4fd3dc4..be09375 100644
--- a/system/database/drivers/oci8/oci8_forge.php
+++ b/system/database/drivers/oci8/oci8_forge.php
@@ -100,8 +100,7 @@
 
 		if (count($primary_keys) > 0)
 		{
-			$primary_keys = $this->db->escape_identifiers($primary_keys);
-			$sql .= ",\n\tCONSTRAINT ".$table.' PRIMARY KEY ('.implode(', ', $primary_keys).')';
+			$sql .= ",\n\tCONSTRAINT ".$table.' PRIMARY KEY ('.implode(', ', $this->db->protect_identifiers($primary_keys)).')';
 		}
 
 		if (is_array($keys) && count($keys) > 0)
@@ -109,7 +108,7 @@
 			foreach ($keys as $key)
 			{
 				$key = is_array($key)
-					? $this->db->escape_identifiers($key)
+					? $this->db->protect_identifiers($key)
 					: array($this->db->escape_identifiers($key));
 
 				$sql .= ",\n\tUNIQUE COLUMNS (".implode(', ', $key).')';