ORACLE中SQLPlus的用法
发布网友
发布时间:2022-04-25 16:37
我来回答
共3个回答
懂视网
时间:2022-04-30 10:04
1.sqlplus sys/x2145637@ORCL as sysdba 以SYS作为系统管理员连接远端的数据库 ORCL的名字所在位置在D:applenovoproduct11.2.0dbhome_1NETWORKADMIN nsnames.ora里面;
或者
sqlplus /nolog 登录sqlplus但不连接数据库
conn sys/x2145637 as sysdba
sqlplus语句太长可以用 - 连字符(注意区分sql语句、sqlplus语句和plsql语句)
--用户scott解锁alter user scott account unlock;
--用户scott加锁alter user scott account lock;
--更改密码为orclalter user scott identified by orcl;
2.sql buffer 只保留一条语句
clear buffer清空buffer
list查看缓冲区的sql语句
可以修改buffer的当前行
SQL>list 5 当前行为第5行 用run命令后 当前行会改变
然后SQL>4 当前行为第4行
SQL>c/100/15 把一行中100改变成15 //SQL>aa当前行全部替换成aa ; 0 aa相当与在最前面增加一行aa
添加 append and id<5 把and id<5添加到当前行后面
i and id<5 在当前行后面增加一行and id<5
del * n 删除buffer里的当前行到第n行
del m n
del *
del * last 删除buffer里的当前行到最后一行
run显示缓冲区的sql语句并且执行
/ 执行缓冲区的sql语句
save [filepath] 保存sql语句
@?/sqlplus/admin/help/hlpbld.sql helpus.sql @运行脚本 ?为oracle_home
3.desc显示表和视图结构或一个pl/sql函数的调用接口
替换变量select * from a where id=&myid; myid可以输入
4使用pl/sql语句
敲入begin或declare开始
begin
for i in 1 .. 10
loop
insert into t values(i,‘boobooke‘);
end loop;
end;
/
show serverout显示服务器端输出状态
set serverout on开启后客户端可接收服务端的输出
declare
x varchar2(12) :=‘Hello World‘;
begin
dbms_output.put_line(x);
exception
when others then
dbms_output.put_line(‘Error occurred!‘);
end;
/
.为存贮但不执行 /为执行
5.host或者!后面可以跟操作系统的命令 !后面不跟命令会切换到操作系统shell
shell与sqlplus嵌套执行 父进程 子进程
6.show pause 显示暂停状态
show pagesize 显示一个表页面显示多少行
set pause on开启pause,每按enter显示一个表页面
set pause ‘~~~~~~~~~~~~~~~~~~~~~~~‘ 表页面用波浪线隔开
7truncate table m清空m表
commit提交命令 不执行这个命令 所有的sql操作只是放在内存里
或者quit退出sqlplus时会自动提交
开启立即自动提交
show autocommit 显示开启状态
set autocommit on 开启 set autocommit 10 10条语句后自动提交 plsql只算一条
8.编辑脚本
define命令定义环境变量
在linux下define _editor=vi 使用edit sale就能调用vi创建并编辑sale.sql脚本保存在当前默认目录下
REM /* */ -- 3个都为注释命令
spool保存QUERY语句到文件且在屏幕输出
spool filename
select语句
spool off
作用:批量删除table
spool droptable.sql
spool off
set pagesize 0
set feedback off
spool droptable.sql
select ‘drop table‘ || object_name || ‘;‘ from user_objects where object_type=‘TYBLE‘;//嵌套查询显示出批量drop table代码,单引号内为字符常量,||为分隔符号
spool off
show user当前用户
drop user dzysc cascade;用户下存在对象,表示要连带对象一起删除
Oracle查询所有用户
select * from all_users或select * from dba_users或select * from user_users;
查看用户系统权限s
elect * from dba_sys_privs;select * from all_sys_privs;
查看用户对象权限
select * from dba_tab_privs;
select * from all_tab_privs;
查看所有角色
select * from dba_roles;
创建表空间
create tablespace myspace
datafile ‘E:appmyspacemyspace.dbf‘
size 10M autoextend on next 5M maxsize 100M;
查看表空间
select tablespace_name from dba_tablespaces/user_tablespaces;
查看用户表名
select table_name from user_tables;
查看datefile
SQL> select name from v$datafile;
查看tempfile
select name from v$tempfile;
查询USERS表空间下的表名
select table_name from all_tables where tablespace_name=‘USERS‘;
分配表空间配额
SQL>ALTER USER a QUOTA UNLIMITED ON a3; --a用户可以无限使用a3表空间
或者
SQL>ALTER USER a quota 100M on a3; --a用户可以使用100Ma3表空间的数据
grant select on t to test;
授权表t的查询权限给test用户
1、权限授权及收回
系统权限
grant create session,create table to test with admin option;
revoke create session,create table from test;
对象权限
grant select on book to test with grant option;
revoke select on book from test;
create session是授予登陆的权限
with admin option加管理员权限
版权声明:本文为博主原创文章,未经博主允许不得转载。
sqlplus的使用
标签:
热心网友
时间:2022-04-30 07:12
第一种,其实你不用打后边的/,就是你要登录,然后会提示你输入用户名和密码
第二种,你直接输入好了用户名和密码登录进了sqlplus
第三种,如果一台主机上有好多个库,但是用户名密码都相同的话,系统分辨不了的情况下,就要用第三种
第四种,很明显,是用DBA身份登录到sqlplus
oracle在UNIX下和在windows下操作基本是一样的,所以用不着UNIX下的oracle书籍
热心网友
时间:2022-04-30 08:30
企业级oracle都是装在UNIX和LINUX上的
要参考书的话直接看oracle手册
sqlplus 用户名/密码@实例名
sqlplus / as sysdba
一般就这2种,只要后面加as sysdba,不管你输什么用户名,都是sys用户
普通用户就不要输as sysdba
至于这种写法sqlplus 用户名/密码,是因为你连接的是本机的实例
默认为SID号,
sqlplus 用户名/密码@实例名,这种方法是用于远程连接的