2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacでSQLPlusとSQLLoaderを使用する

Posted at

MacでSQLPlusとSQLLoaderを使用する

目的

  • バッチ処理等でsqlコマンドやsqlldrコマンドを発行するコードをMacでも動くようにする

インスタントクライアントをダウンロードする

https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html
からダウンロードします。
なお、SQLLoaderは12gのみで利用できます。

  • 必須ライブラリ

    • instantclient-basic-macos.x64-12.2.0.1.0-2.zip
  • SQLPlus(SQLPlusを利用したい場合)

    • instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip
  • SQLLoader(SQLLoaderを利用したい場合)

    • instantclient-tools-macos.x64-12.2.0.1.0-2.zip

ダウンロードしたファイルを解凍する

解凍すると必要なライブラリが「instantclient_12_2」ディレクトリに作成されます。

$ unzip instantclient-basic-macos.x64-12.2.0.1.0-2.zip 
$ unzip instantclient-sqlplus-macos.x64-12.2.0.1.0-2.zip
$ unzip instantclient-tools-macos.x64-12.2.0.1.0-2.zip
$ ls
instantclient_12_2/

instantclient_12_2を任意の場所に移動する

適当にmvしてください。

tnsnames.oraを作成する

tnsnames.oraを作成します。
以下はtnsnames.oraの例です。

oracle11 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = xe)
    )
  )

環境変数を設定する

SQLPlusやSQLLoaderで使用する環境変数を設定します。
.bashrcや.bash_profileに書いておくと便利です。

export ORACLE_HOME=<インスタントクライアントのディレクトリ>
export PATH=\$ORACLE_HOME:\$PATH
export DYLD_LIBRARY_PATH=\$ORACLE_HOME
export TNS_ADMIN=<tnsnames.oraがあるディレクトリ>

動作確認する

  • SQLPlus
$ sqlplus TEST_USER@oracle11

SQL*Plus: Release 12.2.0.1.0 Production on Sun Feb 10 20:31:08 2019

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Enter password: 

Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL>
  • SQLLoader
$ sqlldr TEST_USER@oracle11 control=TEST_TABLE.ctl 
Password:

SQL*Loader: Release 12.2.0.1.0 - Production on Sun Feb 10 20:34:08 2019

Copyright (c) 1982, 2017, Oracle and/or its affiliates.  All rights reserved.

Path used:      Conventional
Commit point reached - logical record count 1

Table "TEST_USER"."TEST_TABLE":
  1 Row successfully loaded.

Check the log file:
  TEST_TABLE.log
for more information about the load.

できました!!!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?