====== Oracle ======
===== Kliens =====
* **Parancssorból:** ''sqlplus''
* **Grafikus felületről:** [[http://www.oracle.com/technetwork/developer-tools/sql-developer/index.html|Oracle SQL Developer]]
===== Verzió lekérdezése =====
SELECT * FROM V$VERSION;
BANNER
----------------------------------------------------------------
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
===== Export-import =====
* http://workingbinary.com/2012/03/export-and-import-table-data-using-oracle-exp-and-imp/
exp username/password@database tables=table1,table2 file=table_data.dmp
imp username/password@database file=table_data.dmp
===== Auto commit =====
set autocommit imm
===== Adat típusok =====
* http://www.techonthenet.com/oracle/datatypes.php
===== Változási napló =====
* http://oracle-base.com/articles/10g/auditing-10gr2.php
* http://docs.oracle.com/cd/B19306_01/network.102/b14266/cfgaudit.htm#i1007942
* http://www.dba-oracle.com/t_audit_table_command.htm
- Lépjünk be helyileg, ''root''-ként az Oracle szerverre
- Lépjünk át az adatbázis felhasználójára:
su - oracle
- Jelentkezzünk be ''SYSDBA''-ként az SQL-be:
sqlplus / as sysdba
- Ellenőrizzük le az auditálási beállításokat:
SHOW PARAMETER AUDIT
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /home/oracle/app/oracle/admin/
testdb/adump
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB
unified_audit_sga_queue_size integer 1048576
- Ha az ''audit_trail != DB'', vagy az ''audit_sys_operations != true'', akkor át kell állítanunk:
- Paraméterek beállítása:
ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE;
ALTER SYSTEM SET audit_sys_operations=true SCOPE=spfile;
- Beállítások érvénybe léptetése:
SHUTDOWN IMMEDIATE
STARTUP
- Kapcsoljuk be az auditálást a ''test_user'' összes mozzanatára:
CONNECT sys/password AS SYSDBA
AUDIT ALL BY audit_test BY ACCESS;
AUDIT SELECT TABLE, UPDATE TABLE, INSERT TABLE, DELETE TABLE BY audit_test BY ACCESS;
AUDIT EXECUTE PROCEDURE BY audit_test BY ACCESS;
- Hozzunk létre egy felhasználót, aki eléri majd az audit logokat:
CREATE USER audit_test IDENTIFIED BY temp_password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;
GRANT connect TO audit_test;
GRANT ALL ON dba_audit_trail TO audit_test;
- Audit logok olvasásához:
SELECT * FROM (
SELECT "uid", "datetime", "message" FROM (
SELECT
to_char(EXTENDED_TIMESTAMP,'YYYYMMDDHH24MiSSFF') AS "uid",
extended_timestamp AS "datetime",
'OS_USERNAME=''' || os_username || ''';USERNAME=''' || username || ''';USERHOST=''' || userhost || ''';TERMINAL=''' || terminal || ''';TIMESTAMP=''' || to_char(timestamp, 'YYYY-MM-DD HH24:Mi:SS') || ''';OWNER=''' || owner || ''';OBJ_NAME=''' || obj_name || ''';ACTION=''' || action || ''';ACTION_NAME=''' || action_name || ''';NEW_OWNER=''' || new_owner || ''';NEW_NAME=''' || new_name || ''';OBJ_PRIVILEGE=''' || obj_privilege || ''';SYS_PRIVILEGE=''' || sys_privilege || ''';ADMIN_OPTION=''' || admin_option || ''';GRANTEE=''' || grantee || ''';AUDIT_OPTION=''' || audit_option || ''';SES_ACTIONS=''' || ses_actions || ''';LOGOFF_TIME=''' || logoff_time || ''';LOGOFF_LREAD=''' || logoff_lread || ''';LOGOFF_PREAD=''' || logoff_pread || ''';LOGOFF_LWRITE=''' || logoff_lwrite || ''';LOGOFF_DLOCK=''' || logoff_dlock || ''';COMMENT_TEXT=''' || comment_text || ''';SESSIONID=''' || sessionid || ''';ENTRYID=''' || entryid || ''';STATEMENTID=''' || statementid || ''';RETURNCODE=''' || returncode || ''';PRIV_USED=''' || priv_used || ''';CLIENT_ID=''' || client_id || ''';ECONTEXT_ID=''' || econtext_id || ''';SESSION_CPU=''' || session_cpu || ''';EXTENDED_TIMESTAMP=''' || to_char(extended_timestamp,'YYYY-MM-DD HH24:Mi:SS.FF') ||''';PROXY_SESSIONID=''' || proxy_sessionid || ''';GLOBAL_UID=''' || global_uid || ''';INSTANCE_NUMBER=''' || instance_number || ''';OS_PROCESS=''' || os_process || ''';TRANSACTIONID=''' || transactionid || ''';SCN=''' || scn || ''';SQL_BIND=''' || sql_bind || ''';SQL_TEXT=''' || sql_text || ''';OBJ_EDITION_NAME=''' || obj_edition_name || ''';DBID=''' || dbid || '''' as "message"
FROM DBA_AUDIT_TRAIL
) WHERE "uid" > '0' ORDER BY "uid"
) WHERE rownum <= 3000;
===== Szerver telepítés =====
* http://ftp.suse.com/pub/partners/oracle/docs/11gR2_sles11_sp1_install.pdf
===== Problémák =====
*
ORA-011033: ORACLE initialization or shutdown in progress
http://stackoverflow.com/questions/53676/how-to-resolve-ora-011033-oracle-initialization-or-shutdown-in-progress
===== Felhasználó profiljának lekérdezése =====
- Lépjünk be SYSDBA felhasználóval:
sqlplus / as sysdba
- ''FOO_USER'' profiljának lekérdezése:
select profile from DBA_USERS where username = 'FOO_USER';
===== Jelszó lejárat kikapcsolása =====
- Lépjünk be SYSDBA felhasználóval:
sqlplus / as sysdba
- Jelszó lejárat kikapcsolása a ''DEFAULT'' profilban:
alter profile DEFAULT limit password_life_time UNLIMITED;
===== Lejárat jelszó reset-elése =====
- Lépjünk be SYSDBA felhasználóval:
sqlplus / as sysdba
- ''FOO_USER'' jelszavának reset-elése:
alter USER FOO_USER IDENTIFIED BY FOO_PASSWORD ACCOUNT UNLOCK;