sqlplus操作oracle

本文详细介绍Oracle数据库的日常管理与操作技巧,包括登录、表空间管理、用户管理、数据导出导入、查看数据库配置信息及执行SQL脚本等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

登录oracle

D:\>sqlplus /nolog

 

Dba用户链接数据库:

SQL> connect /as sysdba

 

 

--查看已有表空间名称和大小 

SQL> select tablespace_name ,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;

 

--查看用户和所属表空间。   
SQL> select   username,default_tablespace   from   dba_users;
-- 查看当前用户的表:

 

 

sql> select  table_name from user_tables; 

 

导出整库的命令:

 

cmd>exp user/password@sid full=y file=d:\db.dmp log=c:\db.log;

-- sid表示数据库实例名,通常是orcl

--Full=y:这个参数的意思是导出整个Oracle数据库。 

 

导入数据库:

 

imp user/password@sid fromuser=user_old touser=user_new file=c:\db.dmp log=c:\db.log;

-- sid表示数据库实例名,通常是orcl

 

 

查看本地oracle数据文件存放位置:

SQL> select name from v$datafile;

 

查看oracle版本:

SQL> select * from v$version;

 

查看oracl版本,实例名,和是否启动

SQL> select version, instance_namestatus from v$instance;

 

创建表空间tbs_hdht最简单的语句:

SQL> create tablespace tbs_hdht datafile 'f:\oracle\product\10.2.0\tbs_hdht.dbf'

 size 300M ;

 

创建hdht用户最简单的语句:

SQL> create user hdht identified by pw123456 default tablespace tbs_hdht;

查看所有用户和用户可以的default表空间。   

SQL> select userName,default_tablespace from dba_users;

 

最精简授权:创建,删除和链接。

SQL> grant create any table,drop any table,connect to hdht;

    Grant dba to hdht; //dba权限授权。

 

 

 

查看数据库tnsnames.ora文件步骤:

登录sqlplus D:\>sqlplus /nolog 

使用dba用户登录:SQL> connect /as sysdba;

查看oracle数据库文件目录:SQL> select name from v$datafile;

       返回:

NAME

-----------------------------------------------------

 

F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

F:\ORACLE\PRODUCT\10.2.0\TBS_HDHT.DBF

 

已选择6行。

4 拷贝oradata以前的路径信息path;(下划线部分)

5 新开一个cmd窗口(当前已经连接dba的留着,或许可以再用到)

6 进入path D:\>cd F:\ORACLE\PRODUCT\10.2.0\

7 查看实例目录:F:\oracle\product\10.2.0>dir

       返回:

F:\oracle\product\10.2.0 的目录

 

2010-12-16  14:05    <DIR>          .

2010-12-16  14:05    <DIR>          ..

2010-12-16  14:05    <DIR>          db_1

2010-12-16  14:11    <DIR>          admin

2010-12-16  14:11    <DIR>          flash_recovery_area

2010-12-16  14:11    <DIR>          oradata

8 进入指定的network/admin 目录:F:\oracle\product\10.2.0>cd db_1/network/admin

9 dir查看目录文件,然后打开tnsnames.ora文件:

F:\oracle\product\10.2.0\db_1\NETWORK\ADMIN>type tnsnames.ora

或者copy tnsnames.ora d:a.txt (会复制一份到d盘创建一个a.txt文件中)

 

导出数据:不需要登录

D>exp db_qb/pw123456@10.8.2.190:1521/orcl file=E:\shiju_20100409.dmp

 

导入数据库:需要登录。

SQL> $imp hdht/pw123456@localhost:1521/orcl file='hd.dmp' fromuser="user_demo"

touser="hdht";

 


. 执行一个SQL脚本文件

SQL>start d:a.sql

 

3. 重新运行上一次运行的sql语句

SQL>/

 

4. 将显示的内容输出到指定文件

SQL> SPOOL d:a.txt

在屏幕上的所有内容都包含在该文件中,包括你输入的sql语句

 

5. 关闭spool输出

SQL> SPOOL OFF

只有关闭spool输出,才会在输出文件中看到输出的内容。

 

6.显示一个表的结构

SQL> desc table_name

 

1) . 显示当前环境变量的值:

SQL> Show all

    --可以查看数据库版本数字标识,用户名等。

 

4) . 显示数据库的版本:

SQL> show rel;

release 1002000100

 

5) . 显示SGA的大小

SQL> show SGA

 

Total System Global Area  612368384 bytes   //分配总的空间

Fixed Size                  1250428 bytes   //已经使用空间大小

Variable Size             243272580 bytes   //可用空间大小

Database Buffers          360710144 bytes   //数据缓存空间大小

Redo Buffers                7135232 bytes   //重做缓冲区大小

--------除以1024*1024后得到MB

 

 

6). 显示当前的用户名

SQL> show user

USER "HDHT"

 

查看表的注释(Dba_Tab_Comments 为数据库表对象注释说明表

SELECT   *   FROM   Dba_Tab_Comments t where t.owner ='QWGL' and t.table_name  like '%TB_%'

 

查看某个表的各个列的注释说明( Dba_Col_Comments为数据库列对象说明表)

SELECT   *   FROM   Dba_Col_Comments s where s.owner='QWGL' and s.table_name ='TB_UIM_USER'

 

查看指定明明空间下的所有表对象

select * from user_tables ts where ts.tablespace_name ='TBS_QWGL'

 

 

修改用户密码:

SQL> alert user DJ undetified by DJ;

 

cmd>sqlplus DJ/DJ@orcl   -- 普通权限

cmd>sqlplus DJ/DJ@orcl as sysdba; --dba权限

cmd>sqlplus DJ/DJ@localhost:1521/orcl as sysdba;  --其他IP

 

用数据字典 select * from dba_users; 查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system select * from all_users; 查看你能管理的所有用户! select * from user_users; 查看当前用户信息 !


 

 

 

 

 

 

 

exec 和 call 执行一个procedure时,

 

exec是sqlplus的命令,只能在sqlplus中使用。


call是sql命令,任何工具都可以使用

 

 

Tnsping查看本地oracle数据库的tns文件:

D:\>tnsping samsung-PC

 

dos命令启动oracle监听:

cmd>lsnrctl start

 

 

 

 

 

 

 

愤怒的jser - 积累是成功的前提。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值