oracle数据库(数据库启动关闭/sqlplus登录及基本操作/设置字符集/distinct去重)
目录
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”去除结果集重复的行