かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

Oracle:インポートエラー(IMP:00013)の対処

エクスポート・ファイルはEXPORT:V10.02.01によって従来型パス経由で作成されました。  
IMP-00013:DBAのみ別のDBAがエクスポートしたファイルをインポートできます  
IMP-00000:エラーが発生したためインポートを終了します。

というメッセージが出た時の対処。 エクスポートをDBA権限で実行した場合、インポートユーザもDBA権限がないと実行できないのが原因です。
 

対処方法1.DBAユーザでインポートする
コマンドプロンプト等のターミナルより、以下を実行。

(impを使用する場合)
imp \"<ユーザ名>/<パスワード>@<net_service_name> AS SYSDBA"\ file=<dmpファイル(フルパス)> fromuser=<スキーマ名> touser=<スキーマ名>

(impdを使用する場合)
impdp \"<ユーザ名>/<パスワード>@<net_service_name> AS SYSDBA\" DIRECTORY=<DIRECTORY OBJECT> DUMPFILE=<dmpファイル> SCHEMAS=<スキーマ名>

   

対処方法2.インポートユーザにDBA権限を付与する
以下のコマンドで、インポートユーザのDBA権限を付与。(要管理者権限)

GRANT DBA TO <ユーザ名>

   

対処方法3.DBAでエクスポートしない
以下のコマンドで、エクスポートユーザのDBA権限を解除。(要管理者権限)

REVOKE DBA FROM <ユーザ名>

すでに取ってしまったdmpは仕方ないけど、こっちが一番いい思う。(インポート/エクスポート くらいは、DBA権限でなくても出来ていいと思う。)

   

DBA権限が付与されているかどうかは、以下のSQLで確認できます。

select * from DBA_ROLE_PRIVS order by GRANTEE

GRANTED_ROLE に、「DBA」のレコードが存在している場合、そのユーザはDBA権限を保持しています。



スポンサーリンク

Git基本操作メモ

操作 コマンド 備考
リポジトリの初期化 git init ディレクトリでの操作を推奨
状態の確認 git status 次にやるべき操作がなんとなく分かる。
ファイル追加 git add (ファイル名) 「.」で、カレントの全ファイル。「*」でワイルドカード指定。-Aで追加・変更・削除が同時管理できる。
直前のaddを取り消す git reset HEAD [ファイル名] アンステージ
コミット git commit [-m "message"] addしたファイルが対象。-a -m で、現在のインデックス内容をgit addした後にコミット。
コミット詳細確認 git show
コミット内容追加 git commit --amend コミットメッセージ修正にも使用可。追加の修正内容は最新コミット内容に内包され、履歴は更新されない。
ログ確認 git log [--oneline]
差分チェック git diff (コミットID1) (コミットID2) IDはログで確認
過去のバージョンに戻す git checkout (コミットID) (ファイル名) ファイル名は「.」で対象の全ファイルを指定可。
最新コミット状態に戻す git reset --hard HEAD ローカル編集内容をリセットしたい時に。HEADでなくリポジトリIDでも可。
ファイル削除 git rm (ファイル名) ローカルの内容も同時に消える。
ファイル名変更 git mv (変更前のファイル名) (変更後のファイル名) ローカルの内容も変更される。
インデックスのみ削除 git rm --cached (ファイル名)
リポジトリ管理対象外ファイルを指定 .git/info/excludeに記述 無ければファイルを新規作成。無視するファイル名を記述する。
特定コミット取り消し git revert (コミットID)
特定のコミットを無かったことにする git rebase -i (取り消す直前のコミットID) viが起動する。取り消すコミット内容を削除。
ブランチ作成 git branch (ブランチ名)
ブランチ一覧表示 git branch 現在作業中は「*」で表現
ブランチ切り替え git checkout (ブランチ名)
ブランチのマージ git merge (ブランチ名) masterに切り替えてから実行

各種コマンドのオプション詳細は、-h (使用例:git checkout -h)

AWS:<EC2>Ubuntu Server 16.04 LTS のデスクトップ環境

【クライアント端末:Windows 10】
【使用ツール:MobaXterm】

Ubuntu ServerのGUIデスクトップ環境作成手順。 VNC(Virtual Network Computing)を使用しています。

1.
Ubuntu Server 16 のEC2インスタンスを作成。
(セキュリティグループを編集し、カスタムTCPルールの、ポート5900を許可する)

2.
キーのパーミッションは600に設定し、作成したインスタンスsshログイン。 MobaXterm の Terminalを使用しました。

(接続コマンド)
ssh -i <keyName.pem> ubuntu@<IPアドレス>

3.
ログイン後、以下を実行

sudo apt-get -y update
sudo apt-get -y install ubuntu-desktop
sudo apt-get -y install vnc4server
sudo apt-get -y install gnome-panel
vncserver :0
(パスワードの設定が要求される。8文字以下で入力。)
vncserver -kill :0

4.
sudo vi ~/.vnc/xstartup
にて、以下を編集

【編集前】
f:id:kakisoft:20170402173905p:plain

【編集後】
f:id:kakisoft:20170402175523p:plain

#unset SESSION~のコメントアウトを解除し、以下を追記しています。

<追記した内容>
gnome-session -session=gnome-classic &
gnome-panel &

編集後、以下を実行

vncserver :0

5.
MobaXterm の Sessions タブより、New Session→VNC を選択。
接続先を「IPアドレス:0(ディスプレイ番号)」と入力し、OK。

