Oracle



安装完ORACLE数据库,创建数据库后..



一  、创建空间、用户、授权



1、用户在CMD下以DBA身份登陆:



运行中输入CMD --SQLPLUS /NOLOG


SQL> CONN SYS/MANAGER AS SYSDBA (SYS/MANAGER 是指安装数据库时默认的、如果你修改了默认用户的密码 可以替换,也可以使用CONN /AS SYSDBA )


连接成功。



2、创建表空间


CREATE  BIGFILE TABLESPACE 空间名


DATAFILE '(文件位置)F:\ORACLE\ORADATA\ORCL\TS_SMARTERCU_DATAFILE'


SIZE 5120M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED


LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;


1) DATAFILE: 表空间数据文件存放路径


    2) SIZE: 起初设置为200M


    3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k


    4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名。


    5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间


    6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为500M


PS: 删除表空间


DROP TABLESPACE ITTBANK INCLUDING CONTENTS AND DATAFILES;



3、创建用户并指定表空间


CREATE USER SMARTERCU (用户)PROFILE DEFAULT IDENTIFIED BY SMARTERCU(密码) DEFAULT TABLESPACE TS_SMARTERCU(指向的空间名)


TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;


PS:删除用户


drop user smartercu(用户名) cascade ; 彻底删除该用户



4.授权CONECT


//DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。


//RESOURCE:拥有RESOURCE权限的用户只可以创建实体,不可以创建数据库结构。


//CONNECT:拥有CONNECT权限的用户只可以登录ORACLE,不可以创建实体,不可以创建数据库结构。


//对于普通用户:授予CONNECT, RESOURCE权限。


//对于DBA管理用户:授予CONNECT,RESOURCE, DBA权限。


EX:GRANT DBA TO SMARTERCU(授权用户);GRANT CONNECT TO SMARTERCU(授权用户;


ps: 撤权


revoke   权限   from  用户名;





5:查看该数据库中所有的表空间情况


select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_files


order by tablespace_name;



二 :导入外部的数据库备份文件到该用户以及本地导出备份



a、EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。


b、EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。(推荐  Oracle 10g开始提供了称为数据泵新的工具expdp/impdp,


它为Oracle数据提供高速并行及大数据的迁移。使用expdp/impdp以前需要在数据库中创建一个Directory


create directory dump_test as '/u01/oracle10g';


grant read, write on directory dump_test to piner )


上面这两种是常见的oracle 备份的两种配对方法,不能交叉使用



1、备份数据 (利用数据泵的方式)


DUMPFILE:用于指定转储文件的名称,默认名称为expdat.dmp


DIRECTORY:指定转储文件和日志文件所在的目录  建立目录:CREATE DIRECTORY dump as ‘d:dump’; 查询创建了那些子目录:SELECT * FROM dba_directories;


FULL:指定数据库模式导出,默认为N


HELP:指定是否显示EXPDP命令行选项的帮助信息,默认为N,当设置为Y时,会显示导出选项的帮助信息.


LOGFILE:指定导出日志文件文件的名称,默认名称为export.log


NETWORK_LINK:指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.


NOLOGFILE:该选项用于指定禁止生成导出日志文件,默认值为N.


SCHEMAS:该方案用于指定执行方案模式导出,默认为当前用户方案.


VERSION:指定被导出对象的数据库版本,默认值为COMPATIBLE. (如果是高版本到低版本 推荐加版本号。 imp 和exp 好像没有袄。)



1)按用户导


expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;


2)并行进程parallel


expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3


3)按表名导


expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;


4)按查询条件导


expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';


5)按表空间导


expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;


6)导整个数据库


expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;



2、还原数据



1)导到指定用户下


impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;


2)改变表的owner 也就是将scott 用户下的导入到system用户中


impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;


3)导入表空间


impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;


4)导入数据库


impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;



3、备份还原数据 (EXP/IMP的)


 exp sa/topsci@jjdb file=   owner=sa


 imp sa/topsci@orcl file =d:\jjdb-5-20121122.DMP log=d:\201211242202.log full=y


 exp:


USERID   用户名/口令


FULL   导出整个文件 (N)


BUFFER   数据缓冲区的大小


OWNER   所有者用户名列表


FILE   输出文件 (EXPDAT.DMP)


TABLES   表名列表


COMPRESS  导入一个范围 (Y)


RECORDLENGTH  IO 记录的长度


GRANTS   导出权限 (Y)


INCTYPE   增量导出类型


INDEXES   导出索引 (Y)


RECORD   跟踪增量导出 (Y)


ROWS   导出数据行 (Y)


PARFILE   参数文件名


CONSTRAINTS  导出限制 (Y)


CONSISTENT  交叉表一致性


LOG   屏幕输出的日志文件


STATISTICS  分析对象 (ESTIMATE)


DIRECT   直接路径 (N)


TRIGGERS  导出触发器 (Y)


FEEDBACK  显示每 x 行 (0) 的进度


FILESIZE  各转储文件的最大尺寸


QUERY   选定导出表子集的子句


imp:


USERID   用户名/口令


FULL   导入整个文件 (N)


BUFFER   数据缓冲区大小


FROMUSER  所有人用户名列表


FILE   输入文件 (EXPDAT.DMP)


TOUSER   用户名列表


SHOW   只列出文件内容 (N)


TABLES   表名列表


IGNORE   忽略创建错误 (N)


RECORDLENGTH  IO 记录的长度


GRANTS   导入权限 (Y)


INCTYPE   增量导入类型


INDEXES   导入索引 (Y)


COMMIT   提交数组插入 (N)


ROWS   导入数据行 (Y)


PARFILE   参数文件名


LOG   屏幕输出的日志文件


CONSTRAINTS  导入限制 (Y)


DESTROY   覆盖表空间数据文件 (N)


INDEXFILE  将表/索引信息写入指定的文件


SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)


ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)


FEEDBACK  显示每 x 行 (0) 的进度


TOID_NOVALIDATE  跳过指定类型 id 的校验


FILESIZE  各转储文件的最大尺寸


RECALCULATE_STATISTICS 重新计算统计值 (N)



三:配置plsql 连接数据库



 1、手工配置:安装目录:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 下面有三个文件
 tnsnames.ora sqlnet.ora listener.ora
 首先修改  tnsnames.ora
 添加连接指向:
ORCL =(注意前面不能有空格袄)
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost(也可以是ip、计算机名))(PORT = 1521(端口默认的)))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL(数据库SID 一般数据库名))
    )
  )
修改listener.ora
添加监听
LISTENER = (注意前面不能有空格袄)
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost(也可以是ip、计算机名))(PORT = 1521))
    )
  )
启动服务 和监听
一般就连接成功了。
2:利用oracle中的net manager 工具配置

赠送一个好东西 如果误删除一些数据时 可以利用闪回移动表找回某个时间段的数据  只支持delete 
(truncate的数据是不能恢复的,所以以后可要小心袄)
1、开启闪回移动表
alter table 表名 enable row movement;
2:闪回 可以找回某个时间点某个表 delete 删除掉的数据(truncate的是不可以的)
flashback table 表名 to timestamp to_timestamp('2012-11-28 09:00:00','yyyy-MM-dd hh24:mi:ss')

(以上是一些工作中会经常用到的,希望可以帮助到初步接触oracle的童鞋们)