Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Команддная строка.Создание/Удаление схемы(Юзера), Помогите пожалста советом. 
V
    Опции темы
SimpAlex
  Дата 9.5.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



Доброго времени суток!

У меня возникла следующая проблемка : есть некая схема (TEMP) на главном сервере где стоит Оракл 10.

Раз в неделю по электронке дамп (exp temp/passtemp file=c:\tempdump.dmp) этой схемы пересылается диллерам. У них тоже стоит Оракл 10. Им приходится удалять через Веб-интерфейс пользователя TEMP затем создавать, потом через консоль импортировать (imp temp/passtemp file=c:\tempdump.temp fromuser=temp touser=temp).

Мне бы очень хотелось этот процесс автоматизировать, а именно написать такой bat-ник, чтобы пользователи просто выполняли его, а в этот момент происходили следующие действия:

1 удаление старой схемы-пользователя temp.
2 создаение новой схемы temp, с полными правами dba.
3 импорт данных из дампа-файла.

Через комндную строку SQL я прочел примерно как это делать, но мне важно чтобы пользователям ничего строннего не следовало запускать, просто выполним один батник.

С уважением, Владимир.
PM MAIL   Вверх
ToshaCh
Дата 9.5.2009, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 555
Регистрация: 10.11.2005
Где: Москва, РФ

Репутация: 12
Всего: 26



И в чём проблема? За тебя никто писать не будет. Конкретные вопросы возникнут, спрашивай.


--------------------
Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 
--
Oracle это не только способ отмывания денег, но и вполне себе преличная база данных.
PM MAIL Jabber   Вверх
SimpAlex
Дата 9.5.2009, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



Окей, меня интересует - как из виндовской консоли (cmd) удалить,а потом создать какуюто схему?

Если брать SQL*plus, то там вроде ничего сложного : 

Удаляем
Код

connect sys/passsys as sysdba
drop user temp cascade


Создаем
 
Код

create user temp identified by password
  default tablespace USERS
  temporary tablespace TEMP
  profile DEFAULT

grant connect to temp
grant dba to temp
grant unlimited tablespace to temp


Импортировать и экспортировать в CMD - я знаю как.
Я не прошу за меня сделать, просто мб ктото сталкивался с подобным и есть какието наработки-советы.
PM MAIL   Вверх
ToshaCh
Дата 9.5.2009, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 555
Регистрация: 10.11.2005
Где: Москва, РФ

Репутация: 12
Всего: 26



Пишешь нужные команды в файл, скажем 1.sql. Команды пишешь так как если бы ты набирал их в sqlplus (т.е. с ; и / там где это необходимо). в конце не забуть написать exit

А затем вызваешь его из батника: sqlplus -S "user/password@SID" @1.sql >> log.txt

Цитата(SimpAlex @  9.5.2009,  18:18 Найти цитируемый пост)

grant connect to temp
grant dba to temp
grant unlimited tablespace to temp

Вместо этого можно поступить более гибко и перед удалением пользователя выяснять его системные привилегии через табличку dba_sys_privs, подготавливать временный скрипт с помощью select и spool, а потом запускать его.



--------------------
Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 
--
Oracle это не только способ отмывания денег, но и вполне себе преличная база данных.
PM MAIL Jabber   Вверх
SimpAlex
Дата 9.5.2009, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



ToshaCh, Огромное спасибо) завтра опробую Ваш метод) о результате отпишусь!
PM MAIL   Вверх
SimpAlex
Дата 11.5.2009, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



Попробовал ... не получилось.

Создал документ imp.sql , создал батник. При исполнении его выдает окно с параметрами коммандной строки для sqlplus.

impStart.bat
Код

C:\oraclexe\app\oracle\product\10.2.0\server\BIN\SQLPLUS.EXE -S "SYS AS SYSDBA/ххххххх@XE" @imp.sql >> LOG.TXT


imp.sql
Код

DROP USER KOGARANT CASCADE
/
CREATE USER KOGARANT  IDENTIFIED BY хххххххх
/
EXIT



LOG.TXT
Код

SQL*Plus: Release 10.2.0.1.0 - Production

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Usage 1: sqlplus -H | -V

    -H           Displays the SQL*Plus version and the
           usage help.
    -V           Displays the SQL*Plus version.

Usage 2: sqlplus [ [<option>] [<logon>] [<start>] ]

  <option> is: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

    -C <version>   Sets the compatibility of affected commands to the
           version specified by <version>.  The version has
           the form "x.y[.z]".    For example, -C 10.2.0
    -L           Attempts to log on just once, instead of
           reprompting on error.
    -M "<options>" Sets automatic HTML markup of output.  The options
           have the form:
           HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text]
           [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
    -R <level>       Sets restricted mode to disable SQL*Plus commands
           that interact with the file system.    The level can
           be 1, 2 or 3.  The most restrictive is -R 3 which
           disables all user commands interacting with the
           file system.
    -S           Sets silent mode which suppresses the display of
           the SQL*Plus banner, prompts, and echoing of
           commands.

  <logon> is: (<username>[/<password>][@<connect_identifier>] | /)
          [AS SYSDBA | AS SYSOPER] | /NOLOG

    Specifies the database account username, password and connect
    identifier for the database connection.  Without a connect
    identifier, SQL*Plus connects to the default database.

    The AS SYSDBA and AS SYSOPER options are database administration
    privileges.

    The /NOLOG option starts SQL*Plus without connecting to a
    database.

  <start> is: @<URL>|<filename>[.<ext>] [<parameter> ...]

    Runs the specified SQL*Plus script from a web server (URL) or the
    local file system (filename.ext) with specified parameters that
    will be assigned to substitution variables in the script.

When SQL*Plus starts, and after CONNECT commands, the site profile
(e.g. $ORACLE_HOME/sqlplus/admin/glogin.sql) and the user profile
(e.g. login.sql in the working directory) are run.  The files may
contain SQL*Plus commands.

Refer to the SQL*Plus User's Guide and Reference for more information.


Где же я ошибся?

Это сообщение отредактировал(а) SimpAlex - 11.5.2009, 10:13
PM MAIL   Вверх
ToshaCh
Дата 11.5.2009, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 555
Регистрация: 10.11.2005
Где: Москва, РФ

Репутация: 12
Всего: 26



Цитата(SimpAlex @  11.5.2009,  09:05 Найти цитируемый пост)
SYS AS SYSDBA/ХХХХХХХХХ


Для начала НЕ ПОСТЬ ПАРОЛИ НА ФОРУМ!!!! 

А во вторых "sys/password@xe as sysdba" или "/ as sysdba"

Там sqlplus даже подсказку выдал:
Цитата

<logon> is: (<username>[/<password>][@<connect_identifier>] | /)
          [AS SYSDBA | AS SYSOPER] | /NOLOG



Это сообщение отредактировал(а) ToshaCh - 11.5.2009, 09:15


--------------------
Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 
--
Oracle это не только способ отмывания денег, но и вполне себе преличная база данных.
PM MAIL Jabber   Вверх
SimpAlex
Дата 11.5.2009, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 30
Регистрация: 22.5.2008

Репутация: нет
Всего: нет



ToshaCh,  Спасибо) заработало!

З.Ы. Пароль это от моей локальной тренировочной базы, но учту на будущее в любом случае) ...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.