[ owner @ 27.05.2010. 09:17 ] @
Pozdrav,

da li neko zna na koji nacin se mogu konektovati na bazu sa npr userom SYS, npr preko BAT fajla a da ne moram u njemu napisati password SYS usera?
Mozda moze pomocu PWD%.ora fajla al kako?

Unapred zahvaljujem
[ djoka_l @ 27.05.2010. 09:45 ] @
Za konekciju sa lokalne mašine na Oracle bazu dovoljno je da korisnik ima odgovorajuću grupu da bi mogao uspešno da se uloguje sa:

sqlplus "/ as sysdba"

Na unixu je to najčšće grupa "dba", na Windowsu "ORA_DBA". Takođe, sqlnet.ora mora da ovo dozvoli postavljanjem parametra:

SQLNET.AUTHENTICATION_SERVICES=(NTS)

Uputstvo kako da se dozvoli remote login bez passworda na SYS nalog sam našao ovde: http://it.toolbox.com/wiki/ind...sdba_to_Oracle_database_server
[ owner @ 27.05.2010. 10:19 ] @
@djoka hvala na odgovoru

Moj SYS user ima privilegiju SYSDBA i SYSOPF.Imam kreiran PWD fajl za SYS usera.
E sada bih zeleo npr iz BAT fajla da se konektujem na bazu kao SYS al da nemoram napisati i password u taj fajl.
Do sada stoji npr. "connect sys/syspassword as sysdba" a ja bih hteo bez pisanja pasworda, tipa "conn SYS as sysdba".

Ako probam iz dos prozora samo sa sqlplus "/ as sysdba" onda javi ora-01031 jer zeli da mu napisem usera.
Ako probam sqlplus "sys/ as sysdba" onda mi trazi ponovo da napisem password.
[ djoka_l @ 27.05.2010. 10:39 ] @
Evo malo istorije:

Zaključno sa verzijom baze 7, konektovanje na bazu (za SYSove potrebe) je išlo kroz program sqldba, a na verziji 8 kroz svrmgrl. Kada bi se pokrenuli ovi programi, tada je "connect internal" značilo da se želi konekcija kao SYS, ali bez passworda.

Od verzije 9 baze, ukinuti su posebni programi (sqldba, svrmgrl), nego se koristi sqlplus, i nestala je sintaksa "connect internal". Takođe je uvedena obaveza da se za SYS konekcije OBAVEZNO koristi "as sysdba" klauzula. Umesto "connect internal", tvoja želja da se uloguješ kao SYS se izražava time što staviš "/". Znači, ne može da se stavi ništa drugo, jer u suprotnom pita za password.

Znači "connect sys as sysdba" će, bez obzira kako podesio bezbednost tražiti password, dok će "connect / as sysdba" dati ORA-01031 ako sistem ne dozvoljava konekciju na sys bez passworda.

Proveri šta piše u $ORACLE_HOME/network/admin/sqlnet.ora

Ako tamo nema

SQLNET.AUTHENTICATION_SERVICES=(NTS)

onda ne može da se konektuje bez passworda na SYS nalog.
[ owner @ 27.05.2010. 11:11 ] @
Evo ovako,

u sqlnet.ora stoji: SQLNET.AUTHENTICATION_SERVICES = (NTS)

show parameter remote_login_passwordfile
NAME TYPE VALUE
----------------------------------------------------------
remote_login_passwordfile string EXCLUSIVE


select * from v-$pwfile_users;
USERNAME SYSDBA SYSOPER
----------------------------------------------------------
SYS TRUE TRUE

Medutim ako pokusam sqlplus "/ as sysdba" dobijem gresku "ora-01031 insufficient privileges"
[ owner @ 27.05.2010. 11:17 ] @
@djoka hvala ti na objasnjenju.

Problem je resen, nisam imao ora_dba grupu.
[ djoka_l @ 27.05.2010. 11:23 ] @
Pretpostavljam da radiš na Win serveru.
Proveri da li korisnik koji pušta skript pripada ora_dba grupi




Daj mi rezultat komande:

lsnrctl status
[ djoka_l @ 27.05.2010. 11:26 ] @
OK, u isto smo vreme postovali...
Srećno!
[ owner @ 27.05.2010. 11:41 ] @
@djoka jos jedno pitanje ako moze.

Naime, export baze startujem sa jednim BAT fajlom u kojem stoji npr.

EXP user/password full=y file=exp_aa.dmp log=exp_aa.log statistics=none

Na koji nacin bih mogao u ovom fajlu da postavim user SYS ali bez passworda ili pomocu nekog drugog usera ali da ne stoji password u ovom fajlu.
[ djoka_l @ 27.05.2010. 11:51 ] @
Ne može bez passworda. Postoje role EXP_FULL_DATABASE i IMP_FULL_DATABASE koje se mogu dati userima zaduženim za eksport/import podataka.
[ owner @ 27.05.2010. 12:02 ] @
Tako sam i mislio, jos jednom hvala:)