Неправильная кодировка в sqlplus

Новички часто сталкиваются с такой проблемой: при запуске sqlplus все сообщения выдаются в неправильной кодировке.
sqlplus ошибка кодировки
Проблема возникает при несовпадении кодировки Oracle клиента с кодировкой, заданной для Dos-консоли. Соответственно, надо либо изменить первую, либо вторую.

Кодировка клиента Oracle задается в реестре
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG, либо переменной окружения NLS_LANG. Поэтому проще всего сменить кодировку клиента командой:

set NLS_LANG=RUSSIAN_RUSSIA.RU8PC866

Кодировка Dos-консоли меняется командой chcp:

C:\>chcp 1251
Текущая кодовая страница: 1251


Замечание: при смене кодовой страницы для DOS-консоли на 1251, следует убедиться что для неё установлены шрифты Lucida Console.

смена шрифта на Lucida Console

Полезные SQL-запросы

-- Получение данных о версии БД Oracle
SELECT * FROM V$VERSION;

-- Получение текущей даты и времени на сервере
SELECT TO_CHAR(sysdate,'dd/mm/yyyy hh24:mi:ss') FROM DUAL;

-- Получение имён всех таблиц в БД
SELECT TABLE_NAME FROM SYS.ALL_TABLES;

-- Получение имён пользователей в базе данных
SELECT USERNAME FROM USERS;

-- Получения всех объектов пользователя (таблиц, представлений, последовательностей, индексов и т.д.)
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OWNER='...';

-- Получение количества записей в таблице
SELECT T.NR FROM (SELECT ROWNUM R, NUM_ROWS NR, TABLE_NAME TN FROM SYS.ALL_TABLES) T WHERE TN='...';

-- Получение имён всех колонок в заданной таблице
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...';

-- Получение информации о типе заданной колонки в заданной таблице
SELECT DATA_TYPE FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...' AND COLUMN_NAME='...';

Кто такой Том Кайт?

Томac Кайт (Tom Kyte) - самый авторитетный гуру по СУБД Оракл, вице-президент Oracle Corporation и архитектор СУБД Oracle. Том работает с базами данных Oracle еще с 1987 года, а в 1993 году Том работает непосредственно в корпорации.

Любой ораклоид знает Тома как автора популярных книг, в том числе Oracle for professionals, Expert One on One Oracle, Effective Oracle by Design и других, а также популярного сайта AskTom (asktom.oracle.com), где Том отвечает на многочисленные вопросы по Ораклу.

Кстати, у тома есть свой персональный блог на блогспоте - tkyte.blogspot.com.