1. 程式人生 > >linux系統下啟動Oracle服務、建立表空間和使用者

linux系統下啟動Oracle服務、建立表空間和使用者

一、啟動oracle服務

Linux系統在Oracle使用者下可以用ps -ef|grep ora檢視,是否有Oracle的程序,如果有,大多數情況說明啟動了,為了更進一步驗證,可以登入一下,或檢視alert日誌

如果沒啟動,就可以在Oracle使用者下執行以下命令

單機有兩種:1和2

1、sqlplus sys/passwd as sysdba,
startup
2、sqlplus /nolog
conn / as sysdba
startup

檢視監聽的方法
lsnrctl stat
啟動監聽
lsnrctl start

二、

su - oracle 切換到oracle使用者(linux的一個使用者名稱)

1 、 在/home/oracle/oradata 目錄下新建一個資料夾,後面建立表空間需要用到

cd /home/oracle/oradata

mkdir abc

2  sqlplus “/ as sysdba” (以dba身份登入資料庫, 系統的超級使用者)

3 、建立臨時表空間

建立使用者前必須要先建立臨時表空間和資料庫表空間兩個表空間,否則用系統預設的表空間不好。

create temporary tablespace abc_temp tempfile'/home/oracle/oradata/abc/abc_temp.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;

說明:

1)abc_temp 臨時表空間名字

2)/home/oracle/oradata/abc 存放資料庫檔案的地方,一般是安裝資料庫後有控制檔案,資料檔案和日誌檔案的資料夾,再加上要建立表空間的名字+dbf (資料檔案)

3)1024m 表空間的初始大小

4)100m 表空間的自動增長大小

5)10240m   表空間最大的大小

4、建立資料表空間

create tablespace abc logging datafile'/home/oracle/oradata/abc/abc.dbf' size 1024m autoextend on next 100m maxsize 10240m extent management local;

5 、建立使用者並指定表空間

create user abc identified by abc default tablespace abc temporary tablespace abc_temp;

注:create standardtable.sql 建立表

6 、給使用者授予許可權

grant dba to abc; (給abc 使用者授予了dba 所有許可權)

7 、刪除使用者以及使用者所有的物件

drop user zfmi cascade;

cascade 引數是級聯刪除該使用者所有物件,經常遇到如使用者有物件而未加此引數則使用者刪不了的問題,所以習慣性的加此引數

刪除oracle 使用者nim 出現下面的錯誤:

SQL> drop user nim cascade;

drop user nim cascade

* ERROR 位於第 1 行:

ORA-00604: 遞迴 SQL 層 1 出現錯誤

ORA-24005: 必須使用 DBMS_AQADM.DROP_QUEUE_TABLE 刪除隊列表

處理方式:

先執行這條語句:alter session set events'10851 trace name context forever,level 2';

再執行:drop user nim cascade; 刪除使用者nim

8、刪除表空間
前提:刪除表空間之前要確認該表空間沒有被其他使用者使用之後再做刪除

drop tablespace nimeng including contents and datafiles cascade constraints ;

including contents 刪除表空間中的內容,如果刪除表空間之前表空間中有內容,而未加此引數,表空間刪不掉,所以習慣性的加此引數
including datafiles 刪除表空間中的資料檔案
cascade constraints 同時刪除 tablespace 中表的外來鍵參照

如果在清除表空間之前,先刪除了表空間對應的資料檔案,會造成資料庫無法正常啟動和關閉。可使用如下方法恢復:
下面的過程中, filename 是已經被刪除的資料檔案,如果有多個,則需要多次執行; tablespace_name 是相應的表空間的名稱。
$ sqlplus /nolog
SQL> conn / as sysdba;
如果資料庫已經啟動,則需要先執行下面這行:
SQL> shutdown abort
SQL> startup mount
SQL> alter database datafile 'filename' offline drop;
SQL> alter database open;
SQL> drop tablespace tablespace_name including contents;

9、匯出/ 匯入

