1. 程式人生 > >oracle的建表空間,imp匯入匯出,以及一些簡單自我總結

oracle的建表空間,imp匯入匯出,以及一些簡單自我總結

1.建立表空間:

create tablespace zhongway
logging  
datafile 'd:\oracle\product\10.2.0\client_2\orcl\zhongway.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;

說明:zhongway是表空間名字,datefile是你自己硬碟的有效地址。 maxsize 20480m 一般我建的時候是去掉的,不要這一句,就是表空間沒喲最大限制,有限制用久了老是表空間不足要擴表空間懶得麻煩。其他的應該都看的懂意思。

先用sys身份登入:
    使用者名稱:sys
    口令:你自己安裝oracle設定的密碼
    資料庫:orcl
    連線為:SYSDBA

2.建立使用者:

--新建使用者角色:
create user wxpt identified by zhongway default tablespace zhongway;  
--分配許可權:
grant connect,resource,dba to wxpt;

說明:wxpt是使用者,密碼是zhongway,表空間是zhongway,分配resource和dba 許可權給使用者wxpt,一般分resource最大許可權就夠了。

3.一般現在就是匯入了,前提是你已經有導好的dmp檔案,一般是從其他資料庫匯出的,或者在客戶那邊導的最新的資料庫,下來看怎麼從資料庫匯出dmp檔案。

直接在電腦開始點執行,輸入cmd命令輸入匯出語句:

格式:exp wxpt/[email protected]/orcl file=d:\wxpt20170616.dmp buffer=8000

說明:exp 匯出 wxpt是使用者名稱,zhongway是密碼,  200.200.200.91是自己的ip地址如果是自己電腦上的資料庫可以不寫IP直接@orcl ,file後面的是你匯出的dmp檔案的儲存在硬碟的哪裡和匯出檔案的名字,buffer=8000是緩衝區。

把語句複製在cmd裡面等執行完,看見說明,匯出成功的提示說明匯出好了。

4.現在有了dmp檔案上面2步驟也已經建立好使用者了,現在我們把3匯出的dmp檔案匯入2步驟建立的使用者。

一樣cmd命令:輸入如下語句:

格式:imp wxpt/[email protected]/orcl file=d:\wxpt20170930.dmp full=y

說明:和匯出語句差不多匯出語句你理解了匯入一樣很好理解,說個習慣一般dmp檔名字是user名字+當天時間+dmp,因為你可能會有很多備份或者匯出針對同一個使用者。

好了我們把IP為200.200.200.91上的使用者匯入到了200.200.200.62的資料庫上。

注意:如果oracle高版本相容低版本,低版本不相容高版本,就是oracle11g的資料庫匯出的資料,匯入不到oracle10g裡面,反之可以。

5.下面是一些日常簡單語句有時候很有用。

解鎖語句:

用sys登入:alter user scott account unlock  

說明:scott 是你資料庫鎖住的使用者。

修改使用者密碼:alteruser wxpt(使用者)identifiedbyzhongway(密碼)

檢視該使用者所許可權: select *from session_privs;

檢視該使用者擁有的角色:select* from user_role_privs;

檢視該角色有哪些許可權:select* from dba_sys_privs t where t.grantee='RESOURCE';

查詢該使用者下有多少檢視:select* from user_views;

建立一個自增的序列:createsequence sequence_id

startwith1

incrementby1

maxvalue999999999999

nocache

nocycle;

說明:從1開始每次自增1 最大999999999999值不能迴圈

建立索引:createindex id_test_indexontest_index(id);

查詢表空間是否自動擴充套件,和最大值

selectt.autoextensible資料檔案是否自動擴充套件,t.maxbytes 資料檔案最大  fromdba_data_files t wheretablespace_name='zhongway';

6.刪除重複資料的辦法,推薦第一種,想當年自己寫的很長的一個。。。。。

nh_sfz相同的分到一組但是物理rowid刪除不是最大的就去除重複了

