begin for c in (select t.NAME ,d.NAME as name2 from v$tablespace t inner join v$datafile d on t."TS#"=d."TS#" where t."TS#">4) loop dbms_output.put_line( 'create tablespace ' ||c.NAME || ' DATAFILE '||''''||c.name2||''''||' size 20M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;' ); end loop; end;
結果如:
create tablespace EXAMPLE DATAFILE 'D:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF' size 20M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; create tablespace HCZZ_WEB_DATA DATAFILE 'D:\ORACLE\ORADATA\ORCL\DBF_HCZZ_WEB_DATA.DBF' size 20M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; create tablespace HCZZ_WEB_INDEX DATAFILE 'D:\ORACLE\ORADATA\ORCL\DBF_HCZZ_WEB_INDEX.DBF' size 20M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
數據庫導出:
--第一次新建數據庫導入使用 impdp hczz_web/password@localhost/orcl dumpfile=HCZZ_WEB_20170706.dmp impdp hczz_web/password@221.234.25.77/orcl dumpfile=HCZZ_WEB_20180502.dmp impdp hczz_web/password dumpfile=HCZZ_WEB_20170706.dmp --第二次導入使用
impdp hczz_web/password dumpfile=HCZZ_WEB_20170706.dmp table_exists_action=replace --如果有替換還原新的數據庫命,則執行---------------------- impdp hczz_web_test1/password@localhost/orcl dumpfile=HCZZ_WEB_20170628.DMP table_exists_action=replace remap_schema=hczz_web:hczz_web_test1 impdp hczz_web_test1/password@localhost/orcl dumpfile=HCZZ_WEB_20170628.DMP table_exists_action=replace remap_schema=hczz_web:hczz_web_test1 impdp hczz_web_test1/password@localhost/orcl dumpfile=備份庫.DMP table_exists_action=replace remap_schema=原庫名:現庫名
創建表空間
/*分為四步 */ /*第1步:創建臨時表空間 */ create temporary tablespace yuhang_temp tempfile 'D:\oracledata\yuhang_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:創建數據表空間 */ create tablespace yuhang_data logging datafile 'D:\oracledata\yuhang_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:創建用戶並指定表空間 */ create user yuhang identified by yuhang default tablespace yuhang_data temporary tablespace yuhang_temp; /*第4步:給用戶授予權限 */ grant connect,resource,dba to yuhang;
創建用戶
DECLARE user_name CONSTANT VARCHAR2 (64) := 'hczz_web'; user_password CONSTANT VARCHAR2 (64) := 'password'; data_tablespace_name CONSTANT VARCHAR2 (64) := 'hczz_web_data'; temp_tablespace_name CONSTANT VARCHAR2 (64) := 'hczz_web_temp'; PROCEDURE p_execcmd (v_cmd IN VARCHAR2) AS v_cursorid INTEGER; BEGIN v_cursorid := DBMS_SQL.open_cursor; DBMS_SQL.parse (v_cursorid, v_cmd, DBMS_SQL.native); DBMS_SQL.close_cursor (v_cursorid); EXCEPTION WHEN OTHERS THEN DBMS_SQL.close_cursor (v_cursorid); RAISE; END p_execcmd; BEGIN -------------------1.創建用戶----------------------------------------------- p_execcmd ( 'CREATE USER ' || user_name || ' PROFILE DEFAULT IDENTIFIED BY ' || user_password || ' DEFAULT TABLESPACE ' || data_tablespace_name || ' TEMPORARY TABLESPACE ' || temp_tablespace_name || ' ACCOUNT UNLOCK' ); -------------------2.授權--------------------------------------------------- p_execcmd( 'GRANT CONNECT TO '||user_name||' WITH ADMIN OPTION' ); p_execcmd( 'GRANT RESOURCE TO '||user_name||' WITH ADMIN OPTION' ); ---以下慎用,權限過大 p_execcmd( 'GRANT DBA TO '||user_name||' WITH ADMIN OPTION' ); END;