По рабочей необходимости мне потребовалось установить на один Debian 7 клиент Oracle, чтобы в последствии использовать его при разработке сетевого приложения на php используя модуль oci8. Ранее я уже писал подобную статью, но про установку базы данных Oracle: http://devppp.blogspot.ru/2013/02/oracle-11g-release-2-ubuntu-1204-amd64.html Тут же описывается только клиент, который нужно установить на свежеустановленный Debian 7 без графического интерфейса и […]
Рубрика: Базы данных
Про работу с различными базами данных
Настройка master<->master репликации PostgreSQL через Bucardo
Хочу поделиться своим опытом настройки репликации PostgreSQL типа master<->master, которую мне потребовалось развернуть для уменьшения нагрузки на компьютер, на котором изначально была одна база, но со временем нагрузка на компьютер так возросла, что база перестала справляться. Итак, что у нас есть и что нам нужно: Есть 2 компьютера с чистой Debian 7 (pg1 -> 192.168.2.11 […]
Как узнать значение NLS_NUMERIC_CHARACTERS
Вот пример простого скрипта: select ‘Database nls_numeric_characters = «‘ || value || ‘»‘ from nls_database_parameters where parameter = ‘NLS_NUMERIC_CHARACTERS’ union allselect ‘Instance nls_numeric_characters = «‘ || value || ‘»‘ from nls_instance_parameters where parameter = ‘NLS_NUMERIC_CHARACTERS’ union allselect ‘Session nls_numeric_characters = «‘ || value || ‘»‘ from nls_session_parameters where parameter = ‘NLS_NUMERIC_CHARACTERS’/
Памятка: Расширение датафайлов Oracle
Отобразить все датафайлы: SELECT NAME, FILE# FROM V$DATAFILE; Увеличить размер дата-файла: alter database datafile ‘/d/db/oradata/oss/reporter/etload/etlddl_1.dbf’ autoextend on next 32M maxsize 20000M; Добавить новый дата-файл: alter tablespace ETLDDL_1 add datafile ‘/d/db/oradata/oss/reporter/etload/etlddl_1_2.dbf’ size 32M autoextend on next 32M maxsize 32000M;
Пример использования утилиты EXPDP и IMPDP
Допустим нам нужно перенести схему test с инстанса olddb на newdb, при всём этом нужно перенести не только структуру всех таблиц, но и все данные в них, для этого есть такие замечательные утилиты как EXPDP и IMPDP. Сервер #1 (Донор) Для этого подключимся к серверу и создадим директорию, в которую будет выгружаться файл схемы: sqlplus /nologCREATE […]
Создание пользователя с правами SYSDBA
Создадим пользователя и укажем пароль для него: SQL> create user newuser identified by password;User created. Разрешим подключение через сеть: SQL> grant create session to newuser;Grant succeeded. Дадим права SYSDBA: SQL> grant sysdba to newuser;Grant succeeded.
Решение ORA-01139: RESETLOGS option only valid after an incomplete database recovery
Ошибка подъёма базы, которую можно исправить следующим способом: sqlplus /nologconn / as sysdbacreate spfile from pfile;create pfile from spfile; Добавим в $ORACLE_HOME/dbs/init<SID>.ora строку вида:*._allow_resetlogs_corruption=true startup pfile=’init<SID>.ora’ mount;recover database until cancel;alter database open resetlogs;
Удаление всех объектов схемы Oracle
В результате выполнения скрипта, в директории из которой Вы запустили sqlplus, будет сформирован скрипт на удаление всех объектов текущей схемы: SET NEWPAGE 0SET SPACE 0SET PAGESIZE 0SET ECHO OFFSET FEEDBACK OFFSET HEADING OFF SPOOL drop_all.sql SELECT ‘DROP ‘||OBJECT_TYPE||’ «‘||OBJECT_NAME||'» CASCADE CONSTRAINTS;’FROM USER_OBJECTSWHERE OBJECT_TYPE=’TABLE’; SELECT ‘DROP ‘||OBJECT_TYPE||’ «‘||OBJECT_NAME||'»;’ FROM USER_OBJECTS WHERE (OBJECT_TYPE<>’TABLE’) AND (OBJECT_TYPE<>’INDEX’) AND (OBJECT_TYPE<>’TRIGGER’); […]
Как в PostgreSQL перенести данные из одной таблицы в другую?
Допустим нам необходимо перенести данные из одной таблицы в другую, для этого достаточно выполнить такой вот запрос в базу: INSERT INTO tab1 (nick, pass) select username, hash from tab2;
Как перенести базу данных PostgreSQL с одного сервера на другой?
На сервере источнике создадим дамп: sudo su — postgrespg_dumpall —host=127.0.0.1 —port=5432 —database=base —file=base.dump Затем перенесём файл на другой сервер, например используя scp. После чего выполним импорт базы: sudo su — postgrespsql -Upostgres -h newhost -f base.dump