Oracle数据库命令整理--持续更新

 Oracle  命令整理

Oracle数据库可以创建多个实例,每一个实例可以创建多个表空间,每个表空间可以创建多个用户和数据库文件,每个用户可以创建多个表.

 

1、 删除oracle用户

drop user 用户名 cascade

如果提示:ORA-01940: cannot drop a user that is currentlyconnected

原因是有程序在连接我们需要删除的用户,我们删除用户之前一定要先把连接断掉;

1.1查找帐号下哪些连接在运行:

SQL>SELECT SID,SERIAL# FROMV$SESSION WHERE USERNAME='用户名'

  1.2删除用户进程;

    SQL>ALTER SYSTEM KILL SESSION'137,41813';

  1.3之后再删除用户执行第一步

 

2、 数据库的导入导出


######################空表什么的都导出导入比较全

  1. 备份数据库

select * from dba_directories;

 

set linesize 200;

col owner format a30;

col directory_name format a40;

col directory_path format a70; 

 

create directory czdir as '/home/oracle/guo/cz2018012';

 

grant read,writeon directory czdir to czbank;

 

导出:

Expdpuserid=czbank/czbank2017 schemas=czbank dumpfile=czbank20180112.dmpdirectory=czdir;

 

导入另一个机器

select * fromdba_directories;

 

set linesize200;

col owner formata30;

coldirectory_name format a40;

coldirectory_path format a70; 

create directoryczdii as '/home/oracle/guo/cz2018012';

grant read,writeon directory czdii to czbankzzz;

grant dba to czbankzzz;

 

impdp userid=czbankzzz/czbankzzzdirectory=czdii remap_schema=czbank:czbankzzz dumpfile=czbank20180112.dmp

 

#############################




2.1 全库导出:

  进入到oracle用户

  expuserid=czbank/czbank2017@bossdb    file=czbankfull20171128.dmp compress=n statistics=none

 

COMPRESS参数将在导出的同时合并碎块,尽量把数据压缩到initialEXTENT里,默认是N,一般建议使用。DIRECT参数将告诉EXP直接读取数据,而不像传统的EXP那样,使用SELECT来读取表中的数据,这样就减少了SQL语句处理过程。一般也建议使用。不过有些情况下DIRECT参数是无法使用的

2.2 在另一台机器上导入:

  进入到oracle用户把czbankfull20171128.dmp导入到本地文件夹内

  impuserid=czbank/czbank2017  file=czbankfull20171128.dmp statistics=none full=y

注意:导入的用户必须有dba权限!

 

3、 查看oracle数据库所有的表空间名称

selecttablespace_name from dba_tablespaces;

 

4、 去除某个用户的dba权限

SQL>revoke dba from 用户名;

 

5、 查看数据库版本:select * from v$version;

 

6、 查询dmp文件的字符集

SQL> selectnls_charset_name(to_number('0354','xxxx')) from dual;

 

7、 数据库服务器字符集

select * from nls_database_parameters;

 

8、 查看表空间的数据文件路径:select name from v$datafile;

 

9、 创建用户之前,先创建表空间:

createtablespace test datafile '/datafile路径/test.dbf' size512M extent management local uniform size 128K; 数据表空间 大小为 521M 每次扩展大小为 128k

 

CREATE TABLESPACE qrCodeDATAFILE'/opt/oracle/oradata/sws/qrCode01.dbf' SIZE 2048M AUTOEXTEND ON NEXT100M MAXSIZE UNLIMITED LOGGING PERMANENT EXTENT MANAGEMENT LOCAL AUTOALLOCATEBLOCKSIZE 8K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON;

 

10、显示当前用户 SQL> show user;

 

11、对于普通用户授予 connect resource 权限 对于管理用户授予 dba权限用户授权:

    grant connectresourcedba to 用户;

 

12、查看数据库名:selectname from v$database;

 

13、查看实例名字:selectinstance_name from v$instance;

 

14、查看表结构:desc;

 

15、更改用户的密码:alteruser 用户名 identified by新密码;

 

16、启动数据库实例:startup;

 

17、停止数据库: shutdown immediate;

 

18、不登录任何用户进入SQL环境:Oracle $  sqlplus /nolog

 

19、创建用户并指定表空间:createuser用户名 identified by密码default tablespace;

 

20、解锁用户:alter user用户名 account unlock;

 

21、查看oracle中用户:select username from all_users;

 

22、查看已用表空间大下:selecttablespace_name,sum(bytes/1024/1024) from dba_segments group bytablespace_name;

    查看剩余表空间大小:   select tablespace_name,sum(blocks*8192/1000000)from dba_free_space group by tablespace_name;

23、查询数据库允许的最大连接数:selectvalue from v$parameter where name = 'processes';

 

24、修改数据库允许的最大连接数:altersystem set processes = 1500 scope = spfile;

25、查询oracle的连接数 select count(*) fromv$session;

 

26、删除表的数据 delete from;

27、增加表空间大小

alter tablespace 表空间名字 add datafile'/home/data/mpay/info_data_24.dbf' size 512M;

 

28、查看oracle日志是否为归档日志archive log list;

29、截取一个时间段的日志信息

sed -n '/2018-01-03 13:30:/,/2018-01-0314:42:/p' catalina.out > catalina.out20180103.log


你可能感兴趣的:(oracle命令,oracle)