1. 程式人生 > >Oracle 筆記總結

Oracle 筆記總結

--建立使用者
create user NF_NFZC identified by NF_NFZC;
--修改口令
alter user NF_NFZC identified by 123456;
--刪除使用者
drop user NF_NFZC;
--使用者授權
grant connect, resource to 使用者名稱;
grant connect, resource to NF_NFZC;
--撤銷許可權
語法: revoke connect, resource from 使用者名稱;
列子: revoke connect, resource from NF_NFZC;
--建立角色
語法: create role 角色名;
例子: create role testRole;
--授權角色
語法: grant select on class to 角色名;
列子: grant select on class to testRole;
--刪除角色
語法: drop role 角色名;
例子: drop role testRole;
--授權dba角色
grant dba to NF_NFZC 

===========================================匯入匯出===============================================================
	--從源資料庫匯出:
	exp user1/
[email protected]
file=c:\temp\exp.dmp tables=(table1, table2) 匯入到標資料庫: imp user2/[email protected] file=c:\temp\exp.dmp tables=(table1, table2) ---exp 匯出表 exp NF_NFZC/[email protected] file=/u01/IGIS_LOCATION_COPY.dmp tables=IGIS_LOCATION_COPY log=/u01/IGIS_LOCATION_COPY.log imp 匯入表(按使用者匯入) imp SBZS/
[email protected]
file=/u01/IGIS_LOCATION_COPY.dmp FROMUSER=NF_NFZC TOUSER=SBZS tables=IGIS_LOCATION_COPY ---expdp 匯出表 select * from dba_directories; --建立資料匯出目錄expnc_dir為目錄名 create directory expnc_dir as 'E:\ncdatabak'; --為oracle使用者授予訪問資料目錄的許可權 Grant read,write on directory expnc_dir to dxzyjt; --匯出表 expdp system/
[email protected]
tables=HX_DJ.dj_nsrxx dumpfile=djnsrxx.dmp directory=DMP; --匯入表從HX_DJ匯入SBZS使用者下面 impdp system/123456 DIRECTORY=DATA_PUMP_DIR DUMPFILE=djnsrxx.dmp REMAP_SCHEMA=HX_DJ:SBZS; --字符集問題排查:http://www.cnblogs.com/lishupeng/p/5605558.html --資料泵倒資料總結 一、匯出 --1)匯出使用者 expdp scott/[email protected] schemas=scott dumpfile=expdp.dmp directory=oracleBak_dir --2)匯出表 expdp scott/[email protected] tables=emp,dept dumpfile=expdp.dmp directory=oracleBak_dir --3)按查詢條件導 expdp scott/[email protected] directory=oracleBak_dir dumpfile=expdp.dmp tables=emp query=’where deptno=20’ --4)按表空間導 expdp system/[email protected] directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=temp,example --5)導整個資料庫 expdp system/[email protected] directory=oracleBak_dir dumpfile=full.dmp full=y 二、匯入資料 --1)匯入使用者(從使用者scott匯入到使用者scott) impdp scott/[email protected] directory=oracleBak_dir dumpfile=expdp.dmp schemas=scott --2)匯入表(從scott使用者中把表dept和emp匯入到system使用者中) impdp system/[email protected] directory=oracleBak_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system --3)匯入表空間 impdp system/[email protected] directory=oracleBak_dir dumpfile=tablespace.dmp tablespaces=example --4)匯入資料庫 impdb system/[email protected] directory=oracleBak_dir dumpfile=full.dmp full=y --5)追加資料 impdp system/[email protected] directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action 三、並行匯出 expdp system/[email protected] tables=HX_DJ.dj_nsrxx dumpfile=djnsrxx_%U.dmp directory=DMP; --注意:dumpfile 引數擁有一個萬用字元 %U,它指示檔案將按需要建立,格式將為expCASES_nn.dmp,其中nn 從 01 開始,然後按需要向上增加。 ==========================================檢視字符集============================================================= select userenv('language') from dual; ==========================================表空間================================================================ set linesize 300; set pagesize 300; set timing on; --Look TableSpace Use --查看錶空間方法一: select ff.*, ff.maxsize_gb-ff.used_gb as sygb from ( select tablespace_name, round(used_space*(select value from v$parameter where name='db_block_size')/power(2,30),2) USED_GB, round(tablespace_size*(select value from v$parameter where name='db_block_size')/power(2,30)) MAXSIZE_GB, round(used_percent,2) as "PCT%" from dba_tablespace_usage_metrics ) ff where ff."PCT%" >60 order by ff."PCT%" desc; --查看錶空間方法二: select tbs_used_info.tablespace_name, tbs_used_info.alloc_mb, tbs_used_info.used_mb, tbs_used_info.max_mb, tbs_used_info.free_of_max_mb, tbs_used_info.used_of_max as "used_of_max_pct%" from (select a.tablespace_name, round(a.bytes_alloc / 1024 / 1024 / 1024) alloc_mb, round((a.bytes_alloc - nvl(b.bytes_free, 0)) / 1024 / 1024 / 1024) used_mb, round((a.bytes_alloc - nvl(b.bytes_free, 0)) * 100 / a.maxbytes) used_of_max, round((a.maxbytes - a.bytes_alloc + nvl(b.bytes_free, 0)) / 1024 / 1024 / 1024) free_of_max_mb, round(a.maxbytes / 1024 / 1024 / 1024) max_mb from (select f.tablespace_name, sum(f.bytes) bytes_alloc, sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes from dba_data_files f group by tablespace_name) a, (select f.tablespace_name, sum(f.bytes) bytes_free from dba_free_space f group by tablespace_name) b where a.tablespace_name = b.tablespace_name(+)) tbs_used_info where tbs_used_info.used_of_max>10 order by tbs_used_info.used_of_max desc; -- Look TableSpace Path 查看錶空間路徑 -- select * from dba_data_files f where f.TABLESPACE_NAME='TS_SSSL_DAT_2018'; -- Extend TablesSpace 擴充套件表空間 -- ALTER TABLESPACE TS_SSSL_DAT_2018 ADD DATAFILE '+DSDATA/snltnfzc/datafile/ts_sssl_dat_35.dbf' SIZE 30G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED; --建立表空間 CREATE TABLESPACE SBZS_DATA LOGGING DATAFILE '/u01/app/oracle/oradata/XE/SBZS_DATA001.DBF' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE TS_HX_DJ_DATA LOGGING DATAFILE '/u01/app/oracle/oradata/XE/TS_HX_DJ_DATA001.DBF' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE NFZC_DATA LOGGING DATAFILE '/u01/app/oracle/oradata/XE/NFZC_DATA001.DBF' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL; ---查看錶空間 select username,default_tablespace from dba_users; ---如果想要修改使用者的永久表空間可以執行命令: alter user user default tablespace tablespaceName; 例如:alter user SBZS default tablespace SBZS_DATA --其中第二個user為要操作的使用者,tablespaceName為將要設定的預設表空間名稱。 ---如果想修改新新增的使用者的預設表空間可以執行如下命名: alter database default tablespace tablespaceName,這樣新建立的使用者的預設表空間就為tablespaceName --根據儲存過程內容查詢儲存過程名稱 select * from all_source f where f.type='PROCEDURE' and f.text like '%%'; --更改表空間為SBZS_DATA alter table SBZS.DJ_NSRXX move tablespace SBZS_DATA; --針對某個使用者設定預設表空間 alter user user_name default tablespace tbs_name;