匯出
1) 將資料庫 TEST 完全匯出 , 使用者名稱 system 密碼 manager 匯出到 D:daochu.dmp 中
exp system/[email protected] file=d: / daochu.dmp full=y
2) 將資料庫中 system 使用者與 sys 使用者的表匯出
exp system/[email protected] file=d: / daochu.dmp owner=(system,sys)
3) 將資料庫中的表 inner_notify 、 notify_staff_relat 匯出
exp aichannel/[email protected] file= d: / datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)

4) 將資料庫中的表 table1 中的欄位 filed1 以 "00" 打頭的資料匯出
exp system/[email protected] file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的匯出,對於壓縮,既用 winzip 把 dmp 檔案可以很好的壓縮。
也可以在上面命令後面 加上 compress=y 來實現。

匯入

1) 將 D:daochu.dmp 中的資料匯入 TEST 資料庫中。

imp system/[email protected] file=d:daochu.dmp
imp aichannel/[email protected] full=y file=d:datanewsmgnt.dmp ignore=y
上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。在後面加上 ignore=y 就可以了。

2) 將 d:daochu.dmp 中的表 table1 匯入 imp system/[email protected] file=d:daochu.dmp tables=(table1)

基本上上面的匯入匯出夠用了。不少情況要先是將表徹底刪除,然後匯入。

注意:
操作者要有足夠的許可權,許可權不夠它會提示。
資料庫時可以連上的。可以用 tnsping TEST 來獲得資料庫 TEST 能否連上。

10 、 給使用者增加匯入資料許可權的操作

1) 啟動 sql*puls
2) 以 system/manager 登陸
3)create user 使用者名稱 IDENTIFIED BY 密碼

4)GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,

DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,

DBA,CONNECT,RESOURCE,CREATE SESSION TO 使用者名稱字

5) 進入 dmp 檔案所在的目錄 ,
imp userid=system/manager full=y file=*.dmp
或者 imp userid=system/manager full=y file=filename.dmp

相關推薦

linux系統啟動Oracle服務建立空間使用者

一、啟動oracle服務 Linux系統在Oracle使用者下可以用ps -ef|grep ora檢視,是否有Oracle的程序,如果有,大多數情況說明啟動了,為了更進一步驗證,可以登入一下,或檢視alert日誌 如果沒啟動,就可以在Oracle使用者下執行以下命令 單機

Linux啟動Oracle服務

Linux下啟動Oracle服務 在 Linux下啟動Oracle服務需要下面兩步: 啟動lsnrctl監聽。 啟動資料庫例項。 啟動lsnrctl監聽 首先以oracle使用者登入系統 進入資料庫目錄 $ cd /home/oracle/ap

Linux啟動Oracle服務監聽程序

quit 啟動 設置 程序 acl startup ash sta conn $ su – oracle $ sqlplus / nolog sql> conn / as sysdba sql> startup #啟動

1116_Docker在Linux系統安裝(Ubutu紅帽Centos等)

  2017年08月17日 13:24:41 small_to_large 閱讀數:996 標籤: docker linux ubuntu 更多 個人分類: docker Docker支援的安裝方式(Docker有很多種安裝的選擇,其中支援最好的是Ubuntu系統。)這裡提

linux系統python虛擬環境的建立

本文使用的系統是ubuntu16.04 1.python虛擬環境安裝 sudo apt-get install python-virtualenv sudo easy_install virtualenvwrapper 上述工具裝好後找不到mkvirtualen

linux系統【使用者切換登出鎖住螢幕】

使用su命令來切換使用者,可以從root使用者切換到普通使用者,也可以從普通使用者切換到root使用者 su 或者 su - root  或者 su admin 檢視當前線上使用者w 或者 who -a USER     TTY      FROM            

Linux系統Oracle資料庫的備份與還原

資料備份: 1.使用Linux系統下的資料庫管理員賬號連線linux終端。 2. 執行以下語句,建立“bak_dir”資料夾。 mkdir bak_dir 3. 執行以下語句,為“bak_dir”資料夾賦予讀、寫和執行許可權。 chmod 777 bak_dir 4.

Linux系統對NFS服務安全加固的方法

