Oracle: Unterschied zwischen den Versionen
Aus MeinWiki
(→Move Datefile) |
(→OPatch aktualisieren) |
||
Zeile 96: | Zeile 96: | ||
*Parameter ORACLE_HOME überprüfen. | *Parameter ORACLE_HOME überprüfen. | ||
*Inventory anzeigen (OPatchversion). | *Inventory anzeigen (OPatchversion). | ||
+ | $ORACLE_HOME/OPatch/opatch version | ||
$ORACLE_HOME/OPatch/opatch lsinventory | $ORACLE_HOME/OPatch/opatch lsinventory | ||
*Patch entpacken. (muss nicht innerhalb der Oracleinstallation sein) | *Patch entpacken. (muss nicht innerhalb der Oracleinstallation sein) | ||
Zeile 101: | Zeile 102: | ||
*Patch in das Verzeichnis kopieren(Berechtigung beachten). | *Patch in das Verzeichnis kopieren(Berechtigung beachten). | ||
*Inventory anzeigen (OPatchversion). | *Inventory anzeigen (OPatchversion). | ||
+ | |||
=== Patch einspielen === | === Patch einspielen === | ||
*Patch entpacken. | *Patch entpacken. |
Version vom 8. Oktober 2020, 16:23 Uhr
Inhaltsverzeichnis
Berechtigung verwalten
- User Berechtigung auf ein Objekt erteilen. (All, Select, Insert, Update, Delete, Alter, Referenz, Index)
grant "Privileges" on "object" to "user"; grant "Privileges", "Privileges", on "object" to "user";
- User Berechtigung von ein Objekt entfernen. (All, Select, Insert, Update, Delete, Alter, Referenz, Index)
revoke "Privileges" on "object" from "user";
- User zu Gruppe hinzufügen
grant "Role" to "user"; grant "Role", "Role" to "user";
- User von einer Gruppe entfernen
revoke "Role" from "user";
- User Berechtigung zum Ausführen von Funktionen/Prozeduren erteilen
grant execute on "object" to "user";
- User Berechtigung zum Ausführen von Funktionen/Prozeduren erteilen
revoke execute on "object" from "user";
- Passwortablauf der Benutzer über Profile deaktiveren. Wenn nötig das "DEFAULT"-Profile clonen.
alter profile "DEFAULT" limit PASSWORD_REUSE_TIME UNLIMITED; alter profile "DEFAULT" limit PASSWORD_LIFE_TIME UNLIMITED; -- Abfragen -- select username, account_status, expiry_date from dba_user; select * drom dba_profiles order by profile, resource_name;
Tablespace erweitern
- um ein File.
ALTER TABLESPACE "Tablespace" ADD DATAFILE '/opt/oracle/oradata/"SID"/"Tablespace".dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 2048M;
- um mehrere Files.
ALTER TABLESPACE "Tablespace" ADD DATAFILE '/opt/oracle/oradata/"SID"/"Tablespace".dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 2048M, '/opt/oracle/oradata/"SID"/"Tablespace"..dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 2048M, '/opt/oracle/oradata/"SID"/"Tablespace"..dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 2048M;
- Autoextend erweitern.
ALTER DATABASE DATAFILE '/opt/oracle/oradata/"SID"/"Tablespace".dbf' AUTOEXTEND ON MAXSIZE 768M
Hilfreiche Befehle
Feldlänge
- Feldlänge die größer ist als abfragen.
select substr("Column",0,255) from "Table" where length(Column)> 255;
- Feldlänge ändern, die größer ist als sind. Daten werden abgeschnitten.
update "Table" set "Column" = substr("Column",0,255) where length("Column")> 255;
Move Datefile
Online
- In der Enterprise Version ab Version 12.1 besteht die Möglichkeit online Datafiles zu verschieben.
select file_id, file_name FROM dba_data_files alter database move datafile "file_id oder file_name' to 'new_file_name'
Offline
select t.file_id, t.tablespace_name, t.file_name from dba_data_files t shutdown immediate; host mv file_name new_file_name alter database rename file 'file_name' to 'new_file_name'; alter database open;
Oracle Dump Export/ Import
Export / Import old
- Export mit Parameterfile
Parameterfile:
FILE='/path/dump.dmp' LOG='/path/log.log' STATISTICS=none OWNER=(DBUSER1,DBUSER2)
Befehl:
exp \'/ as sysdba\' PARFILE=/path/parameterfile.dat
Oracledump
- Dump Directory für Import oder Export erstellen
CREATE DIRECTORY dmpdir-name AS 'Verzeichnis';
- Export-Dump.
expdp \'/ as sysdba\' dumpfile=file.dmp logfile=file.log schemas=SCHEMA-NAME directory=dmpdir-name version=10.2.0
- Import-Dump.
impdp \'/ as sysdba\' dumpfile=file.dmp logfile=file.log schemas=SCHEMA-NAME directory=dmpdir-name
Fehlermeldung
- ORA-39346: Datenverlust bei Zeichensatzkonvertierung für Objekt SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Export mit dem Parameter exclude=statistics ausführen.
Archivelog Änderungen anzeigen.
select t.sid, s.name, t.value, r.username, r.program, r.type, r.module from v$sesstat t join v$statname s on s.statistic# = t.statistic# join v$session r on r.sid = t.sid where name like '%redo entries%' order by t.value desc;
Patchmanagment
OPatch aktualisieren
Bevor neue Patches in die Oracleinstallation eingespielt werden könnne, muss das Patchtool "OPatch" auf den neusten Stand aktualisiert werden.
- Parameter ORACLE_HOME überprüfen.
- Inventory anzeigen (OPatchversion).
$ORACLE_HOME/OPatch/opatch version $ORACLE_HOME/OPatch/opatch lsinventory
- Patch entpacken. (muss nicht innerhalb der Oracleinstallation sein)
- Verzeichnis $ORACLE_HOME/OPatch löschen.
- Patch in das Verzeichnis kopieren(Berechtigung beachten).
- Inventory anzeigen (OPatchversion).
Patch einspielen
- Patch entpacken.
- In das entpackte Verzeichnis wechseln.
- Anforderung der Patchinstallation überprüfen.
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
- Datenbank und Listner stoppen.
- Patch einspielen.
$ORACLE_HOME/OPatch/opatch apply
- Installierte Patches anzeigen
- Datenbank starten.
- Scripte der Preinstallation ausführen (Readme-Datei).
Archivelog analysieren
- File laden
begin sys.dbms_logmnr.add_logfile (logfilename => 'File-Path',options=>sys.dbms_logmnr.new); sys.DBMS_LOGMNR.START_LOGMNR(options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG); end; /
- Inhalt anzeigen.
select * from V$LOGMNR_CONTENTS where rownum < 1000; column SQL_REDO format a80; column SQL_UNDO format a80; select SQL_REDO , SQL_UNDO from V$LOGMNR_CONTENTS where rownum < 1000;
- File entladen!!!!
begin sys.dbms_logmnr.end_logmnr; end; /
ODAC
- Installation lt. Anleitung.
- Umgebungsvariable PAth anpassen.
- TNS-Names erstellen.
- Umgebungsvariable TNS_ADMIN erstellen.