Linux / SQL*Plusコマンド集

# はじめに
これまで利用したLinuxコマンドを忘れないようにメモ

# 1. opcユーザからルート権限を取得 (sudo)
```
[opc@demodbsystem ~]$ sudo su -
Last login: Tue May 16 08:21:47 UTC 2023
Last failed login: Tue May 16 08:23:41 UTC 2023 from 218.92.0.28 on ssh:notty
There were 12 failed login attempts since the last successful login.
[root@demodbsystem ~]# 
```
# 2. opcユーザからoracle/gridユーザに切り替え (su)
```
[root@demodbsystem ~]# su - oracle
Last login: Tue May 16 08:33:10 UTC 2023
[oracle@demodbsystem ~]$
```
# 3. 現在の位置の確認 (pwd)
```
[oracle@demodbsystem 19.0.0.0]$ pwd
/u01/app/oracle/product/19.0.0.0
```
# 4. ディレクトリ/ファイル情報の確認 (ls)
オプション「-l」を付けると、ファイル名だけでなく、
 owner、group、permissionなども確認することができる。
```
[oracle@demodbsystem 19.0.0.0]$ ls
dbhome_1
[oracle@demodbsystem 19.0.0.0]$ ls -l
total 4
drwxr-xr-x 72 oracle oinstall 4096 May 16 06:00 dbhome_1
```
# 5. ディレクトリの移動 (cd)
```
[oracle@demodbsystem 19.0.0.0]$ cd dbhome_1/OPatch
[oracle@demodbsystem OPatch]$
```
# 6. ディレクトリ/ファイル/パーミッションの所有者・グループの変更 (chown)
## 6-1. ディレクトリ/ファイル所有者・グループの変更
**所有者をopcユーザから、oracleユーザに変更したいとき**

opcユーザから実行
```
[opc@demodbsystem New_OPatch]$ sudo chown oracle:oinstall [対象のファイル/ディレクトリ]
```

## 6-2. パーミッションの変更
**(例)その他ユーザに権限を付けたいとき**
パーミッション変更前
```
[opc@demodbsystem oracle]$ ls -l
～略～
drwxr-x---  4 oracle oinstall 4096 May 12 10:13 cfgtoollogs
～略～
```
パーミッション変更後
```
[opc@demodbsystem oracle]$ sudo chmod 757 cfgtoollogs
[opc@demodbsystem oracle]$ ls -l
～略～
drwxr-xrwx  4 oracle oinstall 4096 May 12 10:13 cfgtoollogs
～略～
```

# 7. ディレクトリ/ファイルの移動 (mv)
#6でopcユーザで所有者を変更してから、ファイル移動するときは、
```mv```の頭に```sudo```が必要。
それ以外であれば、```sudo```は必要なし。
```
[opc@demodbsystem New_OPatch]$ sudo mv [移動させたいファイル名] /u01/app/oracle/New_OPatch/
```
# 8. Zipファイルを解凍 (unzip)
```
[oracle@demodbsystem New_OPatch]$ unzip [解凍させたいファイル名.zip]
```
# 9. SQL*Plusに接続 (その①)
## 9-1. SQL*Plusにログイン
```
[oracle@demodbsystem ~]$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 16 09:04:52 2023
Version 19.19.0.0.0

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

SQL>
```
## 9-2. SYSDBAユーザでログイン
```
SQL> Connect / as sysdba
Connected.
```
# 10. SQL*Plusに接続 (その②)
SQL*PlusにSYSDBAユーザでログインを一気に実行する場合
```
[oracle@demodbsystem ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Tue May 16 09:08:45 2023
Version 19.19.0.0.0

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


Connected to:
Oracle Database 19c EE High Perf Release 19.0.0.0.0 - Production
Version 19.19.0.0.0
```
# 11. 環境変数の確認
## 11-1. 「oracle」でgrep検索
```
[oracle@demodbsystem ~]$ env | grep -i oracle
ORACLE_UNQNAME=demoDB_iad3jz
USER=oracle
LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0.0/dbhome_1/lib
ORACLE_SID=demoDB
MAIL=/var/spool/mail/oracle
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/u01/app/oracle/product/19.0.0.0/dbhome_1/bin:/home/oracle/.local/bin:/home/oracle/bin
PWD=/home/oracle
HOME=/home/oracle
LOGNAME=oracle
ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1
```
## 11-2. 設定ファイルから確認
```
[oracle@demodbsystem ~]$ cat .bash
```
このコマンドの後、[Enter]キーではなく、[tab]キーを2回クリックすると、、、
以下の情報が表示される。
```
.bash_history  .bash_logout   .bash_profile  .bashrc
```
その後、以下のコマンドを叩くと、環境変数が表示される。
```
[oracle@demodbsystem ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
ORACLE_HOME=/u01/app/oracle/product/19.0.0.0/dbhome_1; export ORACLE_HOME
PATH=$PATH:/u01/app/oracle/product/19.0.0.0/dbhome_1/bin; export PATH
LD_LIBRARY_PATH=/u01/app/oracle/product/19.0.0.0/dbhome_1/lib; export LD_LIBRARY_PATH
ORACLE_UNQNAME=demoDB_iad3jz;export ORACLE_UNQNAME
ORACLE_SID=demoDB; export ORACLE_SID
## WARNING!! Modifying this file can cause failures in API/CLI provided by Cloud Tooling!!
```
# 12. SQL*PlusでSQL文を実行した際の表示結果の1行の文字数変更
基本的に、デフォルトで1行に表示される文字数は80文字。
```
【現在、1行に表示される文字数確認】
SQL> SHOW LINESIZE
linesize 80
```
文字数を変更する場合は、以下のコマンドを実行する。
```
【1行に表示される文字数を200文字に変更する場合】
SQL> SET LINESIZE 200
SQL> SHOW LINESIZE
linesize 200
```

# 終わりに
思いつく範囲で書き出してみたが、随時更新していこうと思う。