base de données oracle avec ou sans opérations d'importation et d'exportation de données

S'il vous plaît soyez patient pour voir à la fin de l'article, avec les commandes les plus complètes pour l'importation et l'exportation, vous pouvez glisser directement à la fin pour ramasser si vous en avez besoin.

Articles sélectionnés populaires, produits secs plus techniques, WeChat recherche le compte public [Laughing Architect], répondez au numéro "666", obtenez de nombreuses informations techniques gratuites, tous sont des classiques dans les classiques:

Premièrement, comprendre certains concepts de la base de données oracle

  • Une base de données - plusieurs instances de base de données (ici et les '——' suivants sont des significations correspondantes)
  • Une instance de base de données - plusieurs espaces table (l'espace table est une division logique de la base de données, chaque base de données au moins un espace table)
  • Un espace table - plusieurs tables

La création de la base de données a cet ordre: espace table -> utilisateur -> autorisations utilisateur -> table

2. Opération d'exportation (exportation selon l'opération suivante)

1. Exportez la structure et les données du tableau:

expdp SCHEMA nom / mot de passe correspondant au répertoire SCHEMA = tmp_dir dumpfile = file0921.dmp logfile = result.log FULL = Y

// tmp_dir est le répertoire exporté, vous devez le créer à l'avance. Après la création, le fichier exporté file0921.dmp se trouve sous le répertoire / oracle / tmp_dir

// SCHEMA est le nom de la bibliothèque correspondante, oracle peut avoir plusieurs SCHEMA, l'exportation et l'importation doivent être exécutées séparément

Ou exporter la structure du tableau sans données

expdp SCHEMA nom / mot de passe correspondant au répertoire SCHEMA = tmp_dir dumpfile = file0921.dmp logfile = result.log owner = nom d'utilisateur lignes = n;

2. Créez un espace table

créer le fichier de données de journalisation TS_NPFDB de l'espace de table '/oradata/directory/npfdb01.dbf' taille 2G autoextend sur la prochaine 5G maxsize 30G gestion de l'extension locale;

// Ici doit être défini en fonction de la taille de votre disque, et l'espace table doit être conçu aussi grand que possible pour éviter les problèmes causés par les ajustements ultérieurs

3. Créez un utilisateur 

CREATE USER 用户 名 IDENTIFIED BY 密码 DEFAULT TABLESPACE "TS_NPFDB" TEMPORARY TABLESPACE "TEMP";

DONNER "DBA" AU nom d'utilisateur;

DONNEZ "CONNECT" AU nom d'utilisateur;

DONNER "RESSOURCE" AU nom d'utilisateur;

// Remplacez le nom d'utilisateur que vous souhaitez créer et son mot de passe correspondant à la place du nom d'utilisateur et du mot de passe

3. Opération d'importation (importation selon l'opération suivante)

1. Copiez le fichier de base de données sur la machine qui effectuera l'importation

Utilisez la commande scp pour copier le fichier exporté0921.dmp dans le répertoire oracle de la machine à importer. Ce scp peut être exécuté sur la machine exportée ou il peut être exécuté sur la machine à importer. Si vous ne pouvez pas le faire, vous pouvez me laisser un message

2. Accordez au fichier de données des autorisations exécutables

chmod 775 NETPAY20200811.dmp

3. Effectuez l'opération d'importation

nom d'utilisateur / mot de passe impdp DIRECTORY = dpdata1 DUMPFILE = file0921.dmp SCHEMAS = nom SCHEMA;

 Quatrièmement, les opérations d'exportation et d'importation de la base de données peuvent utiliser la liste de commandes

  • Commande pour afficher l'espace table existant: sélectionnez id_fichier, nom_espace_table à partir de dba_data_files;
  • Supprimez la commande d'espace table existante: supprimez l'espace table TS_DATA_NPFBK, y compris la contrainte de cascade du contenu et des fichiers de données;
  • Commande pour afficher les utilisateurs et mots de passe existants: sélectionnez le nom d'utilisateur, le mot de passe de dba_users;
  • La commande pour supprimer un utilisateur existant: drop user username cascade;
  • Créez la commande de chemin d'importation dans sql créez ou remplacez le répertoire dpdata1 comme «/ oracle»;
  • Dans SQL, donnez à la commande import user permission la permission de lecture, d'écriture sur le répertoire dpdata1 à username;
  • Affichez tous les noms de table sous l'utilisateur: sélectionnez table_name dans all_tables où owner = 'username';
  • Afficher tous les utilisateurs et leur espace de table correspondant sélectionnez le nom d'utilisateur, default_tablespace à partir de dba_users;
  • Afficher les fichiers de données correspondant à tous les tablespaces sélectionnez tablespace_name, file_name dans dba_data_files;
  • Afficher l'emplacement du tablespace select * from dba_data_files WHERE tablespace_name = 'TS_DATA_NPFBK';
  • Redéfinir la taille de l'espace table alter tablespace TS_DATA_NPFBK redimensionner 5G;
  • Modifier la taille du fichier de données Modifier le fichier de données de la base de données '/ oradata / directory / npfbk01.dbf' RESIZE 4G;
  • Modifier le fichier de données pour augmenter automatiquement modifier automatiquement le fichier de données de base de données '/ oradata / directory / npfbk02.dbf' autoextend sur la prochaine taille maximale de 10G 15G
  • Augmenter le nombre de fichiers de données modifier le tablespace TS_DATA_NPFBK ajouter le fichier de données '/ oradata / directory / npfbk02.dbf' taille 5G;
  • modifier le tablespace TS_NPFDB ajouter le fichier de données '/oradata/directory/npfdb02.dbf' taille 10G;
  • Afficher le statut de l'instance de base de données select nom_instance, statut de v $ instance;
  • Interroger la taille de l'espace occupé par tous les schémas

