为什么80%的码农都做不了架构师?>>>
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;
--系统已更改