Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (20)
  • Что должен знать SQL разработчик?

    @Oraclist
    Прежде, чем развивать компетенции в какой-то конкретной технологии СУБД, надо сначала прокачаться в теории БД.
    Что такое множества. Операции над множествами. Сущности (поля, кортежи, таблицы, индексы, последовательности, транзакции и т.д.). Связи таблиц (виды и типы связей). Доступ к данным и т.д.
    А уже потом выбирать или не выбирать конкретную технологию.

    А то бывает приходят люди с опытом PLSQL, вроде и код пишет и стандартные функции знает.
    А про левое/правое соединение ни гугу.

    Добавлено: про нормальные формы забыл еще написать
    Ответ написан
  • Какую из этих книг лучше купить для изучения СУБД компании Oracle?

    @Oraclist
    "Том Кайт - Oracle для профессионалов" или ее оригинал Thomas Kyte "Expert one-on-one Oracle"
    Ответ написан
  • Почему не соединяется клиент с базой данных Oracle?

    @Oraclist
    По пунктам:
    1. Пробуй подключиться к БД локально (подключаешься по SSH, в командной строке su - oracle, прыгаешь в папку размещения sqlplus, запускаешь sqlplus /nolog, далее conn / as sysdba, вводишь пароль SYS'a.
    Если, ОК значит БД может принимать подключения.
    Заодно проверь, что экземпляр запущен.
    2. Там же из SSH пробуй подключиться через листенер (sqlplus /nolog, вводишь sys@имя_БД, если получишь приглашение на ввод пароля, то всё ОК.
    3. Если нет, то tnsping имя_БД. Если пинга нет, то настраивай tnsnames.ora. Рекомендую хранить только один экземпляр файла с таким именем на хосте. Путь к файлу можно задать через переменную окружения TNS_ADMIN.
    4. Если в п.2. ОК, то повтори п.3 с удаленного хоста.
    5. Если в п.4. ОК, то выгони инопланетян из компьютера)
    6. Если в п.4 не ОК. Пробуй сначала "telnet имя_хоста 1521". Есть приглашение - есть доступ к хосту. Нет приглашения - кури файрвол.
    7. Если есть доступ к хосту и нет связи, настраивай удаленный tnsnames.ora. Рекомендации теже.

    tnsnames.ora расположен в ORA_HOME/NETWORK/ADMIN или по пути в переменной окружения TNS_ADMIN.

    Вот пример одной настройки из файла
    Имя_БД=
    (DESCRIPTION=
    (ADDRESS=(PROTOCOL=TCP)(HOST=IP_хоста_или_доменное_имя)(PORT=1521))
    (CONNECT_DATA=(SID=SID_БД)(SERVER=DEDICATED))
    )
    SID_БД можно глянуть командой lsnrctl status в командной строке по SSH
    Ответ написан
  • Как лучше сохранять в базу данных номера телефонов?

    @Oraclist
    ИМХО, правильный ответ - как требуется потребителям (другим системам).
    Можно сделать несколько полей:
    1 - эталонный формат номера varchar2(20 char). Например, 79898112211
    2 - преобразованный формат номера. Например, +7 (989) 811-22-11.
    При добавлении выдавать пользователю вопрос, хотите стандартно или нестандартно + варианты нестандартных написаний и т.д.
    Эталонный формат хранить обязательно. Как ключ. И хранить преобразованный, чтобы не выполнять каждый раз преобразование при обращении.
    Ответ написан
  • Можно ли sql запросом получить схему БД Oracle?

    @Oraclist
    Ну и последний вариант export/import схемы с ROWS=0 (без данных). Не совсем SQL, но может пригодиться.
    Ответ написан