Secondo la documentazione
ODP.NET, il driver gestito non dipende da NLS_LANG impostazioni, solo su .NET locale.
Controlla il tuo CultureInfo.CurrentCulture valore. Questa pagina Procedura:impostare la cultura e la cultura dell'interfaccia utente per la pagina Web ASP.NET Globalizzazione
dovrebbe aiutarti. Devi impostare una lingua che supporti i caratteri arabi.
Verifica nuovamente il tipo di dati della colonna SP_FLG è NVARCHAR2 , risp. NCLOB (non VARCHAR2 )
Prova anche a utilizzare le variabili di collegamento:
cmd.CommandText = "UPDATE SHAHR_POS SET SP_FLG = :val"
cmd.Parameters.Add("val", OracleDbType.NVarchar2, ParameterDirection.Input).Value = "سلام"