Help us understand the problem. What is going on with this article?

oracle db を使う時の備忘録

概要

いつもはmysqlを使うが、色々なデータベースに触れる機会があり苦しめられたので、
備忘録として役に立ったことを書いていく。随時更新していく。

記録

GUIを使う。(SQL developer)

https://www.postgresql.org/ftp/pgadmin/pgadmin4/v4.19/macos/

RDS にアクセスするとき

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ConnectToOracleInstance.html

ここをしっかり見るのが大事だが、特に
[SID]にORCLと書くのに注意!

また、database 名が ORCLとなることにも注意!!

コマンドラインからアクセス

https://yohei-a.hatenablog.jp/entry/20170918/1505738926
ここなどを参考にする。
basicとsqlplusの2つのzipをダウンロードした後、フォルダに格納してPATHを通す。

mkdir -p /opt/oracle &&\
cd /opt/oracle &&\
wget https://download.oracle.com/otn_software/linux/instantclient/19600/instantclient-basic-linux.x64-19.6.0.0.0dbru.zip&&\
sudo apt-get install unzip &&\
unzip instantclient-basic-linux.x64-19.6.0.0.0dbru.zip &&\
sudo apt-get install libaio1 &&\
sudo sh -c "echo ./instantclient_19_6 > /etc/ld.so.conf.d/oracle-instantclient.conf" &&\
sudo ldconfig && export LD_LIBRARY_PATH=/opt/oracle/instantclient_19_6:$LD_LIBRARY_PATH

さらに、http://tazakazushi.net/sqlplus_ora_12162.html
ここにあるように念のため
export ORACLE_HOME=admin 及びexport ORACLE_SID=ORCL を設定。

そして、接続してみる。

sqlplus ‘user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))

このとき、dns_name, port, database_nameを適宜設定すること。

sqlplusのよく使うコマンドたち

show tables

SELECT TABLE_NAME FROM USER_TABLES;

各カラムのデフォルト値を取得する

Select TABLE_NAME, COLUMN_NAME, DATA_DEFAULT from DBA_TAB_COLUMNS where TABLE_NAME = '<table_name>';

各カラムのコメントを取得する

SELECT COLUMN_NAME,COMMENTS FROM USER_COL_COMMENTS WHERE  TABLE_NAME = '<table_name>'

sqlalchemy を噛ませて接続しようとする時

Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help

と出たら、上のリンクに飛び、コマンドをフォローする。
それで、ODPI-Cをインストールすれば良い。

cx_Oracle.DatabaseError: ORA-12505: TNS:listener does not currently know of SID given in connect descriptor
kenmaro
https://sourcerer.io/kmihara
eaglys
"EAGLYSは、未だ活用しきれていない企業に眠るデータ資産を、 安全にデータ分析・AI構築・運用するサポートを行っています。"
https://eaglys.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした