Under maintainance

Useful SQL commands

命令
缩写
命令作用
Append text
A text
追加文本到语句,即为当前行追加text内容
Change/oldtext/newtext
C/oldtext/newtext
替换文本,将当前行中的oldtext换成新的newtext, 如果不提供 newtext表示删除oldtext
n text
修改文本:其中的n为缓冲区的行号,text为修改后的内容
DEL n
删除行号为n的行,删除的是缓冲区中的语句
CLEAR BUFFER
CL BUFF
清空缓冲区内容
Input text
I text
增加一行或多行
LIST
L /LI /LIS
显示缓冲区内容,即显示所有行
LIST n
L n或 n
显示缓冲区内容:显示第n行
LIST *
L *
显示缓冲区内容:显示当前行
LIST LAST
LAST
显示缓冲区内容:显示最后一行
LIST m n
L m n
显示缓冲区内容:从m行到n行
n
把第n行设置为当前行

Exercise

用SQLPLUS进入界面:

sqlplus / as sysdba

输入以下命令练习上表中的基本操作:

SQL> show user
USER  "SYS"
SQL> show pdbs
SQL>alter pluggable databse PDBDRUGDB OPEN;
SQL> conn as sysdba
请输入用户名:  sys
输入口令:
已连接到空闲例程。
SQL> show user
USER  "SYS"
SQL> disc
已断开连接
SQL> show user
USER  ""
SQL>alter pluggable databse PDBDRUGDB    //会报错
list
change/batabse/database
LIST
SQL>alter pluggable
sql>databse
sql>PDBDRUGDB
2    //
change/batabse/database
a open   //add text
add where
del 5
2
a 55
li
SQL>edit    //打开一个文本编辑器窗口, 显示缓冲区代码,可以修改后用菜单:save保存
sql> a open;    //List, 附加命令
sql> save test.sql     //可以用save sss.sql create,    save sss.sql append,  save ww.sql replace,
sql>get test.sql    //看看有没有变化???
sql@test.sql   //或用: start test.sql
sql>spool on // spool off,  spool out

SQLPLUS中设置环境变量:

set serveroutput on | off
set echo on | off
set pagesize n // 设置每面行数,缺省为14行,可设为0表示不分页
set linesize n //设置每行字符数,缺少为80
set feedback on | off | n  //设置脚注,查询返回多少行会有提示; n表示自定义多少行提示
sql>desc v$log  //显示表结构
sql>select * from v$log;  //显示表内容
sql>select * from v$log where CON_ID='1';  //显示表内容,只显示CON_ID=1的内容
column BYTES heading by;   将字段名改为by输出显示,设置别名
column NETXT_CHANGE# format 9;   // col xxx for 999;
column NETXT_CHANGE# format a3;   //取消格式:column NETXT_CHANGE# clear; 
remark 'test now'
help
sql> select * from v$log where CON_ID='&conid';  //会提示用户输入相应的信息
sql> select * from v$log where CON_ID='&&conid';     //只需输入一次,以后再用到这个变量就无需再输入了。
SQL>DEFINE     //不带参数,会显示所有定义好的变量,包括用&定义的变量
SQL>DEFINE conid ="9999"    //使用时仍用: &conid,   不用时删除:   undefine   conid
SQL>@test.sql 10 2000   //可以命令行输入两个参数, sql文件中直接用: &1,  &2,  分别用于获取参数:
如,将SQL语句 select * from v$log where conid = &1 and groupid = &2   存为test.sql,
SQL>@test.sql 10 2000   //这样运行就可以获得参数了。
使用accept prompt:
SQL> ACCEPT A NUMBER PROMT MYNUMBERIS:   //会提示输入数,然后sql> define即可看到定义的变量及值了。

Create a user

  1. Under pluggable database “PDBDRUGDB”, create a user “druguser” with password “druguser” and grant the user the “CONNECT” and “RESOURCE” roles.
SQL> alter session set container=PDBDRUGDB;
SQL> create user druguser identified by druguser;
SQL> grant connect, resource to druguser;
  1. Under global database, create a user “drugdba” with password “drugdba” and grant the user the “DBA” role.
SQL> alter session set container=CDB$ROOT;
SQL> create user drugdba identified by drugdba;
SQL> grant dba to drugdba;

Using ‘SID’ to connect to the database via the user created in the global database. Using ‘SERVICE_NAME’ to connect to the database via the user created in the pluggable database.