Oracle11g数据库的一些常用语句

oracle常用命令

Posted by BY tang on July 4, 2020

Oracle11g数据库的一些常用语句

一、使用SQLPlus连接

登录的时候需要在cmd下进行操作

sqlplus / as sysdba

这是典型的操作系统认证,不需要listener进程,该命令最常用到,一般用户密码需要修改时使用此方式登录。

sqlplus username/password 

连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。

sqlplus usernaem/password@orcl

通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下:

  • a. 查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME  
  • b. 查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name  
  • c. 如果服务器listener进程没有问题的话,建立与listener进程的连接。  
  • d. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
  • e. 这时连接已经建立,可以操作数据库了。

二、数据误删补救

select * from table as of timestamp to_Date('2016-08-25 10:28:00', 'yyyy-mm-dd hh24:mi:ss')

table就是对应的表名,意思是查询2016-08-25 10:28:00这个时间点时的数据。相当与回到了过去,在那个时间点查询数据。内存内有被刷掉就行

有时候不小心把数据删除了,我们可以查询误操作之前的时间,这样能把误删的数据查出来,然后插入回来。(希望不会用到)

三、系统参数查询

1、客户端字符集

select userenv('language') from dual; //需要先使用sqlplus登录。

2、表空间名称

select default_tablespace from dba_users where username='登录用户'

3、查询所有表空间

select * from dba_tablespaces;

4、查询sid

select instance_name from v$instance;

5、查看能管理的所有用户

select * from all_users;

四、创建新数据库流程

1、创建表空间

create tablespace aaa datafile 'D:\tablespace\aaa.dbf' size 500m autoextend on next 10M;

创建一个表空间名为aaa,表空间文件存放路径为D:\tablespace\aaa.dbf

2、创建用户

CREATE USER zyt PROFILE DEFAULT IDENTIFIED BY zyt123456 
DEFAULT TABLESPACE  aaa
TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;

创建用户名为zyt,密码为zyt123456,指定用户使用的表空间为aaa,临时表空间为TEMP,account unlock创建用户的时候解锁用户(默认)

3、给用户授权

Grant connect,resource,dba to zyt; 

4、还原数据库(dmp文件)

imp zyt/zyt123456@127.0.0.1:1521/orcl file=E:/kkk/20200703.dmp full=Y ignore=y

5、备份数据库(dmp文件)

先执行空表分配空间的命令语句,因为默认空表是没有空间的,使用exp无法导出来,因此需要先为空表分配空间:

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null

然后执行备份语句

exp zyt/zyt123456@127.0.0.1:1521/ORCL file=/usr/rdsys/oracle/20200701_0.dmp

6、删除用户

drop user zyt cascade;

7、删除表空间

DROP TABLESPACE aaa INCLUDING CONTENTS AND DATAFILES;