Новички часто сталкиваются с такой проблемой: при запуске 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.
Неправильная кодировка в sqlplus
Полезные 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.