目錄
1. Oracle數據庫啟動
2. Oracle數據庫關閉
3. sqlplus登錄Oracle數據庫
??? 3.1 使用sqlplus登錄Oracle數據庫
??? 3.2 使用sqlplus登錄Oracle數據庫
??? 3.3 遠程登錄
??? 3.4 解鎖用戶
??? 3.5 修改用戶密碼
??? 3.6 查看當前語言環境
4. sqlplus基本操作
??? 4.1 顯示當前用戶
??? 4.2 查看當前用戶下的表
??? 4.3 查看員工表的結構
??? 4.4 設置行寬
??? 4.5 設置頁大小
??? 4.6 設置員工ename的列寬
5. scott方案
6. 設置Oracle服務端的字符集
7.distinct和別名去重
Centos7.5環境 ?
Oracle版本: 11G
Linux下一些用戶:
??? deng??? 123456
??? oracle??? 123456
??? root??? 123456
前提條件: 使用Oracle用戶登錄Linux操作系統
[deng@localhost ~]$ su - oracle
數據庫管理員用戶:
??? 用戶名:sys
??? 密??? 碼:sys
?? ?
1. Oracle數據庫啟動
??? 第一步: 通過數據庫管理員登錄Oracle數據庫
??? [oracle@localhost ~]$ sqlplus / as sysdba;
??? 第二步: 啟動Oracle數據庫
??? SQL> startup
??? ORACLE instance started.
??? 第三步: 啟動監聽服務
??? SQL> quit
??? [oracle@localhost ~]$ lsnrctl start
2. Oracle數據庫關閉
??? 第一步: 通過數據庫管理員登錄Oracle數據庫
??? [oracle@localhost ~]$ sqlplus / as sysdba;
??? 第二步: 關閉Oracle數據
??? SQL> shutdown immediate
??? 第三步: 關閉監聽服務
??? SQL> quit
??? [oracle@localhost ~]$ lsnrctl stop
3. sqlplus登錄Oracle數據庫
??? 前提條件是Oracle數據庫必須啟動
??? 3.1 使用sqlplus登錄Oracle數據庫
??? [oracle@localhost ~]$ sqlplus
??? Enter user-name: scott
??? Enter password:
??? 3.2 使用sqlplus登錄Oracle數據庫
??? [oracle@localhost ~]$ sqlplus? scott/11
??? 3.3 遠程登錄
??? 格式: sqlplust 用戶名/密碼@//IP地址/實例名
??? [oracle@localhost admin]$ sqlplus scott/11@//192.168.16.46/orcl
??? 3.4 解鎖用戶
??? [oracle@localhost admin]$ sqlplus / as sysdba(作為數據庫管理員登錄Oracle數據庫)
??? SQL> alter user scott account unlock;
??? 3.5 修改用戶密碼
??? SQL> alter user scott identified by 11;
??? User altered.
??? 3.6 查看當前語言環境
??? SQL> select userenv('language') from dual;
4. sqlplus基本操作
??? 前提條件是使用scott用戶登錄
??? [oracle@localhost ~]$ sqlplus scott/11
??? 4.1 顯示當前用戶
??? SQL> show user
??? USER is "SCOTT"
??? SQL>
??? 4.2 查看當前用戶下的表
??? SQL> select * from tab;
??? 4.3 查看員工表的結構
??? SQL> desc emp;(emp是員工表的名字)
??? 4.4 設置行寬
??? SQL> set linesize 140
??? 4.5 設置頁大小
??? SQL> set pagesize 100
??? 4.6 設置員工ename的列寬
??? SQL> col ename for a8
??? 舉例:設置薪水的列寬
??? SQL> col sal for 9999
5. scott方案
??? grade: 薪水等級????????losal: 最低薪水????????hisal: 最高薪水
?? SQL> select * from salgrade ;
??? deptno: 部門編號????????dname: 部門名稱????????loc: 部門位置
??? SQL> select * from dept;
??? empno: 員工編號????????ename: 員工姓名????????job:?? 員工工種????????mgr:?? 員工上司
??? hiredate: 雇傭日期????????sal:??? 員工薪水??????? comm: 員工獎金????????deptno: 員工部門編號
??? SQL> select * from emp;
6. 設置Oracle服務端的字符集
??? 設置數據庫字符集
??? SQL> conn /as sysdba;
??? SQL> shutdown immediate;
??? SQL> startup mount;
??? SQL> alter system enable restricted session;
??? SQL> alter system set job_queue_processes=0;
??? SQL> alter system set aq_tm_processes=0;
??? SQL> alter database open;
??? SQL> alter database character set internal_use ZHS16GBK;
??? SQL> alter system set nls_language = 'AMERICAN' scope = spfile;
??? SQL> alter system set nls_territory = 'AMERICA' scope = spfile;
??? SQL> shutdown immediate;
??? SQL> startup;
??? 修改之后的結果是:
??? SQL> select userenv('language') from dual;
??? USERENV('LANGUAGE')
??? ----------------------------------------------------
??? AMERICAN_AMERICA.ZHS16GBK
?? ?
??? NLS_LANG環境變量是oralce客戶端字符集配置
??? [oracle@deng ~]$ export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
7.distinct和別名去重
“distinct”去除結果集重復的行