1. 程式人生 > >oracle 常用sql命令

oracle 常用sql命令

進行資料庫備份遷移之前,如果是oracle11g,一定要做匯出空表設定(ArcSDE10.1版本中的SDE庫比較奇怪,導不出所有的空表,必須先進行設定)。下列cmd命令或sql執行語句,請實施人員一定要看懂,如有必要,請進行相應的替換。


一、資料庫備份步驟:
0、匯出sde使用者前準備:
1)在PL*SQL中sde使用者登入後,執行:select 'alter table '||table_name||' allocate extent;' from user_tables
2) 複製查詢結果,執行所有的上述查詢結果(查詢結果一般為多行sql語句)


1、匯出sde使用者檔案(生成sde.dmp)
cmd命令:exp sde/[email protected] file=c:\temp\sde.dmp
2、匯出Jasframework使用者(生成jasframework.dmp)
cmd命令:exp jasframework/
[email protected]
file=c:\temp\jas.dmp


二、資料庫還原步驟:(假如空間表存放使用者為Jasframework,ArcSDE管理使用者為sde)


1、drop掉Jasframework,sde使用者
sql執行語句:
1)DROP USER jasframework CASCADE;
2)DROP USER sde CASCADE;


2、建Jasframework使用者,選擇Jasframework表空間,給dba,resource,connect許可權;
sql執行語句:
1)CREATE USER szgasdcs IDENTIFIED BY szgasdcs DEFAULT TABLESPACE SZGASDCS TEMPORARY TABLESPACE TEMP;
2)GRANT DBA,RESOURCE,CONNECT TO szgasdcs;


3、建sde使用者,選擇sde表空間,給dba,resource,connect許可權
sql執行語句:
1)CREATE USER sde IDENTIFIED BY sdejasframework DEFAULT TABLESPACE sde TEMPORARY TABLESPACE TEMP;
2)GRANT DBA,RESOURCE,CONNECT,select_catalog_role TO sde;
3) GRANT ALL ON DBMS_CRYPTO TO sde;


4、匯入sde.dmp
cmd命令:
1)imp szgasdcs/
[email protected]
file=c:\temp\sr_20160705.dmp fromuser=szgasdcs touser=szgasdcs log=c:\temp\szgasdcs.log
2)在pl*sql中用sde使用者登入後,編譯未編譯物件




5、匯入Jasframework.dmp,在pl*sql用Jasframework使用者登入後,編譯未編譯物件
cmd命令:
1)imp jasframework/[email protected] file=c:\temp\jas.dmp fromuser=jasframework touser=jasframework log=c:\temp\jasframework.log;
2)在pl*sql中用Jasframework使用者登入後,編譯未編譯物件


6、在catalog中測試某個空間表,如果能看到圖形,恭喜,成功了




#給某使用者表空間許可權
grant unlimited tablespace to halfayadb




----------------------以下為常用技巧-----------------------------


---------Oralce 11g匯出空表-------------


oracle 11g匯出空表設定:
1、dba登入,執行下列SQL語句:
alter system set deferred_segment_creation=false;


2、用匯出使用者賬號登入,執行
select 'alter table '||table_name||' allocate extent;' from user_tables
然後再執行所有的上述查詢結果(查詢結果一般為多行sql語句)。




----------Oracle常用SQL語句-------------------




#以dba身份連線
sqlplus sys/
[email protected]
as sysdba


#獲取使用者及對應的表空間
select username,default_tablespace from user_users


#刪除jasframework使用者
DROP USER jasframework CASCADE;


#刪除jasframework表空間
DROP TABLESPACE jasframework INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINT;


#建立jasframework表空間,預設大小200M,每當容量滿後自增100M
CREATE TABLESPACE jasframework DATAFILE 'J:\PipelineGIS\oradata\GISPDB01\Jasframework.dbf' SIZE 200m AUTOEXTEND ON NEXT 100m MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;


#建立使用者jasframework,密碼為pwdpdjasframework,預設表空間為spacejasframework
CREATE USER jasframework IDENTIFIED BY pwdpdjasframework DEFAULT TABLESPACE spacejasframework TEMPORARY TABLESPACE TEMP;


#給使用者jasframework賦予DBA,RESOURCE,CONNECT角色
GRANT DBA,RESOURCE,CONNECT TO jasframework;


