初始環境:阿里云輕量應用服務器已經安裝Oracle19c
具體目標:配置Oracle Database 19c
目錄
- 第一步:切換到Oracle命令列
- 第二步:新建用戶和表空間
- 第三步:切換用戶
- 第四步:在當前用戶下創建一些表
- 第五步:給剛才的表添加一些資料
- 第六步:下載最新版的instantclient
- 第七步:Navicat配置
第一步:切換到Oracle命令列
1.修改root用戶密碼,千萬記得這一步,不然你會后悔的,
執行命令 passwd ,輸入兩次123456,就可以了,

2.切換到oracle用戶下,執行命令su - oracle:

3.查看監聽狀態,執行命令 lsnrctl status:

監聽啟動,執行命令 lsnrctl start:

監聽關閉,執行命令 lsnrctl stop;
4.登錄oracle資料庫,執行命令sqlplus / as sysdba,

第二步:新建用戶和表空間
1.啟動實體,執行命令 startup:

關閉實體,執行命令 shutdown;
2.創建臨時表空間:
--查詢臨時表空間檔案的絕對路徑,如果需要的話,可以通過查詢來寫定絕對路徑,一般用${ORACLE_HOME}就可以了
select name from v$tempfile;
create temporary tablespace TESTLEAF_TEMP tempfile '${ORACLE_HOME}\oradata\TESTLEAF_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;

3.創建正式表空間:
--查詢用戶表空間檔案的絕對路徑:
select name from v$datafile;
create tablespace TESTLEAF datafile '${ORACLE_HOME}\oradata\TESTLEAF.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);

