您的位置:

sqlplus/assysdba全面指南

SQL*Plus是Oracle公司的一个标准交互式命令行界面工具,可用于执行SQL和PL/SQL语句,并管理oracle数据库。Assysdba是一种特定权限,允许用户访问数据库实例执行任何操作,包括那些需要高级权限的操作。在本篇文章中,我们将从多个方面分别介绍SQL*Plus和Assysdba的使用。

一、SQL*Plus的基本使用

1、SQL*Plus环境变量

set oracle_sid=orcl
set oracle_home=D:\oracle
set path=%oracle_home%\bin;%path%
set nls_date_format=yyyy-mm-dd hh24:mi:ss
set nls_language=AMERICAN_AMERICA.ZHS16GBK

2、登录oracle数据库

sqlplus / as sysdba

3、执行SQL语句

select * from table_name;

4、执行PL/SQL语句

begin
    insert into table_name(col1, col2) values('value1','value2');
    commit;
end;
/

5、退出SQL*Plus

exit;

二、SQL*Plus高级使用

1、使用变量

var v1 number;
exec :v1 := 10;
print v1;

2、使用游标

declare
    cursor c1 is select * from table_name;
    v_col1 table_name.col1%type;
begin
    open c1;
    loop
        fetch c1 into v_col1;
        exit when c1%notfound;
        dbms_output.put_line(v_col1);
    end loop;
    close c1;
end;
/

3、使用存储过程

create or replace procedure procedure_name(v_in varchar2, v_out out number) as
begin
    select count(*) into v_out from table_name where col1 = v_in;
end;
/
execute procedure_name('value', :v_out);
print v_out;

三、Assysdba的使用

1、以Assysdba身份登录

sqlplus / as sysdba

2、创建用户

create user user_name identified by user_password;
grant connect, resource to user_name;

3、授权

grant select, insert, update, delete on table_name to user_name;

4、监控数据库

select * from v$session;
select * from v$locked_object;
select * from v$sqlarea;

5、备份数据库

alter tablespace tablespace_name begin backup;
copy datafile datafile_name to backup_path;
alter tablespace tablespace_name end backup;

四、SQL*Plus和Assysdba的常用命令

1、SQL*Plus常用命令

desc table_name;
alter table table_name add(col_name data_type);
alter table table_name modify(col_name data_type);
alter table table_name drop(col_name);
create table table_name(col1 data_type, col2 data_type);
create index index_name on table_name(col);
create sequence sequence_name start with 1 increment by 1;

2、Assysdba常用命令

startup;
shutdown immediate;
create tablespace tablespace_name datafile 'file_path' size 100m;
drop tablespace tablespace_name including contents and datafiles;
alter system archive log current;
alter system switch logfile;

以上就是SQL*Plus和Assysdba的基本使用以及高级使用和常用命令,希望对大家有所帮助!