NFS(Network File System)是 FreeBSD 支援的一種檔案系統,它允許網路中的計算機之間通過 TCP/IP 網路共享資源。不正確的配置和使用 NFS,會帶來安全問題。 概述 NFS 的不安全性,主要體現於以下 4 個方面: 缺少訪問控制機制 沒有真正的

Linux系統安裝nginx服務

必要軟體環境 #yum install wget 因為Nginx以來與gcc的編譯環境,所以,在mini centos中需要安裝編譯環境來使Nginx能夠編譯起來。 #yum install gcc-

Linux平臺啟動oracle 11g EM控制檯

  當我們的oracle伺服器是使用的Linux/Unix系統時,我們從windows或者其他的客戶端想用啟動oracle的EM工具瞭解一些系統系統資訊時 可以採用如下方式: 首先在伺服器端開啟一個視窗,輸入如下命令:emctl start [[email pro

Linux系統PXE裝機服務的搭建與部署(附完整命令與截圖)

前言 在大規模安裝伺服器時,需要批量自動化方法來安裝伺服器,來減少日常的工作量。 PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使計算機通過網路而不是從本地硬碟、光碟機等裝置啟動。現代的網絡卡,一般都內

Linux系統MPICH的安裝配置HelloWorld程式演示

我們在學習並行這門課的時候使用MPI來講解課程例項的,我是在VMware下安裝了CentOS來跑的,root許可權有風險,操作需謹慎,所以我是在使用者下安裝的。 MPICH3是MPI(Message-Passing Interface)的一個應用實現。所以

WindowsLinux系統,虛擬環境安裝的全面說明詳細步驟

虛擬環境的建立和使用 用途: ​ 1、在同一臺電腦安裝同一個包的不同版本 2、記錄專案所用的所有的包的版本,方便部署。 如何使用: 1、建立虛擬環境 mkvirtualenv 虛擬環境名 -p python程式(版本)建立好的虛擬環境放置在~/.virtualenvs/虛擬環境名 目錄中 2、

oracle sql語句建立空間使用者並給使用者賦予許可權

--建立表空間、大小100m,自增長50m ,最大為 2G;位置: 'h:\app\a.dbf' create tablespace 表空間名 datafile 'h:\app\a.dbf' size 100m autoextend on next 50m maxsize 20480m ext

ORACLE 12C建立空間新使用者

首先是關於ORACLE 12C的新特性,這部分內容轉載自https://www.cnblogs.com/kerrycode/p/3386917.html,如有轉載限制,請聯絡我  Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C資料庫引入的多租使用者環境(Multitena

oracle一個建立使用者建立空間授權的完整過程

<轉載> 原文地址: http://skyuck.iteye.com/blog/847859 1.首先我們可以用scott使用者以sysdba的身份登入oracle. Sql程式碼   conn scott/tiger as sysdba 

linux系統鍵盤按鍵的重新對映——xmodmap工具xev工具

    大家會不會有時候,感覺鍵盤上的某幾個鍵用起來不是很方便,打字打久了很容易手指頭疼呢?    例如大家使用vim編輯器時, 經常需要使用到esc鍵,而該鍵在左上角,很不方便的。再比如寫程式的時候,經常會使用到shift鍵與其它鍵的組合等。把鍵盤按鍵進行

oracle 解鎖建立空間及備份恢復

1  在PL/SQL中解鎖使用者並且授予許可權的SQL,例如給scott使用者解鎖: ALTERUSER SCOTT ACCOUNT UNLOCK; 2  給該使用者相應的許可權: grant connect,createtable,createview,createa

shell指令碼操作oracle刪除空間建立空間刪除使用者

#!/bin/sh oraclehome=$ORACLE_HOME echo $oraclehome localdir="/oracle/data" echo $localdir #刪除已經存在的臨時dmp檔案 rm -rf $localdir/$2temp.dmp rmresult=$? echo "r

Oracle建立空間用戶

creat 增長 pac files tor initial ide efault start Oracle建立表空間和用戶 建立表空間和用戶的步驟: 用戶 建立:create user 用戶名 identified by