// Espace disque total consommé (y compris l'index, l'espace libre de l'espace table), unité G

Sélectionnez le propriétaire, somme (octets) / 1024/1024/1024 schema_size_gig du groupe sys.dba_segments par propriétaire;

  • Espace de table utilisé taille

sélectionnez d.tablespace_name, d.totalSize-f.freeSize "Espace utilisé (M)"

de

(

    SELECT DD.TABLESPACE_NAME, ROUND (SUM (DD.BYTES) / (1024 * 1024), 2) totalSize

    FROM SYS.DBA_DATA_FILES DD

    GROUP BY DD.TABLESPACE_NAME

) ré,

(

    SELECT TABLESPACE_NAME,

           ROUND (SUM (BYTES) / (1024 * 1024), 2) freeSize

    DE SYS.DBA_FREE_SPACE

    GROUP BY TABLESPACE_NAME

) F

où d.TABLESPACE_NAME = f.TABLESPACE_NAME

  • Interroger tous les schémas

// Un utilisateur (utilisateur) correspond à un schéma (schéma)

sélectionnez le nom d'utilisateur de sys.dba_users

  • Interroger toutes les tables sous shema

sélectionnez table_name dans sys.dba_tables où owner = 'schema 名';

Interroger tous les schémas et toutes les tables auxquelles ils appartiennent

sélectionnez s.username "schema", t.table_name "table_name" à partir de la jointure gauche de sys.dba_users sys.dba_tables t sur s.username = t.owner order by s.username asc;

  • Interroger l'espace occupé par chaque segment_type du schéma spécifié

Sélectionnez sum (bytes) / 1024/1024/1024 comme size_in_gig, segment_type dans dba_segments où owner = 'SCOTT' group by segment_type;

  • Après Drop Table, si l'espace ne peut pas être récupéré, vous devez exécuter l'instruction suivante

Vider la corbeille de l'utilisateur actuel: purger la corbeille;

Videz la corbeille de tous les utilisateurs: purge dba_recyclebin;

  • Interrogez le nom de la table appartenant en spécifiant l'espace table

sélectionnez Table_Name, Tablespace_Name dans Dba_Tables où Tablespace_Name = 'USERS';

  • Interroger l'espace occupé de la table en spécifiant l'espace table

sélectionnez nom_segment, octets / 1024 || 'Ko' "occupe de l'espace"

de user_segments

où segment_type = 'TABLE' et tablespace_name = 'USERS' order by segment_name asc;

  • Afficher l'utilisation de l'espace de l'espace table, y compris la taille totale, utilisée et inactive

sélectionnez a.tablespace_name,

       a.bytes / 1024/1024 "Somme Mo",

       (a.bytes - b.bytes) / 1024/1024 "Mo utilisé",

       b.bytes / 1024/1024 "Mo libre",

       round (((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used"

  from (sélectionnez nom_espace de table, somme (octets) octets

          depuis dba_data_files

         group by tablespace_name) a,

       (sélectionnez nom_espace de table, somme (octets) octets, max (octets) plus grand

          depuis dba_free_space

         grouper par nom_espace de table) b

 où a.tablespace_name = b.tablespace_name

 ordre par ((a.bytes - b.bytes) / a.bytes) desc;

  • Afficher la taille du fichier du -h mobile01.dbf en unités compréhensibles  

[Rire Architecte] Appartient au propre cercle du programmeur, scannez le code QR sur WeChat pour suivre , obtenez des produits secs plus techniques dans un premier temps!

Je suppose que tu aimes

Origine blog.csdn.net/guoguo527/article/details/108725876
conseillé
Classement