Geeks With Blogs

Scott Van Vliet Once a Developer, Always a Developer

As part of our configuration management process with our offshore team, we often have to recreate our database schema in Oracle by dropping the schema owner and recreating that user as part of the create/import scripts delivered with a build. However, when trying to perform this task in our onshore Development, QA or UAT environments we are faced with an issue where the user could not be dropped due to the fact that said user was currently connected:

DROP USER <user_to_drop> CASCADE
*
ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected

However, when checking the V$SESSION system table, the user was not listed as being connected or having an active session with the database. Perplexed, we looked around at some other clues, and determined that while the user did not have an active session with the database, its connection was still valid and pooled by the ASP.NET Web process. Thus, we recycled the AppPool in which the application was hosted and – viola! The drop succeeded.

We've now automated this process and recycle the AppPool programmatically. Below is the Web service used to list the available AppPools and individually recycle them.

using System;

using System.Web;

using System.Web.Services;

using System.Web.Services.Protocols;

using System.DirectoryServices;

using System.Collections.Generic;

 

[WebService(Namespace = "http://tempuri.org")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

public class AppServerService : System.Web.Services.WebService

{

    public AppServerService ()

    {

    }

 

    private const string AppPoolDirectoryEntryPath = "IIS://localhost/W3SVC/AppPools";

 

    [WebMethod]

    public List<string> GetAppPoolNames()

    {

        List<string> appPoolList = new List<string>();

 

        using (DirectoryEntry appPoolEntry =

                 new DirectoryEntry(AppPoolDirectoryEntryPath))

        {

            foreach (DirectoryEntry appPool in appPoolEntry.Children)

            {

                appPoolList.Add(appPool.Name);

               

                appPool.Close();

                appPool.Dispose();

            }

        }

 

        return appPoolList;

    }

 

    [WebMethod]

    public AppPoolRestartResponse RecycleAppPool(string appPoolName)

    {

        if (appPoolName == null)

        {

            throw new ArgumentNullException("appPoolName");

        }

 

        AppPoolRestartResponse response = new AppPoolRestartResponse();

        using (DirectoryEntry appPool = new DirectoryEntry(

                 String.Format("{0}/{1}", AppPoolDirectoryEntryPath, appPoolName)))

        {

            try

            {

                appPool.Invoke("Recycle");

 

                response.Successful = true;

                response.Message = String.Format(

                  "Application Pool \"{0}\" was recycled succesfully at {1:HH:mm:ss}.",

                  appPool.Name, DateTime.Now);

            }

            catch (Exception e)

            {

                response.Successful = true;

                response.Message = String.Format(

                  "Application Pool \"{0}\" failed to recycle: \"{1}\".",

                  appPool.Name, e.Message);

            }

        }

 

        return response;

    }

 

    /// <summary>

    ///

    /// </summary>

    public class AppPoolRestartResponse

    {

        private bool _successful;

        private string _message;

 

        public bool Successful

        {

            get { return _successful; }

            set { _successful = value; }

        }

 

        public string Message

        {

            get { return _message; }

            set { _message = value; }

        }    

    }

   

}

Note that in order for this Web service to work correctly, you must be authenticated to the Web service as an local administrator of the machine, or enable impersonation in Web.config for a user with the appropriate privelleges.

Posted on Tuesday, January 23, 2007 10:01 PM ASP.NET , Oracle | Back to top


Comments on this post: How to Drop an Oracle Schema / User locked by ASP.NET

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Thank you so much for sharing this wonderful idea. This is a useful information as I was trying to figure out how the program works. -
Marla Ahlgrimm
Left by Lalaine Peter on Mar 19, 2015 10:15 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Wow, cool post. I’d like to write like this too – taking time and real hard work to make a great article…
pha thai bang thuoc
Left by Susu on Jun 01, 2017 9:17 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Câu hỏi về chi phí phá thai luôn được các chị em quan tâm, vậy phá thai hết bao nhiêu tiền?
Left by suga on Jun 21, 2017 7:24 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Nhiều chị em còn có thắc về cách phá thai 1 tháng tuổi. Hãy đến với phòng khám phụ khoa thái hà chị em nhé!
Left by suga on Jun 21, 2017 7:26 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Bỏ thai bằng thuốc nhiều rất trầm trọng đến sức khỏe.

Sử dụng thuốc phá thai đã khiến một nàng sống tại thôn Văn Cao, tỉnh Thanh Hải, Trung Quốc đã tử vong dưới đây ví như tiến hành 7 lần uống thuốc phá thai trong 12 tháng bởi chồng của người phụ nữ một mực sở hữu ý định vợ cần phải đẻ con trai theo ý muốn.

Đôi vợ chồng này đã có một đứa bé gái 4 tuổi, cùng gia đình người chồng luôn mong đã dự kiến có 1 cu cậu để nối dõi tông con đường cần phải đã khiến người vợ cần phải phá thai nhiều lần trong thời kì ngắn khiến cơ thể của cô đã bị tác động nặng nề. lây lan thông tỉnh Hồ Bắc đưa tin bạn trên đã kiểm tra giới tính của con bằng cách thức tiêu dùng tia X, cộng sở hữu nếu như nhìn ra đó là con gái thì chồng cô đã bắt cô chấm dứt thai kỳ .



Sau khi 7 lần sở hữu chửa đều là bé nữ, người chồng đã chọn lọc chia tay người vợ và bồi thường 26.000 nhân dân tệ tương đương 180000000 đồng nhằm điều trị những hậu quả sau nhiều lần chấm dứt thai nghén . tuy nhiên thai phụ này rồi sau ấy đã không qua khỏi cơn nguy kịch.



Chuyện xem trước trai gái trước nếu như sinh tại Trung Quốc là việc gây ra bất hợp pháp, vài bác sỹ trong lĩnh vực này đều không có giấy phép quan hệ bên cạnh đó là do nhu cầu lớn trong văn hóa Trung Quốc đó là trọng anh em khinh nữ cần nhiều nơi vẫn tùy nhân tiện thực hành .



(Hình ảnh minh họa)

Chấm dứt thai nghén bằng thuốc nguy hại như thế nào?

Mất cân bằng cách thức sử dụng nội tiết tố

chấm dứt thai nghén bằng phương pháp dùng bất nhắc hướng kết thúc công đoạn thai kỳ nào cũng có thể gây khi nội tiết tố bên trong cơ thể bỗng dựng mắc rối loạn cùng đương nhiên điều này với nguy cơ gây sự mất cân đối nội tiết tố trong cơ thể, với thể gây nên tác động bộ phận sinh sản khoảng 3-6 tháng.

Vết thương cổ tử cung

Trong tử cung với nguy cơ có các mô mềm trên thành cổ tử cung. Chính vì thế nếu như chị em thực thi thực hành 1 cuộc kết thúc thai kỳ có khả năng tác động xấu trở lại thành cổ tử cung cùng có với nguy cơ gây ra 1 số vết sẹo, gây những lần với bầu dưới đây trở lên khó khăn hơn vì trứng mang khả năng sẽ không gây ra tổ đúng nơi.



Thai chết lưu

Bào thai chết lưu là hiện tượng thai bị mắc chết tuy nhiên vẫn nằm lại trong tử cung của người mẹ. Điều ko tốt đối với người bị mắc thai lưu là ối bị mắc vỡ sớm khi chưa có hiện tượng sảy hoặc chuyển dạ.



tới nơi màng ối rách, vi khuẩn sẽ tới buồng ối và dạ con, gây lây khuẩn , tạo điều kiện nếu vi rút phát triển lan truyền đi tới buồng tử cung, cổ tử cung, âm đạo và một vài cơ quan phụ cận , gây trường hợp nhiễm trùng cực kỳ nặng.

ác hại đến tính mạng

Chuyện bỏ thai sở hữu thể khiến một số chị gái mắc băng huyết, 1 số bộ phận sinh sản bị mắc tổn thương nặng nề, thai chết lưu, nhiễm trùng… vài điều này đều đe dọa quay lại tính mạng của 1 số bạn nữ .

Một vàii y bác sĩ đều khuyên rằng các nàng tuyệt đối không được tùy tiện chấm dứt thai kỳ ví như không cần phải là một số tình huống bắt buộc như: thai ngoài tử cung, thai chết lưu, dị tật thai nhi,…Nếu bắt buộc cần chấm dứt thai nghén thì cần phải được thực hiện ở các địa chỉ phá thai đảm bảo cộng tuyệt đối không đựng tự tiện sử dụng một vài giải pháp chấm dứt thai kỳ trên nhà.
Left by phong kham on Jul 21, 2017 9:25 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
http://phongkhamthaiha.com/
Left by phong kham on Sep 28, 2017 12:06 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
http://phongkhamthaiha.com/
phong kham
Left by phong kham thai ha on Sep 28, 2017 12:08 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
đánh giá phòng khám đa khoa đại đông có uy tín không và thông tin về danh sách địa chỉ phong kham nam khoa chất lượng nhất tại tphcm
Left by phong kham dai dong on Oct 03, 2017 9:30 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Bạn đang mắc phải các bệnh nam khoa? phòng khám nam khoa Thành Đức sẽ giúp bạn chữa trị sớm trước khi gặp nguy hiểm về sức khỏe.
Địa chỉ liên hệ:
Phòng khám nam khoa Thành Đức - Uy tín tại Hà Nội
Số 5, Khuất Duy Tiến, Thanh Xuân, Hà Nội
0166 2286 888
Website: http://namkhoathanhduc.com/
Left by Nam Khoa Thành Đức on Dec 05, 2017 12:29 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Thank you very much. I did follow you and I was successful and here is my website: xuất tinh ngược
Left by Nam Khoa Thanh Duc on Dec 05, 2017 12:33 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Thank for share, I tried and succeeded, here is my website: hinh anh benh tri
Left by phong kham benh tri on Dec 24, 2017 7:20 PM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Phòng khám Đa khoa Hưng Thịnh chuyên điều trị các bệnh lý Phụ khoa, Nam khoa, bệnh hậu môn - trực trang, bệnh xã hội uy tín và chất lượng tại khu vực Hà Nội và các tỉnh lân cận. Đội ngũ Y, bác sĩ phòng khám hội tụ đầy đủ cả chuyên môn và y đức, luôn hết lòng trong công tác cứu chữa bệnh nhân. Bên cạnh đó, phòng khám luôn không ngừng áp dụng thành quả khoa học kĩ thuật tiên tiến vào quá trình thăm khám, tìm ra nguyên nhân và phương pháp điều trị tối ưu nhất cho từng căn bệnh.
Website : http://namkhoahungthinh.vn
Left by namkhoahungthinh on Jan 18, 2018 7:05 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
thank for share
namkhoahungthinh.vn
Left by phong kham hung thinh on Jan 18, 2018 7:06 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
I came to know more about How to Drop an Oracle Schema / User locked by ASP.NET from this blog. This is the first time I came across such a blog. However, there are no clear indications regarding what it is for. Do include more details regarding it in your future posts. private tours washington dc
Left by Taylor on Feb 15, 2018 2:44 AM

# re: How to Drop an Oracle Schema / User locked by ASP.NET
Requesting Gravatar...
Nhiều người băn khoăn không biết mổ trĩ ở đâu tốt , vậy nên đến đâu?
Left by Nhu Nguyen on Apr 19, 2018 12:18 AM

Your comment:
 (will show your gravatar)


Copyright © svanvliet | Powered by: GeeksWithBlogs.net