起動後は、Applications や Placesを選択してアプリやディレクトリを使用できる。 f:id:kakisoft:20170402180101p:plain  
 

途中、わざわざ「vncserver :0」を実行し、killしているのは、vncserverを起動しないと、/.vnc/xstartup が作成されないためです。
ディスプレイ番号「:0」以外を使用する場合、ポート番号の許可範囲を拡大しておけばOKです。(ディスプレイ番号:1を使用する場合、5901を許可。)

AWS:ARN設定内容メモ

ARN(Amazon Resource Names)は、AWSにおける一意のリソースを特定するためのID。
IAMのポリシー編集時などに時々使うけど、何を書くかよく忘れるのでメモ。

<書式>

arn:<partition>:<service>:<region>:<account-id>:<サービスによって異なる>

<partition>
aws」固定でよさそう。

<service>
s3とかec2とか。
詳細はAWS公式ページ参照。

<region>
オレゴンや東京などのリージョンを指定。 具体的な設定内容は以下。

Region Name Region
US East (N. Virginia) us-east-1
US East (Ohio) us-east-2
US West (N. California) us-west-1
US West (Oregon) us-west-2
Canada (Central) ca-central-1
Asia Pacific (Mumbai) ap-south-1
Asia Pacific (Seoul) ap-northeast-2
Asia Pacific (Singapore) ap-southeast-1
Asia Pacific (Sydney) ap-southeast-2
Asia Pacific (Tokyo) ap-northeast-1
EU (Frankfurt) eu-central-1
EU (Ireland) eu-west-1
EU (London) eu-west-2
South America (São Paulo) sa-east-1

 
<account-id>
右上のメニューから確認できる。
f:id:kakisoft:20170326030931p:plain

その他、サービスごとの個別の内容は、AWS公式サイトを参照。

Windows向け:Visual Studio Code の Python 実行環境

Visual Studio Codeはインストール済みで、Pythonは未インストールの状態から開始しています。
PythonのインストールにはChocolateyを使用しています。
Chocolateyのインストールについてはこちらを。

管理者権限でコマンドプロンプト or PowerShellを起動し、以下を実行。

choco install python

Visual Studio Codeを起動し、拡張機能(Ctrl + Shift + X)を起動。
Python」を検索し、インストール。

その後、適当なフォルダを作成。
Visual Studio Codeにて、ファイル→フォルダを開く→先ほど作成したフォルダ (この操作で、.vscodeというファイルが作成されます。)

F5を押し、「Python」を選択。
以降、F5で実行できる。

pylintのインストールを勧められますが、便利なのでインストールしておきます。
 
 
pyenvはWindowsでは使えないので、上記では導入してないす。
そもそもPythonWindowsにはあんまり力を入れてないっぽいんで、Windowsで使う分には緩く使っていけばいいかな、と考えています。

 
Visual Studio 2015でPythonプロジェクト作成時にはバージョン選択が可能です。 f:id:kakisoft:20170324003112p:plain

Windows向け:Visual Studio Code の Ruby 実行環境

Visual Studio Codeはインストール済みで、Rubyは未インストールの状態から開始しています。
RubyのインストールにはChocolateyを使用しています。
Chocolateyのインストールについてはこちらを。

管理者権限でコマンドプロンプト or PowerShellを起動し、以下を実行。

choco install ruby
choco install ruby.devkit
choco upgrade ruby.devkit
ruby C:\tools\DevKit\dk.rb init
gem install ruby-debug-ide
gem install debase

gem install実行時にSSLエラーが発生した場合は、以下を実行。

gem install rubygems-update --source http://rubygems.org/
update_rubygems

環境によっては実行コマンドが「rubygems_update」だったりする事もあるみたいだけど、よくわかんねっす。
また、Chocolateyを使用してruby.devkitをインストールすると、自動的に「C:\tools\DevKit」となるみたいなので、上記パスで問題ないかと思います。

続いて、Visual Studio Codeを起動し、拡張機能(Ctrl + Shift + X)を起動。
Ruby」を検索し、インストール。

F5で実行。「Ruby」を選択。
以降、F5で実行できる。

起動プログラムが「main.rb」となっているので、必要に応じてlanch.jsonを修正する。 f:id:kakisoft:20170322213637p:plain lanch.jsonは、デバッグ設定にて、いつでも修正可能です。

ちなみに、Ubuntuでも同様の手順でOKでした。
(その時はChocolateyでなく、apt-getを使用しています。dk.rb initのパス指定は不要です。)

Chocolateyインストールメモ

Chocolateyは、apt-getやyumみたいなパッケージマネージャー。Windows向け。
インストール方法は以下。
 

Windowsキー + r で、「ファイル名を指定して実行」を呼び出し、taskmgrと入力。(タスクマネージャー起動)

タスクマネージャーより、 ファイル→新しいタスクの実行→「このタスクに管理者権限を付与して作成します。」にチェックを入れ、powershell と入力。(powershell起動)

powershellにて、以下を入力。(スクリプトを実行できるように設定)

Set-ExecutionPolicy RemoteSigned

その後、chocolateyインストールコマンドを入力。

iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

chocolateyインストール後は、以下のようなコマンドで各種パッケージがインストールできる。

choco install ruby
choco install nodejs
choco install awscli

ただし、インストールには管理者権限が必要となる。 コマンドプロンプトからchololateyを使用する場合、Windowsキー + X → A(管理者権限でコマンドプロンプトを実行)
から起動する事も可。

インストールしたパッケージの一括更新は以下。

choco update all