好久沒寫博客了,最近這段項目再在遷移所以有點忙.下面是這段時間學(xué)習(xí)并用到的命令.
首先查詢當(dāng)前 目錄信息?select * from dba_directories ;
1.導(dǎo)出數(shù)據(jù)庫.首先賦予用戶對目錄的權(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ù)庫.首先賦予用戶對目錄的權(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;
------------用戶名--------------密碼---------------------表空間-------------------臨時表空間--
Ⅱ:
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ù)庫時設(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') "采樣時間"
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ù)庫啟動關(guān)閉
=======================================================
--查詢數(shù)據(jù)庫啟動狀態(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ù)庫
SQL >>?shutdown immediate;
--重啟數(shù)據(jù)庫
SQL >> startup;
--退出sqlplus
SQL >> exit
--打開監(jiān)聽
[cmd] >> lsnrctl start
=======================================================
Ⅳ.查看數(shù)據(jù)庫一共有多少條數(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.遇到的問題.
Ⅰ:存儲過程不能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ù)庫名字
?
? ? ??Ⅲ:exp導(dǎo)出功能
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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