4.創建用戶和密碼,指定上邊創建的臨時表空間和表空間(創建用戶的時候用戶名以C##開頭即可,防止提示用戶名無效):
create user C##TESTLEAF identified by 123456 default tablespace TESTLEAF temporary tablespace TESTLEAF_TEMP;

5.修改用戶名名稱
查詢需要修改的用戶名的編號:
select user#,name from user$;

(取對應的user#,這里user#等于113)
修改用戶名稱:
update user$ set name='TESTLEAF' where user#=113;

6.解決Oracle修改用戶名后,再次修改該用戶密碼,會報‘找不到該用戶’的問題:
ALTER SYSTEM FLUSH SHARED_POOL;

7.修改該用戶對應的密碼:
ALTER USER TESTLEAF IDENTIFIED BY 123456;

8.用戶賦權:
grant dba to TESTLEAF;
grant connect,resource to TESTLEAF;
grant select any table to TESTLEAF;
grant delete any table to TESTLEAF;
grant update any table to TESTLEAF;
grant insert any table to TESTLEAF;
#操作表空間的權限
grant unlimited tablespace to TESTLEAF;


9.查看用戶所有權限:
select * from dba_sys_privs where grantee = 'TESTLEAF';
select * from dba_role_privs where grantee = 'TESTLEAF';
第三步:切換用戶
1.切換到剛剛創建的用戶(用戶名+密碼):
conn TESTLEAF/123456;
2.檢查當前用戶:
show user;

第四步:在當前用戶下創建一些表
1.創建表Customers
CREATE TABLE Customers
(
cust_id char(10) NOT NULL ,
cust_name char(50) NOT NULL ,
cust_address char(50) NULL ,
cust_city char(50) NULL ,
cust_state char(5) NULL ,
cust_zip char(10) NULL ,
cust_country char(50) NULL ,
cust_contact char(50) NULL ,
cust_email char(255) NULL
);
2.創建表OrderItems
CREATE TABLE OrderItems
(
order_num int NOT NULL ,
order_item int NOT NULL ,
prod_id char(10) NOT NULL ,
quantity int NOT NULL ,
item_price decimal(8,2) NOT NULL
);
3.創建表Orders
CREATE TABLE Orders
(
order_num int NOT NULL ,
order_date date NOT NULL ,
cust_id char(10) NOT NULL
);
4.創建表Products
CREATE TABLE Products
(
prod_id char(10) NOT NULL ,
vend_id char(10) NOT NULL ,
prod_name char(255) NOT NULL ,
prod_price decimal(8,2) NOT NULL ,
prod_desc varchar(1000) NULL
);
5.創建表Vendors
CREATE TABLE Vendors
(
vend_id char(10) NOT NULL ,
vend_name char(50) NOT NULL ,
vend_address char(50) NULL ,
vend_city char(50) NULL ,
vend_state char(5) NULL ,
vend_zip char(10) NULL ,
vend_country char(50) NULL
);
6.定義主鍵
ALTER TABLE Customers ADD CONSTRAINT PK_Customers PRIMARY KEY (cust_id);
ALTER TABLE OrderItems ADD CONSTRAINT PK_OrderItems PRIMARY KEY (order_num, order_item);
ALTER TABLE Orders ADD CONSTRAINT PK_Orders PRIMARY KEY (order_num);
ALTER TABLE Products ADD CONSTRAINT PK_Products PRIMARY KEY (prod_id);
ALTER TABLE Vendors ADD CONSTRAINT PK_Vendors PRIMARY KEY (vend_id);
7.定義外鍵
ALTER TABLE OrderItems
ADD CONSTRAINT FK_OrderItems_Orders FOREIGN KEY (order_num) REFERENCES Orders (order_num);
ALTER TABLE OrderItems
ADD CONSTRAINT FK_OrderItems_Products FOREIGN KEY (prod_id) REFERENCES Products (prod_id);
ALTER TABLE Orders
ADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (cust_id) REFERENCES Customers (cust_id);
ALTER TABLE Products
ADD CONSTRAINT FK_Products_Vendors FOREIGN KEY (vend_id) REFERENCES Vendors (vend_id);
第五步:給剛才的表添加一些資料
1.給表Customers添加資料
INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES('1000000001', 'Village Toys', '200 Maple Lane', 'Detroit', 'MI', '44444', 'USA', 'John Smith', 'sales@villagetoys.com');
INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)
VALUES('1000000002', 'Kids Place', '333 South Lake Drive', 'Columbus', 'OH', '43333', 'USA', 'Michelle Green');
INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES('1000000003', 'Fun4All', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'jjones@fun4all.com');
INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact, cust_email)
VALUES('1000000004', 'Fun4All', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'USA', 'Denise L. Stephens', 'dstephens@fun4all.com');
INSERT INTO Customers(cust_id, cust_name, cust_address, cust_city, cust_state, cust_zip, cust_country, cust_contact)
VALUES('1000000005', 'The Toy Store', '4545 53rd Street', 'Chicago', 'IL', '54545', 'USA', 'Kim Howard');
2.給表Vendors添加資料
INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES('BRS01','Bears R Us','123 Main Street','Bear Town','MI','44444', 'USA');
INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES('BRE02','Bear Emporium','500 Park Street','Anytown','OH','44333', 'USA');
INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES('DLL01','Doll House Inc.','555 High Street','Dollsville','CA','99999', 'USA');
INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES('FRB01','Furball Inc.','1000 5th Avenue','New York','NY','11111', 'USA');
INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES('FNG01','Fun and Games','42 Galaxy Road','London', NULL,'N16 6PS', 'England');
INSERT INTO Vendors(vend_id, vend_name, vend_address, vend_city, vend_state, vend_zip, vend_country)
VALUES('JTS01','Jouets et ours','1 Rue Amusement','Paris', NULL,'45678', 'France');
3.給表Products添加資料
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('BR01', 'BRS01', '8 inch teddy bear', 5.99, '8 inch teddy bear, comes with cap and jacket');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('BR02', 'BRS01', '12 inch teddy bear', 8.99, '12 inch teddy bear, comes with cap and jacket');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('BR03', 'BRS01', '18 inch teddy bear', 11.99, '18 inch teddy bear, comes with cap and jacket');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('BNBG01', 'DLL01', 'Fish bean bag toy', 3.49, 'Fish bean bag toy, complete with bean bag worms with which to feed it');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('BNBG02', 'DLL01', 'Bird bean bag toy', 3.49, 'Bird bean bag toy, eggs are not included');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('BNBG03', 'DLL01', 'Rabbit bean bag toy', 3.49, 'Rabbit bean bag toy, comes with bean bag carrots');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('RGAN01', 'DLL01', 'Raggedy Ann', 4.99, '18 inch Raggedy Ann doll');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('RYL01', 'FNG01', 'King doll', 9.49, '12 inch king doll with royal garments and crown');
INSERT INTO Products(prod_id, vend_id, prod_name, prod_price, prod_desc)
VALUES('RYL02', 'FNG01', 'Queen doll', 9.49, '12 inch queen doll with royal garments and crown');
4.給表Orders添加資料
INSERT INTO Orders(order_num, order_date, cust_id)
VALUES(20005, TO_DATE('2012-05-01', 'yyyy-mm-dd'), '1000000001');
INSERT INTO Orders(order_num, order_date, cust_id)
VALUES(20006, TO_DATE('2012-01-12', 'yyyy-mm-dd'), '1000000003');
INSERT INTO Orders(order_num, order_date, cust_id)
VALUES(20007, TO_DATE('2012-01-30', 'yyyy-mm-dd'), '1000000004');
INSERT INTO Orders(order_num, order_date, cust_id)
VALUES(20008, TO_DATE('2012-02-03', 'yyyy-mm-dd'), '1000000005');
INSERT INTO Orders(order_num, order_date, cust_id)
VALUES(20009, TO_DATE('2012-02-08', 'yyyy-mm-dd'), '1000000001');
5.給表OrderItems添加資料
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20005, 1, 'BR01', 100, 5.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20005, 2, 'BR03', 100, 10.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20006, 1, 'BR01', 20, 5.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20006, 2, 'BR02', 10, 8.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20006, 3, 'BR03', 10, 11.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20007, 1, 'BR03', 50, 11.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20007, 2, 'BNBG01', 100, 2.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20007, 3, 'BNBG02', 100, 2.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20007, 4, 'BNBG03', 100, 2.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20007, 5, 'RGAN01', 50, 4.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20008, 1, 'RGAN01', 5, 4.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20008, 2, 'BR03', 5, 11.99);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20008, 3, 'BNBG01', 10, 3.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20008, 4, 'BNBG02', 10, 3.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20008, 5, 'BNBG03', 10, 3.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 1, 'BNBG01', 250, 2.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 2, 'BNBG02', 250, 2.49);
INSERT INTO OrderItems(order_num, order_item, prod_id, quantity, item_price)
VALUES(20009, 3, 'BNBG03', 250, 2.49);
第六步:下載最新版的instantclient
1.由于Oracle官網下載較慢,于是提供了下方的百度網盤鏈接,
鏈接: https://pan.baidu.com/s/1CWR5ka5z7WDZ91iM0UsUMg 提取碼: leaf
感興趣的小伙伴也可以按照下面的方法在Oracle官網進行下載,
2.打開網站:https://www.oracle.com/database/technologies/instant-client.html
3.點擊“Download”:

4.點擊“Instant Client for Microsoft Windows (x64)”:

5.依次點擊下載:Basic Package、SQL*Plus Package、SDK Package;



6.下載后進行解壓,放進同一個檔案夾

第七步:Navicat配置
1.打開Navicat,點擊“工具”》“選項”:

2.點擊“環境”,選擇好剛才下載的檔案夾里面對應的sqlplus.exe檔案和oci.dll檔案,點擊“確定”,并重啟Navicat,這樣在Navicat中就可以對Oracle資料庫使用sqlplus命令列界面了,

3.阿里云防火墻添加1521埠


不然就會出現如下錯誤:ORA-12170

4.服務名查詢
在資料庫中輸入查詢陳述句,
select global_name from global_name;

我這里是ORCLCDB,把這個記住,
5.Navicat使用剛才創建的用戶新建連接

6.找到與該用戶名相同的表空間,可以看到剛才創建的五張表,里面的資料也別無二致;

免責宣告:
1.撰寫此文是為了更好地學習Oracle的配置,如果損害了有關人的利益,請聯系洗掉;
2.如果文中描述欠妥,請在評論中進行指正;
3.文字撰寫不易,若感覺有用,點贊收藏關注會讓博主很開心哦;
4.此外,本文支持任何形式的轉載,轉載請注明出處,非常感謝!!!
本文源自:https://blog.csdn.net/testleaf/article/details/109096654
博客園cnblogs同號,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/175886.html
標籤:其他
上一篇:oracle-將.dmp檔案匯入linux服務器下的oracle資料庫中-方式二&&利用Windows自帶的命令列匯入(推薦)實體-親測有效