#修改SDE使用者密碼(在CMD中執行)
sdeservice -o modify -r SDE_DBA_PASSWORD -p xxxxx -v yyyyy -i esri_sde -d ORACLE(“xxxxx”為舊密碼“yyyyy”為新密碼)


#資料匯出
exp username/[email protected] file=c:\temp\temp.dmp


#資料還原
imp jasframework/[email protected] file=J:\jas.dmp fromuser=jasframework touser=jasframework log=J:\PipelineGIS\資料Dmp\jas.log


#Oracle11g匯出空表設定
第一步,執行:alter system set deferred_segment_creation=false;
第二步,執行:select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 。將查詢結果的每條SQL語句執行一遍


#查詢密碼有效期
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
#設定密碼永不過期
ALTER PROFILE default LIMIT PASSWORD_LIFE_TIME UNLIMITED;


#修改使用者密碼
alter user user01 identified by user10;


#獲取當用戶下的表或檢視或欄位
select * from user_tables
select * from user_views 
select * from user_tab_columns
select * from user_tab_comments
select * from user_col_comments


#獲取當前使用者下的表名及表註釋
select t.TABLE_NAME,t1.COMMENTS from user_tables t,user_tab_comments t1 WHERE t.TABLE_NAME=t1.TABLE_NAME order by t.TABLE_NAME


#從一表選擇資料插入另一張表
insert into tableA(colum1,colum2) select colum3,colum4 from tableB


#依據某個主鍵更新另一張表(單列)
update tableA set column1=(select column2 from tableB where tableA.id=tableB.id)


#依據某個主鍵更新另一張表(多列)
update tableA set(column1,column2)=(select column3,column4 from tableB where tableA.id=tableB.id)


#樹狀查詢,查由id,parentid關聯關係的表
Select level jishu, t1.* from PRI_FUNCTIONPRIVILEGE t1 
         connect by prior t1.eventid=t1.parenteventid 
         start with t1.parenteventid is null order siblings by t1.ordernumber


#expdb匯出備份
1、在pl*sql中,先用sys賬戶登入,建立匯出存放目錄(以後匯出的檔案從這個路徑中找):create directory dpdir as 'c:\temp'
2、再為匯出使用者分配目錄許可權:grant read,write on directory dpdir to sde
3、執行cmd,執行:expdp sde/[email protected] schemas=sde dumpfile=sdedp20160621.dmp directory=dpdir
4、再從c:\temp資料夾中,拷出sdedp.dmp檔案
expdp sde/[email protected]  DIRECTORY=dpdir dumpfile=hositpal.dmp tables=ER_HOSPITAL
#impdb還原備份
1)導到指定使用者下
impdp scott/[email protected] directory=dpdir dumpfile=expdp.dmp schemas=scott logfile=expdb.log
2)改變使用者
impdp user1/[email protected] directory=dpdir dumpfile=expdp.dmp remap_schema=老使用者:新使用者;
3)改變表空間
impdb scott/[email protected] directory=dpdir dumpfile=expdb.dmp remap_tablespace=匯出表空間名稱:匯入表空間名稱
4)當某個使用者使用了多個表空間時,先執行1),瞭解表空間名稱後,再執行
impdp pgip/[email protected] directory=dpdir dumpfile=pgip.dmp schemas=pgip remap_tablespace=users:pgip TABLE_EXISTS_ACTION=skip logfile=imp_pgip.log

相關推薦

oracle常用SQL命令

兩張 alt server 更新數據 gn3 屬性 rac happy fray 將A表中的字段a1的值全部賦給B表中的字段B1,根據兩張表的ID關聯。 方式1: UPDATE HBSZ071001.tac_bank aSET a.bankno= (SELE

oracle 常用sql命令

進行資料庫備份遷移之前,如果是oracle11g,一定要做匯出空表設定(ArcSDE10.1版本中的SDE庫比較奇怪,導不出所有的空表,必須先進行設定)。下列cmd命令或sql執行語句,請實施人員一定要看懂,如有必要,請進行相應的替換。 一、資料庫備份步驟: 0、匯出sde

ORACLE/MYSQL資料庫的常用SQL命令

以下均是在建立一個成功的連線後的操作。 MySQL資料庫在一個連線下是通過不同的資料庫名稱來進行區分的,即一個連線下可以有很多個庫;Oracle資料庫連線時則是通過使用者名稱進行區分的,一個使用者名稱下面只有一個數據庫。 文章目錄

oracle 常用sql語句

onu format del 滿足 blank ica end var har 目錄 1)基本 2)數學函數 3)rownum 4)分頁 5)時間處理 6)字符函數 7)to_number 8)聚合函數 9)學生選課 10)圖書館借閱 基本 --新建表: cre

ORACLE 常用SQL(自用、用到更新)

true 執行 存儲 gin session pad any mov sched /**********************************************************************************************

ORACLE 常用sql用法和及註意事項

com 從右到左 指定 turn 但是 數據 lba etime its 1.exits和in用法 1)說明:   1. exists對外表做循環,每次循環對內表查詢;in將內表和外表做hash連接   2. 使用exists oracle會先檢查主查詢; 使用in,首先執

oracle-常用sql

wishyouhappy https://www.cnblogs.com/wishyouhappy/p/3700683.html#char

常用SQL命令彙總(二)-多表查詢

一、多表查詢 1.連線查詢: 連線查詢是將兩個或兩個以上的表按照某個條件連線起來,從中選取需要的資料; t_book表:                                                                          

Oracle常用sql語句

整理一些個人常用到的sql語句: 1.更新一條記錄 update 表名稱 set 列名稱1 = null,列名稱2=to_date(‘15:27:10’,’hh24:mi:ss’) where 列名稱3 = ‘123’ 2.刪除一條記錄 detel

Oracle 常用SQL總結之一

1、distinct :去重複 ,可以跟上一列或多列來排除行重複  2、<> :不等於 --->select * from emp where 

oracle常用管理命令

第一章:日誌管理   1.forcing log switches   sql> alter system switch logfile;   2.forcing checkpoints   sql> alter system checkpoint;   3.ad

hive常用sql命令

建立表hive> CREATE TABLE A (a INT, b STRING); 建立表並建立索引欄位dshive> CREATE TABLE A (a INT, b STRING) PARTITIONED BY (ds STRING); 顯示所有表hive&

oracle 常用管理命令

刪除表空間:drop tablespace ittbank including contents and datafiles; 修改表空間大小(注:修改=可以增大,可以減小。)alter database datafile '/u01/app/oracle/oradata/ORCL/ittbank.dbf'

ORACLE常用SQL語句大全

一、基礎 1、說明:建立資料庫 CREATE DATABASE database-name 2、說明:刪除資料庫 drop database dbname 3、說明:備份sql server — 建立 備份資料的 device USE master

常用SQL命令彙總(一)-增刪改及單表查詢

一、資料庫及表的建立 資料庫操作: 1、顯示所有資料庫:Show databases; 2、建立資料庫:Create database 資料庫名; 3、刪除資料庫:Drop database 資料庫名; 表操作: CREATE TABLE 表名(  屬性名 資料表

Oracle常用sql語句(三)之子查詢

子查詢 子查詢要解決的問題,不能一步求解 分為: - 單行子查詢 - 多行子查詢 語法: SELECT select_list FROM table WHERE expr operator (SELECT select_l

oracle常用操作命令

刪除使用者 drop user user_name cascade; 建立表空間 CREATE TABLESPACE data01 DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZ

ORACLE常用SQL

insert acl column spa sql 常用sql oracle word bsp -- 添加“email”列到表格的末尾列。 ALTER TABLE TABLE_NAME ADD email VARCHAR(60); --

OracleSQL Plus 設定與常用命令

顯示設定   -- 設定每行顯示的最長字元數 set linesize 120   -- 設定一頁顯示的行數 set pagesize 20   -- 設定是否顯示一頁的記錄數 set feedback o

OracleSql*Plus 常用命令介紹

  估計用 Oracle 的幾乎一開始都是使用 Sql*Plus 吧, 畢竟這個工具可以執行在任何的 Oracle 執行的平臺上, 這個工具呢,您可以在客戶端實現安裝,也可以在服務端安裝, 在客戶端的安裝呢,主要是通過安裝 Oracle 提供的客戶端軟體安裝, 而在服務