好久沒寫博客了,最近這段項(xiàng)目再在遷移所以有點(diǎn)忙.下面是這段時(shí)間學(xué)習(xí)并用到的命令.
首先查詢當(dāng)前 目錄信息?select * from dba_directories ;
1.導(dǎo)出數(shù)據(jù)庫(kù).首先賦予用戶對(duì)目錄的權(quán)限,然后再導(dǎo)出 log為日志.
Ⅰ:
SQL >> create or replace directory exportDIR as '/opt/oracle/oradata';
Ⅱ:
SQL >> grant read,write on directory exportDIR to userX;
Ⅲ:
[cmd] >> expdp userX/userX directory=exportDIR dumpfile=userX_date.dump logfile=userX_date.log;
2.導(dǎo)入數(shù)據(jù)庫(kù).首先賦予用戶對(duì)目錄的權(quán)限,然后再導(dǎo)入.
Ⅰ:
SQL >> create or replace directory importDIR as '/opt/oracle/oradata';
Ⅱ:
SQL >> grant read,write on directory importDIR, exp_full_database to userX;
Ⅲ:
[cmd] >> impdp userX/userX directory=importDIR dumpfile=userX_date.dump;
3.新建用戶并授權(quán).
Ⅰ:
SQL >> create tablespace userSpace datafile '/opt/oracle/tablespace/userSpace.dbf' size 50M reuse autoextend off;
------------用戶名--------------密碼---------------------表空間-------------------臨時(shí)表空間--
Ⅱ:
SQL >> create user userX identified by userX default tablespace userSpace temporary tablespace TEMP;
Ⅲ:
SQL >> grant create table,drop any table,create sequence,
alter any trigger, create trigger, drop any trigger,
alter any type, create type, drop any type,
create database link,
create view, drop any view,
create indextype,
create procedure,
create synonym,
create materialized view,
unlimited tablespace,
create session to userX;
4.用戶登錄獲取sysdba權(quán)限.
linux
Ⅰ:
[cmd] >> su - oracle;
Ⅱ:
SQL?>> conn / as sysdba;
window
Ⅰ:
[cmd] >> sqlplus
Ⅱ: 按提示輸入用戶名和口令 用戶名為system 口令為建立數(shù)據(jù)庫(kù)時(shí)設(shè)置的口令 1234
Ⅲ: 當(dāng)不記得口令是可以嘗試
[cmd] >> sqlplus /nolog;
SQL >> conn / as sysdba;
5.常用的 SQL
Ⅰ.查詢表空間
SQL >> SELECT A.TABLESPACE_NAME "表空間名稱",
100 - ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) "占用率(%)",
ROUND(A.BYTES_ALLOC / 1024 / 1024, 2) "容量(M)",
ROUND((A.BYTES_ALLOC - NVL(B.BYTES_FREE, 0)) / 1024 / 1024, 2) "使用(M)",
ROUND(NVL(B.BYTES_FREE, 0) / 1024 / 1024, 2) "空閑(M)",
ROUND((NVL(B.BYTES_FREE, 0) / A.BYTES_ALLOC) * 100, 2) "空閑率(%)",
TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') "采樣時(shí)間"
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;
Ⅱ.DBA權(quán)限查看導(dǎo)出目錄
SQL >> ?select * from dba_directories;
Ⅲ.數(shù)據(jù)庫(kù)啟動(dòng)關(guān)閉
=======================================================
--查詢數(shù)據(jù)庫(kù)啟動(dòng)狀態(tài)
SQL >> select status from v$instance; || [cmd] >> ps -ef | grep oracle;
--關(guān)閉監(jiān)聽
[cmd] >> $lsnrctl stop
--登陸sqlplus
[cmd] >> $ sqlplus / as sysdba
--關(guān)閉數(shù)據(jù)庫(kù)
SQL >>?shutdown immediate;
--重啟數(shù)據(jù)庫(kù)
SQL >> startup;
--退出sqlplus
SQL >> exit
--打開監(jiān)聽
[cmd] >> lsnrctl start
=======================================================
Ⅳ.查看數(shù)據(jù)庫(kù)一共有多少條數(shù)據(jù)
SQL >> select sum(num_rows) from dba_tables;
Ⅴ.查看當(dāng)前用戶多少表
SQL >> select * from user_tables;
Ⅵ.刪除用戶
SQL >> drop user userX cascade;
Ⅶ.刪除表空間
SQL> drop tablespace userSpace including contents and datafiles cascade constraints;
6.遇到的問(wèn)題.
Ⅰ:存儲(chǔ)過(guò)程不能debug調(diào)試.用戶權(quán)限不夠。
SQL>> grant debug any procedure,debug connect session to userX;
Ⅱ:oracle環(huán)境變量設(shè)置
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.1.0/db_1
export ORA_CRS_HOME=/opt/oracrs
export ORACLE_SID=orcl--數(shù)據(jù)庫(kù)名字
?
? ? ??Ⅲ:exp導(dǎo)出功能
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
