Friday, June 5, 2009

DATABASE YÖNETİMİNDE YARDİMCİ BAZI SORGULAR

Veri tabanı adini bulmakta kullanılabilir.

Select name from v$database;
select instance_name from v$instance;
select * from global_name;
SELECT VALUE FROM V$PARAMETER WHERE NAME='db_name';
select to_number(translate(substr(version,1,9),'1.$','1')) from v$instance;
select s.machine from v$session s where s.audsid userenv('sessionid');
select global_name from global_name;

Başka kullanıcın tablolari görmek ve onlar üzerinde işlem yapmak
bize sh kullanıcının tablalarını gösterir
select * from dba_all_tables where owner='SH';
veritabanındaki bütün tabloları tutan tablonun özellikleri
desc dba_ all_ users;
veritabanındaki toplam tablo sayısını verir.
select count (*) from dba_all_tables ;
SYS olarak bağlandığımız veritanından yada SH kullanıcının tablolarını görmeye yetkili bir kullanıcıdan SH in CUSTOMERS tablosu üzerinde işlem yapmak için
select COUNT (*) from SH.CUSTOMERS;

SH userının CUSTOMER tablosunun yapısını verir.
DESC SH.CUSTOMERS;

sys oalrak bağlandim ve kilitli olan SH kullanıcı açtim ayrıca ona yeni bir parola verdim.
SQL> conn sys as sysdba
Parolayı girin: *******
Bağlandı.
SQL> alter user SH account unlock;

Kullanıcı değiştirildi.

SQL> password SH
SH parolası değiştiriliyor
Yeni parola: ******
Yeni parolayı yeniden yazın: ******
Parola değişti

sqlplus da bağlı olan kullanıcıyı görmek için
show user ;
bu komut ile şu anda hangi kullanıcı ile bağlı olduğunuzu görebilirsiniz.
show all diyerek size birçok parametreyi gösretecektir. o anki durumu buradan inceleyebilirsiniz.

oturum dilini değiştirmek için

SQL> alter session set nls_language = 'turkish';

Oturum de­i■tirildi.

SQL> select * from v$nls_parameters where parameter like '%LAN%';

PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_LANGUAGE
TURKISH

NLS_DATE_LANGUAGE
TURKISH


SQL> alter session set nls_language = 'english';

Session altered.

SQL> select * from v$nls_parameters where parameter like '%LAN%';

PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_LANGUAGE
ENGLISH

NLS_DATE_LANGUAGE
ENGLISH

kullanıcıya dba_tables üserinde select yetkisi vermek.
GRANT SELECT ON dba_tables TO user_name;

No comments: