oraclelinux表
㈠ 如何從linux導出oracle數據表
用exp命令,具體用法:
1. 獲取幫助
exp help=y
2. 導出一個完整資料庫
exp system/manager file=bible_db log=dible_db full=y
3. 導出資料庫定義而不導出數據
exp system/manager file=bible_db log=dible_db full=y rows=n
4. 導出一個或一組指定用戶所屬的全部表、索引和其他對象
exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)
注意:在導出用戶時,盡管已經得到了這個用戶的所有對象,但是還是不能得到這些對象引用的任何同義詞。解決方法是用以下的sql*Plus命令創建一個腳本文件,運行這個腳本文件可以獲得一個重建seapark所屬對象的全部公共同義詞的可執行腳本,然後在目標資料庫上運行該腳本就可重建同義詞了。
SET LINESIZE 132
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL c:\seapark.syn
SELECT 'Create public synonym '||synonym_name
||' for '||table_owner||'.'||table_name||';'
FROM dba_synonyms
WHERE table_owner = 'SEAPARK' AND owner = 'PUBLIC';
SPOOL OFF
5. 導出一個或多個指定表
exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)
6. 估計導出文件的大小
全部表總位元組數:
SELECT sum(bytes)
FROM dba_segments
WHERE segment_type = 'TABLE';
seapark用戶所屬表的總位元組數:
SELECT sum(bytes)
FROM dba_segments
WHERE owner = 'SEAPARK'
AND segment_type = 'TABLE';
seapark用戶下的aquatic_animal表的位元組數:
SELECT sum(bytes)
FROM dba_segments
WHERE owner = 'SEAPARK'
AND segment_type = 'TABLE'
AND segment_name = 'AQUATIC_ANIMAL';
7. 導出表數據的子集(oracle8i以上)
NT系統:
exp system/manager query='Where salad_type='FRUIT'' tables=amy.salad_type
file=fruit log=fruit
UNIX系統:
exp system/manager query=\"Where salad_type=\'FRUIT\'\" tables=amy.salad_type
file=fruit log=fruit
8. 用多個文件分割一個導出文件
exp system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G tables=hr.paycheck
9. 使用參數文件
exp system/manager parfile=bible_tables.par
bible_tables.par參數文件:
#Export the sample tables used for the Oracle8i Database Administrator's Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)
10. 增量導出
「完全」增量導出(complete),即備份整個資料庫
exp system/manager inctype=complete file=990702.dmp
「增量型」增量導出(incremental),即備份上一次備份後改變的數據
exp system/manager inctype=incremental file=990702.dmp
「累計型」增量導出(cumulative),即備份上一次「完全」導出之後改變的數據
exp system/manager inctype=cumulative file=990702.dmp
㈡ linux下怎麼確定哪張表是哪個庫的Oracle
看哪張表在哪個庫里,與是windows還是linux無關,與項目有關,那裡用到了這張表,就去項目中查看用到了哪個數據就行了,
如果不會看代碼,那就用資料庫連接工具,連上資料庫,一個資料庫一個資料庫的找
㈢ 如何在linux下 修改oracle資料庫表數據
你說的修改資料庫表數據是指什麼呢?
不過我知道,可以使用sqlplus進行資料庫的任何操作,增刪改查都可以。
使用安裝oracle的用戶登錄linux,
1. 敲入sqlplus /nolog
加入/nolog是不登陸的意思,也可以直接敲sqlplus,這樣會直接提示輸入用戶名;
2. 敲入conn scott/tiger
提示已連接,那麼就可以操作scott用戶下的表了。例如inset ,update,delete等等。語法就是sql語法,與操作系統無關。
當然,你可以連接到你想連接的用戶進行相關操作。
㈣ Linux系統下能直接打開oracle的表嗎
1. 如果在DB伺服器上,切到oracle用戶,直接用sqlplus連接,查詢即可。
su - oracle
sqlplus / as sysdba
select * from xxx.t1;
2. 如果不是DB伺服器,需要有oracle的客戶端/伺服器端,使用sqlplus遠程連接資料庫伺服器。
sqlplus system/[email protected]:1521/service_name
3. 如果連客戶端都沒有,可以使用oracle提供的驅動介面,例如:OCI、JDBC、ODBC、.NETPROVIDER等。
連接到資料庫之後,使用sql語句查詢需要的表。
㈤ 求linux(CentOS5.6)下oracle建表步驟
1、創建表空間;
2、創建用戶,管理表空間
3、給新用戶賦許可權
4、使用用戶登錄
5、使用ddl創建表,修改表
㈥ 在linux中按表格查看oracle表數據
起得真早哈哈哈哈哈哈哈哈哈哈哈哈
㈦ oracle linux怎麼用
linux下 oracle常用命令
打開圖形化窗口:
1)Database Configuration Assistant windows (添加資料庫實例)
$ dbca
2)Oracle Net Configuration Assistant windows (配置監聽)
$ netca
3)打開EM
$ oemapp dbastudio (打開企業管理器圖形界面)
$ opemapp console (打開企業管理器圖形界面(和上面的命令效果一樣))
常用命令:
$ lsnrctl start|stop|status (啟動|停止|活動狀態 監聽)
$ isqlplusctl start|stop (啟動|停止 isqlplus 可以在瀏覽器登錄 5560埠)
$ sqlplus /nolog (以不連接資料庫的方式啟動sqlplus)
$ sqlplus system/manager @ file.sql (執行sql腳本文件)
$ sqlplus system/manager (使用system用戶登錄sqlplus)
$ imp system/manager file=/tmp/expfile.dmp log=/tmp/implogfile.log ignore=y fromuser=expuser touser=impuser (用戶模式表數據導入,如果沒有特別指定值,就使用默認的值)
$ exp username/password file=/tmp/expfile.dmp log=/tmp/proV114_exp.log (用戶模式表數據導出,這是最簡單的導出方法)
SQL> conn / as sysdba (以sysdba用戶連接)
SQL> startup
SQL> shutdown
SQL> shutdown immediate (立即關閉實例)
SQL> desc dba_users; (查詢dba_users表結構)
SQL> select username from dba_users; (查詢當前sid下的所有用戶的username)
SQL> select count(*) from username.tablename; (查詢tablename表的行數)
SQL> drop user username cascade; (刪除名稱為username的oracle用戶)
SQL> select distinct table_name from user_tab_columns; (查看當前user模式下所有表名)
一、ORACLE的啟動和關閉
1、在單機環境下
要想啟動或關閉ORACLE系統必須首先切換到ORACLE用戶,如下
su - oracle
a、啟動ORACLE系統
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
a、啟動ORACLE系統
oracle>svrmgrl
SVRMGR>connect internal
SVRMGR>startup
SVRMGR>quit
2、在雙機環境下
要想啟動或關閉ORACLE系統必須首先切換到root用戶,如下
su - root
a、啟動ORACLE系統
hareg -y oracle
b、關閉ORACLE系統
hareg -n oracle
Oracle資料庫有哪幾種啟動方式
說明:
有以下幾種啟動方式:
1、startup nomount
非安裝啟動,這種方式啟動下可執行:重建控制文件、重建資料庫
讀取init.ora文件,啟動instance,即啟動SGA和後台進程,這種啟動只需要init.ora文件
2、startup mount dbname
安裝啟動,這種方式啟動下可執行:
資料庫日誌歸檔、
資料庫介質恢復、
使數據文件聯機或離線,
重新定位數據文件、重做日誌文件。
執行「nomount」,然後打開控制文件,確認數據文件和聯機日誌文件的位置,
但此時不對數據文件和日誌文件進行校驗檢查。
3、startup open dbname
先執行「nomount」,然後執行「mount」,再打開包括Redo log文件在內的所有資料庫文件,
這種方式下可訪問資料庫中的數據。
4、startup,等於以下三個命令
startup nomount
alter database mount
alter database open
5、startup restrict
約束方式啟動
這種方式能夠啟動資料庫,但只允許具有一定特權的用戶訪問
非特權用戶訪問時,會出現以下提示:
ERROR:
ORA-01035: ORACLE 只允許具有 RESTRICTED SESSION 許可權的用戶使用
6、startup force
強制啟動方式
當不能關閉資料庫時,可以用startup force來完成資料庫的關閉
先關閉資料庫,再執行正常啟動資料庫命令
7、startup pfile=參數文件名
帶初始化參數文件的啟動方式
先讀取參數文件,再按參數文件中的設置啟動資料庫
例:startup pfile=E:Oracleadminoradbpfileinit.ora
8、startup EXCLUSIVE
二、用戶如何有效地利用數據字典
ORACLE的數據字典是資料庫的重要組成部分之一,它隨著資料庫的產生而產生, 隨著資料庫的變化而變化,
體現為sys用戶下的一些表和視圖。數據字典名稱是大寫的英文字元。
數據字典里存有用戶信息、用戶的許可權信息、所有數據對象信息、表的約束條件、統計分析資料庫的視圖等。
我們不能手工修改數據字典里的信息。
很多時候,一般的ORACLE用戶不知道如何有效地利用它。
dictionary 全部數據字典表的名稱和解釋,它有一個同義詞dict
dict_column 全部數據字典表裡欄位名稱和解釋
如果我們想查詢跟索引有關的數據字典時,可以用下面這條SQL語句:
SQL>select column_name,comments from dict_columns where table_name='USER_INDEXES';
依此類推,就可以輕松知道數據字典的詳細名稱和解釋,不用查看ORACLE的其它文檔資料了。
下面按類別列出一些ORACLE用戶常用數據字典的查詢使用方法。
1、用戶
查看當前用戶的預設表空間
SQL>select username,default_tablespace from user_users;
查看當前用戶的角色
SQL>select * from user_role_privs;
查看當前用戶的系統許可權和表級許可權
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
2、表
查看用戶下所有的表
SQL>select * from user_tables;
查看名稱包含log字元的表
SQL>select object_name,object_id from user_objects
where instr(object_name,'LOG')>0;
查看某表的創建時間
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&table_name');
查看放在ORACLE的內存區里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
3、索引
查看索引個數和類別
SQL>select index_name,index_type,table_name from user_indexes order by table_name;
查看索引被索引的欄位
SQL>select * from user_ind_columns where index_name=upper('&index_name');
查看索引的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments
where segment_name=upper('&index_name');
4、序列號
查看序列號,last_number是當前值
SQL>select * from user_sequences;
5、視圖
查看視圖的名稱
SQL>select view_name from user_views;
查看創建視圖的select語句
SQL>set view_name,text_length from user_views;
SQL>set long 2000; 說明:可以根據視圖的text_length值設定set long 的大小
SQL>select text from user_views where view_name=upper('&view_name');
6、同義詞
查看同義詞的名稱
SQL>select * from user_synonyms;
7、約束條件
查看某表的約束條件
SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name');
SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;
8、存儲函數和過程
查看函數和過程的狀態
SQL>select object_name,status from user_objects where object_type='FUNCTION';
SQL>select object_name,status from user_objects where object_type='PROCEDURE';
查看函數和過程的源代碼
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
三、查看資料庫的SQL
1、查看錶空間的名稱及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看錶空間物理文件的名稱及大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
3、查看回滾段名稱及大小
select segment_name, tablespace_name, r.status,
(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,
max_extents, v.curext CurExtent
From dba_rollback_segs r, v$ro
㈧ linux oracle 怎麼創建表空間
1、登錄linux,以oracle用戶登錄(如果是root用戶登錄的,登錄後用 su - oracle命令切換成oracle用戶)
2、以sysdba方式來打開sqlplus,命令如下: sqlplus / as sysdba
3、創建臨時表空間:
--查詢臨時表空間文件的絕對路徑。如果需要的話,可以通過查詢來寫定絕對路徑。一般用${ORACLE_HOME}就可以了
select name from v$tempfile;
create temporary tablespace NOTIFYDB_TEMP tempfile '${ORACLE_HOME}\oradata\NOTIFYDB_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;
4、創建表空間:
--查詢用戶表空間文件的絕對路徑:
select name from v$datafile;
create tablespace NOTIFYDB datafile '${ORACLE_HOME}\oradata\notifydb.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
5、創建用戶和密碼,指定上邊創建的臨時表空間和表空間
create user hc_notify identified by hc_password default tablespace NOTIFYDB temporary tablespace NOTIFYDB_TEMP;
6、賦予許可權
grant dba to hc_notify;
grant connect,resource to hc_notify;
grant select any table to hc_notify;
grant delete any table to hc_notify;
grant update any table to hc_notify;
grant insert any table to hc_notify;
經過以上操作,就可以使用hc_notify/hc_password登錄指定的實例,創建我們自己的表了。