delete from tbl_bt where rowid not in (select max(rowidfrom tbl_bt t groupby nh_sfz );

分組後having count()查詢

select* from tbl_bt wherenh_sfzin ( selectnh_sfz  fromtbl_bt groupbynh_sfzhavingcount(nh_sfz)>1);

還是利用實體地址rowid查詢

select* from tbl_btwherenh_sfz in  (selectnh_sfzfrom tbl_bt whererowidnotin (selectmax(rowid)from  tbl_bt groupby nh_sfz )  );

7.用快閃記憶體恢復刪除的資料或者表

--如何快速恢復剛刪除的表和資料flashback閃回
--事務閃回:才更新了insert 和update 和delete語句的時候需要恢復commit操作之前的資料,則需要撤銷剛才的操作。
--行級閃回:對錶進行了insert和update和delete語句,需要恢復到一個時間點。
--表級閃回:錯誤的drop,table操作,需要表和表中的資料。
--資料庫級閃回:錯誤的將整個資料庫很多資料,需要將整個資料庫恢復到過去時間點。
--是否有閃回許可權
select * from session_privs where privilege like 'FLASHBACK%';
--如果沒有查到資料就是沒有許可權登陸sys 分配許可權
grant flashback any table to  'yxgwcs';

--查詢時間點的資料
select sysdate from dual;--當前時間
select * from tblweb_pwd as of timestamp to_timestamp('2017/3/17 10:27:42','yyyy-mm-dd hh24:mi:ss')  where xm='趙樹仁';
 --開啟行移動功能  全部整表插入 開始
 alter table tblweb_pwd enable row movement;

 --恢復表資料
 flashback table tblweb_pwd to timestamp to_timestamp('20170317100000','yyyy-mm-dd hh24:mi:ss');

 --關閉行移動功能 ( 千萬別忘記 )
 alter table tblweb_pwd disable row movement;
 --全部整表插入 結尾

 --插入單條資料資料
insert into tblweb_pwd  select * from tblweb_pwd as of timestamp to_timestamp('20170317100000','yyyy-mm-dd hh24:mi:ss')  where xm='趙樹仁';

--這個是11g才能用
select  t.start_timestamp,t.commit_timestamp,t.logon_user,t.operation,
             t.table_name,t.table_owner,t.undo_sql
 from flashback_transaction_query  t where table_name='tblweb_pwd';
 --查詢到值再插進去
 
 --恢復刪除的表
 --1先檢視刪除的表在能恢復的列表沒
 select * from user_recyclebin  order by droptime  desc;
 --恢復到刪除之前
 flashback table TBL_BOTTOM_COPY to before drop;

8.sum()函式的一個奇異現象

select sum(1) from dual where 1=2;


說明:因為sum()函式一定有返回值,這樣會返回一個空行記錄,我現在不想要這個記錄,這樣寫

select sum(1) from dual where 1=2 group by 1000;


說明:加group by語句。

相關推薦

oracle空間imp匯入匯出以及一些簡單自我總結

1.建立表空間: create tablespace zhongway logging   datafile 'd:\oracle\product\10.2.0\client_2\orcl\zhongway.dbf' size 50m   autoextend on  

Oracle,查詢 空間對應的資料檔案使用者和空間對應關係

--查詢表空間對應的資料檔案 select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; --使用者和表空間對應關係 select   use

oracle建立空間及使用者匯出匯入資料備份

轉載:https://blog.csdn.net/ludongshun2016/article/details/52849784?utm_source=copy  建立表空間及使用者 //建立臨時表空間   create temporary tablespace salt

從Navicat匯出oracle語句應用sqoop將oracle中的資料匯入到hive

                            ORACLE庫的操作首先選擇navicat作為這個檔案的工具,作為資料庫表結構的匯入和匯出工具。  匯出的時候 會連結構和資料都匯出來,會形成一個sql檔案  也可以只倒檢視或者表都可以的。但是以匯出的這個檔案匯入的時候

Oracle查看空間空間

con 查看表 刪除 app 創建 auto toe light globe 查看表空間: SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_

Oracle數據庫-庫、空間用戶

建庫 size res database 創建表 IE nbsp ews ide 1、選擇的數據庫目錄   *\product\10.1.0\oradata\目錄下(*表示oracle的安裝目錄) 2、創建表空間   格式: create tablespace 表間名 d

Oracle 12c 插鏈式資料庫下空間新建使用者及賦權SQL解決空導不出的問題使用者鎖定問題密碼過期問題。

1、連線SQLPLUS sqlplus /nolog 2、SYSDBA登入 conn / as sysdba 3、檢視PDB show pdbs; 4、將會話轉到具體某個DB下 alter session set container=dbname; 5、建立表

Oracle建立空間使用者、匯入dmp檔案

1、建立臨時表空間: create temporary tablespace user_temp   tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'  size 50m   autoextend

ORACLE】dmp格式匯入匯出沒有資料的情況下匯入會缺失

使用過oralce很多種匯入匯出的方式,pde,sql(匯出不支援blog格式),dmp格式,覺得.dmp最為方便,可以匯出所有的表結構、資料、SEQ及儲存過程等,下面就開始具體流程,並說明到如果表中沒有資料時如何匯入。匯入匯出.dmp命令,在cmd視窗執行,其中file為儲

Oracle資料庫-庫、空間使用者

Oracle安裝完後,其中有一個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。     對於初學者來說,為了避免麻煩,可以用'Database Configuration Assistant'嚮導來建立資料庫。     建立完資料庫後,並不能立即在資

oracle建立空間建立使用者匯入dmp資料

匯入oracle資料的時候,經常到用的時候忘記,特整理一份,方便以後操作。 需要注意的是:建立表空間和使用者是在sqlPlus中執行,而匯入資料需要在cmd視窗執行。 一、建立表空間 create tablespace 表空間名 datafile 'd:/*.dbf' s

Oracle create tablespace 創空間語法詳解

系統回滾段 語法 判斷 臨時 extent 數值 off offline 文件的 CREATE [UNDO] TABLESPACE tablespace_name [DATAFILE datefile_spec1 [,datefile_spec2] ..

oracle第二步創空間、用戶、授權

toe 數據 表空間 nag gem 分享 reat 登錄 light Windows+r→鍵入sqlplus,輸入已安裝好的oracle數據庫超級管理員賬號密碼登錄。顯示: 成功。 創建表空間: 創建用戶並默認表空間: 授權該創建用戶對數據庫的操作: 代碼:

Oracle Rac創空間及用戶

tput rod end put use pac str exce source 1. 創建表空間: BEGIN DECLARE cnt integer := 0; BEGIN SELECT 1 INTO cnt FROM dual WHERE exists(SE

Oracle用戶、角色、授權、空間

數據 revoke 空間名 plus with 其他 ini ota article oracle數據庫的權限系統分為系統權限與對象權限。系統權限( database system privilege )可以讓用戶執行特定的命令集。例如,create table權限允許用戶

--使用oracle數據先要創空間

align 語法 som not 物理 管理 ... end varchar one\--創建表空間 CREATE TABLESPACE 表空間的名字DATAFILE ‘E:\oracle\app\userdata\java5space.dbf‘ --表空間物理文件路

ORCLE 創空間用戶賦予角色以及授權

account ora 臨時表 efault locate group 和數 class val 1、創建表空間MMS_DATA 1 --創建表空間和數據庫文件dbf 2 CREATE TABLESPACE MMS_DATA DATAFILE 3 ‘D:\OR

Oracle空間、創用戶以及授權

指定表 count conf fault 除了 max limited 初學 ati Oracle安裝完後,其中有一個缺省的數據庫,除了這個缺省的數據庫外,我們還可以創建自己的數據庫。 對於初學者來說,為了避免麻煩,可以用‘Database Configuratio

Oracle學習筆記_05_ 一個創空間、創用戶、授權的完整過程

查看 ref tab 學習 linu word 切換 temp voice 一、完整命令 su - oracle sqlplus /nolog conn /as sysdba create tablespace scaninvoice logging

oracle用戶、創空間、授權、

ger 所在 存儲路徑 分配權限 ora pac from 查看 spa 1.首先我們可以用scott用戶以sysdba的身份登錄oracle. conn scott/tiger as sysdba 2.然後我就可以來創建用戶了. create user zz