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
- 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;
- 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.