记录使用Oracle数据库时常用的指令,包括数据泵导入导出指令

目录

一、oracle创建表空间、用户、目录和授权

1.假如现在已经建好名为'oracledb'的数据库

2.创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。

3.现在建好了名为'ZHBG_test '的表空间,下面就可以创建用户了:

4.赋予权限

5、创建目录指令:

6、查询目录:

7、删除目录

8、删除表空间

 9、删除用户

二、oracle数据泵导入导出

1、本地导出语句

2、本地覆盖导入语句

3、不同用户,不同表空间导入dmp

4、不同用户,相同表空间

5、远程导出DMP(本地cmd窗口执行即可)

三、ORACLE查看表空间相关指令

1、oracle查看用户和用户所在表空间

2、oracle查看表空间是否自增

3、oracle查看表空间大小和使用情况、剩余大小

4、设置表空间为自增

5、PLSQL中查询表结构和字段信息语句

四、oracle设置数据库密码不过期

一、oracle创建表空间、用户、目录和授权

1.假如现在已经建好名为'oracledb'的数据库

此时在D:\app\Admin\oradata目录下已经存在oracledb目录(注意:我的Oracle11g安装在D盘下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*:app\Administrator\oradata目录下)。

2.创建用户之前要创建"临时表空间",若不创建则默认的临时表空间为temp。

SQL> create  tablespace ZHBG_test datafile 'D:\app\daiydbf\ZHBG_HS.DBF'  size 2G;

3.现在建好了名为'ZHBG_test '的表空间,下面就可以创建用户了:

create user ZHDJ_DQ
IDENTIFIED BY ZHDJ_DQ
default tablespace ZHBG_test ;

4.赋予权限

-- Grant/Revoke object privileges 
grant execute on SYS.DBMS_PIPE to ZHDJ_DQ;
-- Grant/Revoke role privileges 
grant connect to ZHDJ_DQ;
grant resource to ZHDJ_DQ;
grant select_catalog_role to ZHDJ_DQ;
-- Grant/Revoke system privileges 
grant create any synonym to ZHDJ_DQ;
grant create any view to ZHDJ_DQ;
grant create database link to ZHDJ_DQ;
grant create job to ZHDJ_DQ;
grant create session to ZHDJ_DQ;
grant execute any procedure to ZHDJ_DQ;
grant execute any program to ZHDJ_DQ;
grant read, write on directory DPDATA1   to ZHDJ_DQ;grant dba to ZHDJ_DQ;


 授权成功。  OK! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!(注:DPDATA1   为目录对应的名称,若未创建,需要先创建该目录)

5、创建目录指令:

create directory DPDATA1  as 'D:\app\DMPSPACE';

6、查询目录:

select * from dba_directories;

7、删除目录

drop directory DPDATA1;

8、删除表空间

drop tablespace 表空间名称 including contents and datafiles; 

 9、删除用户

drop user 用户名称 cascade;

二、oracle数据泵导入导出

1、本地导出语句

expdp ZHDJ_DQ/ZHDJ_DQ  directory=DPDATA1    dumpfile=ZHDJ20200811.dmp

2、本地覆盖导入语句

impdp ZHDJ_DQ/ZHDJ_DQ@ORCL directory=DPDATA1 dumpfile=ZHDJ_DQ20200824.dmp  table_exists_action=replace

3、不同用户,不同表空间导入dmp

impdp ZHDJ_DQ/ZHDJ_DQ dumpfile=ZHDJ_DQ20200824.DMP directory=DPDATA1  remap_schema=zhbg_hs:ZHDJ_DQ
 remap_tablespace=zhbg_hs:ZHDJ_DQ  table_exists_action=replace(zhbg_hs:源表空间,源用户名;ZHDJ_DQ现表空间,现用户名)

4、不同用户,相同表空间

impdp ZHDJ_DQ/ZHDJ_DQ dumpfile=ZHDJ20200811.DMP directory=DPDATA1 remap_schema=ZHDJ:ZHDJ_DQ
 table_exists_action=replace(ZHDJ:源用户名;ZHDJ_DQ现用户名)

5、远程导出DMP(本地cmd窗口执行即可)

expdp ZHDJ_DQ/nbzzb123@ip地址:1521/jcdjdb directory=DPDATA1   dumpfile=ZHDJ_DQ20200824.dmp 

三、ORACLE查看表空间相关指令

1、oracle查看用户和用户所在表空间

select username,default_tablespace from dba_users order by username

2、oracle查看表空间是否自增

select 
t.tablespace_name,
d.file_name,
d.autoextensible,
d.bytes,d.maxbytes,
d.status
from dba_tablespaces t,dba_data_files d
where t.tablespace_name =d.tablespace_name
order by tablespace_name,file_name;

3、oracle查看表空间大小和使用情况、剩余大小

SELECT a.tablespace_name "表空间名", 
total "表空间大小", 
free "表空间剩余大小", 
(total - free) "表空间使用大小", 
total / (1024 * 1024 * 1024) "表空间大小(G)", 
free / (1024 * 1024 * 1024) "表空间剩余大小(G)", 
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", 
round((total - free) / total, 4) * 100 "使用率 %" 
FROM (SELECT tablespace_name, SUM(bytes) free 
FROM dba_free_space 
GROUP BY tablespace_name) a, 
(SELECT tablespace_name, SUM(bytes) total 
FROM dba_data_files 
GROUP BY tablespace_name) b 
WHERE a.tablespace_name = b.tablespace_name 

4、设置表空间为自增

alter database datafile 'D:\APP\DAIYDBF\ZHBG_NB.DBF' autoextend on;

执行上方语句2查看表空间是否自增,可以看出我的表空间目前是不自增的

此时,执行语句

alter database datafile 'D:\APP\DAIYDBF\ZHBG_NB.DBF' autoextend on;

再查询,可以看出,该表空间已变为自增

5、PLSQL中查询表结构和字段信息语句

SELECT 
t.colUMN_NAME  字段名称,
t.DATA_TYPE || '(' || t.DATA_LENGTH || ')' 数据类型 ,
t1.COMMENTS 字段中文名称
FROM User_Tab_Cols t, User_Col_Comments t1
WHERE t.table_name = t1.table_name
AND t.column_name = t1.column_name  AND t.TABLE_NAME ='tableName';

四、oracle设置数据库密码不过期

--查看用户的proifle是哪个,一般是default
SELECT USERNAME,PROFILE FROM DBA_USERS;
--查看指定概要文件(如default)的密码有效期设置
SELECT * FROM DBA_PROFILES S WHERE S.PROFILE='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';
--将密码有效期由默认的180天修改成'无限制':
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

--修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
--已经被提示的帐户必须再改一次密码,举例如下:
-- alter user smsc identified by <原来的密码> ----不用换新密码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值