Oracle基础应用

  • Oracle DB笔录,以后会不断Add,欢迎留言补充!


--cmd.exe(你懂得!)

--[1]多个数据库实例,切换选择DB后,登录操作

set ORACLE_SID=orcl --选择DB orcl(你的DB实例名)

--可在注册表(regedit)里搜索(Ctrl+F) ORACLE_SID 查看当前使用的ORACLE_SID是什么
--cmd.exe(你懂得!)

--[2]oracle DB登录

sqlplus /nolog; --仅进入sqlplus环境,不登录(不连接数据库)

sqlplus / as sysdba; --本地dba账户(sys)登录
--cmd.exe(你懂得!)

--[3]用户和权限

SQL>create user 用户名 identified by 密码; --新建用户/密码

SQL>grant dba to 用户名; --授予某用户dba权限,PS:要先存在这个用户

SQL>grant connect, resource to 用户名; --授予某用户连接数据库和使用资源的权限

SQL>create user 用户名
  2 identified by 密码
  3 default tablespace 表空间名
  4 temporary tablespace 临时表空间名
  5 ;

--用户已创建

SQL>drop user 用户名 cascade; --删除用户级联的所有对象和内容

--用户已删除
--cmd.exe

--[4]oracle目录和授权

SQL>select * from dba_directories; -- 查看oracle目录信息

SQL>create or replace directory 目录名 as 'D:\DMP'; --PS:注意路径斜杠方向

--目录已创建

SQL>drop directory 目录名; --删除oracle目录

--目录已删除

SQL>grant read, write on directory 目录名 to public; --赋予所有账户对目录的rw权限

--授权成功
--cmd.exe

--[5]表空间 

SQL>select file_name, tablespace_name from dba_data_files; --查看表空间路径和表空间名

SQL>create tablespace 表空间名 --创建表空间
  2 logging
  3 datafile '路径\表空间名.DMP'
  4 size 50M
  5 autoextend on --自动扩展
  6 next 50M maxsize 2000M
  7 extent management local --区管理
  8 segment space management auto --段空间管理 自动
  9 ;

--表空间已创建

SQL>drop tablespace 表空间名 --删除表空间(包括内容和数据文件)
  2 including contents and datafiles;
cmd.exe

--[6]impdp导入

impdp 用户名/密码 directory=目录名 dumpfile=DMP文件全名 schemas=源方案:目标方案 
table_exists_action=replace --表存在 直接覆盖(先drop表,然后创建表,最后插入数据)
--PS:后面没;分号 不能换行输入
cmd.exe 

--[7]expdp导出

expdp 用户名/密码 directory=目录名 dumfile=自定义.DMP schmeas=方案名(同用户名);
--按用户(方案)导出

------------------华丽丽---------------------------------
---------------------的-----------------------------------
------------------分割线---------------------------------


--cmd.exe

--各类异常

--[1]ORA-00439: 未启用功能: Deferred Segment Creation

SQL>show parameter deferred_segment_creation; --查看数据库deferred_segment_creation状态

--一般为true 

SQL>alter system set deferred_segment_creation=false scope=both;

--系统已更改


你可能感兴趣的:(Oracle基础应用)