質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Oracle Database 11g

Oracle DatabaseはRDBMSの商品です。具体的な発売商品として知られているのが、 Oracle9i、Oracle10g、Oracle 11gとOracle 12cです。

Q&A

2回答

5707閲覧

Data Pumpを使った論理バックアップについて

HachiPotch

総合スコア8

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Oracle Database 11g

Oracle DatabaseはRDBMSの商品です。具体的な発売商品として知られているのが、 Oracle9i、Oracle10g、Oracle 11gとOracle 12cです。

0グッド

0クリップ

投稿2017/12/06 03:58

編集2022/01/12 10:55

###前提・実現したいこと
Oracleをさわって1週間にも満たない初心者で、もともとエンジニアでもないため
用語の理解がそもそも間違っているかもしれません。上手く読み取っていただけますと幸いです。
また、間違えていたり、必要な情報が足りなければ教えてください。(;_;)

【環境】
・Windows10 HOME 64bit
・Oracle Database 11g Express Edition

【参考サイト】
http://d.hatena.ne.jp/torazuka/20140328/expimp

【目的】
別サーバーにあるOracleDBの表データを、万が一のときに備えて
ローカルにあるOracleDBにインポートできるようバックアップを取っておきたい。

【手順】
参考サイトを元に実行しました。一回目は、全体エクスポートをしたところうまくダンプファイルが作成できたのですが、
ローカルにインポートする際、失敗してしまい、おそらくデータの整合性がなかったため失敗したのかなと思い、ファイルを
一度削除してスキーマ単位でエクスポートしようとし実行したところ、エラーが発生するようになりました。

以下が私の手順です。

①ダンプファイルを置くフォルダを作成(expdir)
「ファイル名を指定して実行」アプリ起動 → 別サーバーのホスト名を入力 → 新規フォルダを作成

②ディレクトリオブジェクトを作成(expdp)
該当フォルダでPowerShell起動 → sqlplus起動(sqlplus ユーザ名/パスワード@ホスト名:ポート/サービス名) → 
ディレクトリオブジェクト作成(CREATE DIRECTORY expdp as '\xxx.xxx.x.xxx\expdir';)

③権限を与える(実行ユーザ以外のパスワードが分からずできていないが、全体エクスポートはできた)

④テキストファイルを作成
参考サイト同様にテキストファイルを作成し、①で作成したフォルダ内に置く(内容は下記の通り)
DIRECTORY=expdp
DUMPFILE=dump201712xx.dmp
LOGFILE=exp201712xx.log
SCHEMAS=ユーザ名
JOB_NAME=job_exp1

⑤スキーマをエクスポートする(下記のエラー発生)
expdp ユーザ名/パスワード@ホスト名:ポート/サービス名 parfile=exp201712xx.par

⑤全体エクスポートの場合(下記のエラー発生)
expdp ユーザ名/パスワード@ホスト名:ポート/サービス名 directory=expdp full=y dumpfile=exdir.dmp logfile=exdir.log 

お手数おかけいたしますが、よろしくお願いいたします!

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

・Windows10 HOME 64bit

まず、Oracle Database XEのシステム要件 オペレーティング・システム に載っている環境を用意してください。

投稿2017/12/07 23:41

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HachiPotch

2017/12/08 07:29

コメントありがとうございます! それに関しては、すでにインストール等済んでいると思います。
Orlofsky

2017/12/08 07:54

オラクルを作っている本人が動作保障しないと書いているんです。インストールできたように思えただけでしょう。Windows2000 の時からOracleはHome Editionに動作保障をしていません。
guest

0

  1. DBA権限を持つユーザで該当データベースに接続

・まず、システム管理者であるSYSユーザで接続できますかね?
PS ...> sqlplus SYS/パスワード@ホスト名:ポート/サービス名 as sysdba

  1. ログインユーザ確認

→ 「ユーザは"SYS"です。」
SQL> show user

  1. テーブル修復

→ エラーが出力されない。
SQL> alter table SYSTEM.LOGMNR_LOG$ modify (timestamp date);

  1. コンパイル

→ エラーが出力されない。
SQL> alter package DBMS_INTERNAL_LOGSTDBY compile;

  1. expdpで改めてエクスポート

→ 4.まで問題なく成功していれば成功する可能性が高い。

投稿2017/12/06 07:23

km0120

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HachiPotch

2017/12/07 06:09

非常に分かりやすい回答をいただき、ありがとうございます。 まず、SYS での接続ができませんでした。(;_;) パスワードなどを見つけたり、変更したりする方法はあるのでしょうか。。 また、試しに私が唯一知っているユーザで接続し、4まで実行した場合 『ORA-04043: オブジェクトDBMS_INTERNAL_LOGSTDBYは存在しません。』 というエラーが表示されました。。。
km0120

2017/12/08 12:07

DBサーバに直接接続できれば、 PS ...> sqlplus / as sysdba でSYSユーザとしてログインできます。 「DBMS_INTERNAL_LOGSTDBYが存在しない~」は、SYS以外のユーザで操作している場合、想定内の結果なので問題ないです。
HachiPotch

2017/12/11 01:44

PS ...> sqlplus / as sysdba@ホスト名:ポート/サービス名 でログイン →接続されました。 SQL> show user ログインユーザ確認 → 「ユーザは"SYS"です。」 SQL> alter table SYSTEM.LOGMNR_LOG$ modify (timestamp date); → ORA-00942: 表またはビューが存在しません。 SQL> alter package DBMS_INTERNAL_LOGSTDBY compile; → 警告: パッケージが変更されましたが、コンパイル・エラーがあります。 expdpで改めてエクスポート 本文の画像と同様のエラーが出てしまいます。
Orlofsky

2017/12/15 00:42

impdpでもエラーが発生する可能性が高いです。大切なデータを戻せなくなると辛いですよ。 動作保障外ですから何があっても自己責任です。 頑張ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問